Qwen-ASR eventos do cliente
Referência do cliente WebSocket
Eventos que você envia ao servidor durante um Qwen-ASR Sessão WebSocket em tempo real.
Conexão
Conecte-se a:
wss://maas.qwencloudapi.com/api-ws/v1/realtime?model={model_name}
Autentique com estes cabeçalhos:
Authorization: Bearer $DASHSCOPE_API_KEY
OpenAI-Beta: realtime=v1
Substituir {model_name} com um modelo compatível como qwen3-asr-flash-realtime e $DASHSCOPE_API_KEY com sua chave de API.
Para obter uma visão geral dos recursos e um exemplo de código, consulte Reconhecimento de fala em tempo real. Para eventos de servidor, consulte Eventos de servidor para Qwen-ASR-Realtime.
Ciclo de vida do evento
Uma sessão típica:
- Abra uma conexão WebSocket.
- Enviar
session.updatepara definir o formato de áudio, idioma e opções de VAD. - Enviar
input_audio_buffer.appendrepetidamente para transmitir áudio. - No modo Manual, envie
input_audio_buffer.commitpara acionar o reconhecimento. No modo VAD, o servidor aciona o reconhecimento automaticamente. - Enviar
session.finishpara encerrar a sessão. Desconecte após recebersession.finished.
sessão.atualização
Envie logo após conectar para definir o formato de áudio, idioma e opções de detecção de atividade de voz (VAD). Os padrões se aplicam se omitidos.
Em caso de sucesso, o servidor responde com session.updated.
{
"event_id": "event_123",
"type": "session.update",
"session": {
"input_audio_format": "pcm",
"sample_rate": 16000,
"input_audio_transcription": {
"language": "zh"
},
"turn_detection": {
"type": "server_vad",
"threshold": 0.0,
"silence_duration_ms": 400
}
}
}
Valor fixo: session.update.
Um ID de evento exclusivo.
Configuração da sessão.
Formato de codificação de áudio. Valores válidos: `pcm`, `opus`. Padrão: `pcm`.
Taxa de amostragem em Hz. Valores válidos: `16000`, `8000`. Padrão: `16000`. Quando definido para `8000`, o servidor aumenta a amostragem para 16.000 Hz, o que adiciona menor latência. Usar `8000` apenas para fontes nativas de 8 kHz, como áudio de telefonia.
Configurações de reconhecimento.
Linguagem de áudio. Consulte [idiomas suportados](#supported-languages).
Texto de contexto para [viés contextual](/developer-guides/speech/asr-realtime#core-usage-context-biasing-qwen3-asr-flash-realtime) – texto de fundo, listas de entidades ou material de referência que melhora a precisão. Máximo de 10.000 tokens.
Configurações do VAD. Definir como `null` para desativar o [modo VAD](/developer-guides/speech/asr-realtime#interaction-flow-qwen3-asr-flash-realtime) e use [Modo manual](/developer-guides/speech/asr-realtime#interaction-flow-qwen3-asr-flash-realtime). Se presente, o modo VAD está ativado.
Valor fixo: `server_vad`.
Sensibilidade do DAV. Padrão: `0.2`. Intervalo válido: `[-1, 1]`. Valores mais baixos aumentam a sensibilidade, mas podem disparar com ruído de fundo. Valores mais altos reduzem a sensibilidade e evitam disparos falsos em ambientes ruidosos. Consulte [predefinições VAD recomendadas](#recommended-vad-presets).
Duração do silêncio em milissegundos que marca o fim do enunciado. Padrão: `800`. Intervalo válido: `[200, 6000]`. Valores mais curtos (como 300 ms) aceleram as respostas, mas podem dividir as pausas no meio da frase. Valores mais longos (como 1.200 ms) lidam melhor com as pausas, mas adicionam latência. Consulte [predefinições VAD recomendadas](#recommended-vad-presets).
Predefinições VAD recomendadas
Comece com estas predefinições e ajuste conforme necessário:
| Predefinido | limiar | silêncio_duração_ms | Melhor para |
|---|---|---|---|
| Baixa latência | 0.0 |
400 |
Interações rápidas (comandos de voz, assistência do agente) onde respostas rápidas são mais importantes do que lidar com pausas longas |
| Equilibrado (padrão) | 0.2 |
800 |
Velocidade e precisão de equilíbrio de transcrição geral |
Idiomas suportados
| Código | Idioma |
|---|---|
| z | Chinês (mandarim, sichuanês, minnan e wu) |
| sim | Cantonês |
| pt | Inglês |
| sim | Japonês |
| de | Alemão |
| ko | Coreano |
| ru | Russo |
| fr | Francês |
| pt | Português |
| ar | Árabe |
| isso | Italiano |
| é | Espanhol |
| oi | Hindi |
| identificação | Indonésio |
| o | Tailandês |
| tr | Turco |
| Reino Unido | Ucraniano |
| vi | Vietnamita |
| cs | Tcheco |
| da | Dinamarquês |
| arquivo | Filipino |
| fi | Finlandês |
| é | Islandês |
| senhora | Malaio |
| não | Norueguês |
| por | Polonês |
| SV | Sueco |
entrada_audio_buffer.append
Transmita pedaços de áudio para o buffer do servidor.
O comportamento difere de acordo com o modo:
-
Modo VAD: O servidor monitora o buffer em busca de atividade de voz e aciona o reconhecimento automaticamente.
-
Modo manual: Você controla os limites da expressão. Envie pedaços menores para menor latência.
O
audiocampo é codificado em Base64. No modo Manual, tamanho máximo por evento: 15 MiB. O servidor não confirma este evento.
{
"event_id": "event_2728",
"type": "input_audio_buffer.append",
"audio": "<Base64-encoded-audio-data>"
}
Valor fixo: input_audio_buffer.append.
Um ID de evento exclusivo.
Dados de áudio codificados em Base64.
entrada_audio_buffer.commit
Acione o reconhecimento de todo o áudio no buffer como uma única expressão. Use isto no modo Manual ao controlar os limites da expressão (como apertar para falar, onde o pressionamento de um botão marca o fim da fala).
Não disponível no modo VAD.
Em caso de sucesso, o servidor responde com input_audio_buffer.committed.
{
"event_id": "event_789",
"type": "input_audio_buffer.commit"
}
Valor fixo: input_audio_buffer.commit.
Um ID de evento exclusivo.
sessão.terminar
Encerre a sessão. A resposta do servidor depende se a fala foi detectada:
- Fala detectada: O servidor finaliza o reconhecimento, envia
conversation.item.input_audio_transcription.completedcom resultados, entãosession.finished. - Nenhuma fala detectada: O servidor envia
session.finisheddiretamente.
Depois de receber session.finished, desconecte o WebSocket.
{
"event_id": "event_341",
"type": "session.finish"
}
Valor fixo: session.finish.
Um ID de evento exclusivo.