Tradução de apoio para consulta. Código e identificadores técnicos preservados. Consultar referência original ↗
Qwen3-TTS SDK Java em tempo real
SDK Java TTS em tempo real
Para modelos e opções de voz, consulte TTS de streaming em tempo real.
Pré-requisitos
Requer DashScope Java SDK 2.22.7 ou posterior.
Primeiros passos
Ambos os modos de interação seguem o mesmo padrão: construir QwenTtsRealtimeParam, crie um QwenTtsRealtime instância com um retorno de chamada, conecte-se, configure a sessão, envie o texto e feche. Para exemplos completos e tutoriais, consulte Conversão de texto em fala em tempo real.
- Modo de confirmação do servidor (
server_commit): O servidor decide quando sintetizar o texto em buffer. Melhor para a maioria dos casos de uso. - Modo de confirmação (
commit): O cliente chamacommit()para desencadear a síntese. Latência mais baixa, mas você deve gerenciar os limites das frases.
Parâmetros de solicitação
QwenTtsRealtimeParam
Construa um QwenTtsRealtimeParam e passe para o QwenTtsRealtime construtor.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| modelo | Corda | Sim | Nome do modelo. Consulte Modelos suportados. |
| url | Corda | Sim | Ponto de extremidade WebSocket: wss://maas.qwencloudapi.com/api-ws/v1/realtime. |
QwenTtsRealtimeConfig
Construa um QwenTtsRealtimeConfig e passe para updateSession().
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| voz | Corda | Sim | Voz para síntese. Vozes do sistema: disponíveis para Qwen3-TTS-Flash-Realtime. Consulte Vozes suportadas para amostras. Vozes personalizadas: vozes personalizadas criadas por meio de clonagem ou design de voz. |
| tipo de idioma | Corda | Não | Idioma do áudio de saída. Padrão: Auto (o modelo detecta o idioma por segmento; a precisão não é garantida). Defina um idioma específico para melhorar a qualidade do texto em um único idioma. Valores válidos: Chinese, English, German, Italian, Portuguese, Spanish, Japanese, Korean, French, Russian. |
| modo | Corda | Não | Modo de interação. server_commit (padrão): o servidor decide quando sintetizar o texto em buffer, equilibrando latência e qualidade. commit: o cliente aciona a síntese para a latência mais baixa; requer gerenciamento manual de limites de frases. |
| formato | Corda | Não | Formato de saída de áudio. Valores válidos: pcm (padrão), wav, mp3, opus. Qwen3-TTS-Flash-Realtime suporta apenas pcm. Consulte Modelos suportados. |
| taxa de amostra | interno | Não | Taxa de amostragem em Hz. Valores válidos: 8000, 16000, 24000 (padrão), 48000. Qwen3-TTS-Flash-Realtime suporta apenas 24000. Consulte Modelos suportados. |
| taxa de fala | flutuar | Não | Multiplicador de taxa de fala. Faixa: [0,5, 2,0]. Padrão: 1.0. Não suportado por Qwen3-TTS-Flash-Realtime. |
| volume | interno | Não | Volume de áudio. Faixa: [0, 100]. Padrão: 50. Não suportado por Qwen3-TTS-Flash-Realtime. |
| taxa de pitch | flutuar | Não | Multiplicador de passo. Faixa: [0,5, 2,0]. Padrão: 1.0. Não suportado por Qwen3-TTS-Flash-Realtime. |
| taxa de bits | interno | Não | Áudio taxa de bits em kbps. Faixa: [6, 510]. Padrão: 128. Somente para opus formato. Valores mais altos produzem melhor qualidade em tamanhos de arquivo maiores. Não suportado por Qwen3-TTS-Flash-Realtime. |
| instruções | Corda | Não | Texto de instrução para controlar o estilo de fala. Máximo de 1.600 tokens. Apenas chinês e inglês. O controle de instrução migrou para CosyVoice modelos. Consulte Controle de instruções. |
| otimizarInstruções | booleano | Não | Otimiza instructions para uma síntese mais natural. Padrão: false. Nenhum efeito se instructions não está definido. O controle de instrução migrou para CosyVoice modelos. Consulte Controle de instruções. |
Referência de API
QwenTtsRealtime aula
import com.alibaba.dashscope.audio.qwen_tts_realtime.QwenTtsRealtime;
| Método | Assinatura | Eventos do servidor | Descrição |
|---|---|---|---|
| conectar | public void connect() throws NoApiKeyException, InterruptedException |
sessão.criada, sessão.atualizada | Abre uma conexão WebSocket. |
| atualizarSessão | public void updateSession(QwenTtsRealtimeConfig config) |
sessão.atualizada | Atualiza a configuração da sessão. Ligue imediatamente depois connect() para substituir os padrões. O servidor valida os parâmetros e retorna um erro se for inválido. |
| anexarTexto | public void appendText(String text) |
Nenhum | Acrescenta texto ao buffer de entrada do lado do servidor. Em server_commit modo, o servidor decide quando sintetizar. Em commit modo, chamada commit() para desencadear a síntese. |
| limparAppendedText | public void clearAppendedText() |
entrada_text_buffer.cleared | Limpa todo o texto no buffer de entrada do servidor. |
| comprometer | public void commit() |
input_text_buffer.comprometido, response.output_item.added, response.content_part.added, response.audio.delta, response.audio.done, response.content_part.done, response.output_item.done, resposta.concluído | Confirma o texto armazenado em buffer e inicia a síntese. Retorna um erro se o buffer estiver vazio. Em server_commit modo, o servidor confirma automaticamente. Em commit modo, chame isso para acionar a síntese. |
| acabamento | public void finish() |
sessão.terminada | Interrompe a tarefa atual. |
| fechar | public void close() |
Nenhum | Fecha a conexão WebSocket. |
| getSessionId | public String getSessionId() |
Nenhum | Retorna o ID da sessão atual. |
| getResponseId | public String getResponseId() |
Nenhum | Retorna o ID de resposta mais recente. |
| getFirstAudioDelay | public long getFirstAudioDelay() |
Nenhum | Retorna a latência do primeiro pacote de áudio em milissegundos. |
QwenTtsRealtimeCallback interface
import com.alibaba.dashscope.audio.qwen_tts_realtime.QwenTtsRealtimeCallback;
| Método | Parâmetros | Descrição |
|---|---|---|
onOpen() |
Nenhum | Chamado quando a conexão WebSocket é aberta. |
onEvent(JsonObject message) |
message: a carga útil do evento do servidor. |
Chamado quando um evento do servidor chega. Para tipos de eventos, consulte Eventos do lado do servidor. |
onClose(int code, String reason) |
code: código de status de fechamento do WebSocket. reason: Motivo próximo. |
Chamado quando o servidor fecha a conexão. |
##Próximas etapas
- TTS de streaming em tempo real: Modelos, vozes suportadas e controle de instruções.
- Eventos do lado do servidor: referência de tipo de evento WebSocket.
- Amostras do GitHub: Mais exemplos de código.