Use o DashScope Java SDK para chamar o Qwen-ASR-Realtime.
Pré-requisitos
- DashScope SDK 2.22.5 ou posterior (Instalar o SDK)
- Obter uma chave de API
- Compreender o fluxo de interação entre cliente e servidor
Modos de interação
O Qwen-ASR-Realtime oferece dois modos para determinar quando processar o áudio:
Modo | enableTurnDetection | Funcionamento |
|---|---|---|
Modo VAD (padrão) |
| O servidor detecta os limites da fala usando detecção de atividade de voz (VAD) e decide quando enviar o buffer de áudio para reconhecimento. |
Modo manual |
| O cliente controla o envio do áudio chamando |
Parâmetros da solicitação
Parâmetros de conexão (OmniRealtimeParam)
Defina esses parâmetros com os métodos encadeados da classe OmniRealtimeParam.
Clique em para visualizar o código de exemplo
Clique em para visualizar o código de exemplo
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
|
| Sim | Modelo a ser usado. Exemplo: |
|
| Sim | Endpoint do serviço. China (Pequim): |
|
| Não | Chave de API. |
Configuração da sessão (OmniRealtimeConfig)
Defina esses parâmetros com os métodos encadeados da classe OmniRealtimeConfig.
Clique em para visualizar o código de exemplo
Clique em para visualizar o código de exemplo
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
|
| Sim | Modalidade de saída. Valor fixo: |
|
| Não | Ativa o VAD no lado do servidor. Quando desativado, chame |
|
| Não | Tipo de VAD. Valor fixo: |
|
| Não | Limiar de sensibilidade do VAD. Valor recomendado: Padrão: Valores menores aumentam a sensibilidade (podem gerar acionamentos por ruído de fundo). Valores maiores reduzem a sensibilidade e ajudam a evitar acionamentos falsos em ambientes ruidosos. |
|
| Não | Duração do silêncio em milissegundos que marca o fim de uma expressão. Valor recomendado: Padrão: Durações mais curtas (por exemplo, 300 ms) aceleram as respostas, mas podem dividir pausas naturais. Durações mais longas (por exemplo, 1200 ms) lidam melhor com pausas, mas aumentam a latência. |
|
| Não | Configurações de reconhecimento de fala. Consulte Parâmetros de transcrição. |
Parâmetros de transcrição (OmniRealtimeTranscriptionParam)
Defina esses parâmetros com os métodos setter da classe OmniRealtimeTranscriptionParam.
Clique em para visualizar o código de exemplo
Clique em para visualizar o código de exemplo
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
|
| Não | Idioma da source de áudio. Para idiomas compatíveis, consulte Idiomas suportados. |
|
| Não | Taxa de amostragem de áudio em Hz. Valores válidos: Padrão: Definir como |
|
| Não | Formato de codificação de áudio. Valores válidos: |
|
| Não | Texto de contexto para viés contextual. Forneça texto de base, vocabulários de entidades ou material de referência para melhorar a precisão do reconhecimento. Máximo: 10.000 tokens. |
Interfaces principais
OmniRealtimeConversation
Importação: com.alibaba.dashscope.audio.omni.OmniRealtimeConversation
Esta classe gerencia o ciclo de vida do WebSocket: conexão ao servidor, envio de áudio e encerramento da sessão.
Crie uma conversa
Conectar-se ao servidor
NoApiKeyException, InterruptedException.
Configure a sessão
Enviar dados de áudio
- Modo VAD (
enableTurnDetection=true): O servidor detecta os limites da fala e decide quando processar o buffer. - Modo manual (
enableTurnDetection=false): O áudio se acumula no buffer até você chamarcommit()para acionar o reconhecimento. Cada evento pode conter até 15 MiB de dados de áudio.
Confirmar o buffer de áudio
Este método está disponível apenas no modo manual ( enableTurnDetection=false ). Ocorre um erro se o buffer de áudio estiver vazio.
Encerrar a sessão
- Modo VAD: Após terminar de enviar áudio.
- Modo manual: Após chamar
commit().
Cancele uma resposta
Fechar a conexão
Obter IDs de sessão e resposta
getSessionId()retorna o ID da sessão da tarefa atual.getResponseId()retorna o ID da resposta mais recente do servidor.
OmniRealtimeCallback
Importação: com.alibaba.dashscope.audio.omni.OmniRealtimeCallback
Herde esta classe e implemente os métodos de callback para lidar com eventos do servidor.
Método | Parâmetros | Acionado quando |
|---|---|---|
| Nenhum | A conexão WebSocket é estabelecida. |
|
| Um evento do servidor é recebido. Analise o campo |
|
| A conexão WebSocket é fechada. |