QwenCloudBRASIL
Tradução de apoio para consulta. Código e identificadores técnicos preservados. Consultar referência original ↗

Qwen3-TTS SDK Python em tempo real

SDK Python TTS em tempo real

Guia: consulte Conversão de texto em fala em tempo real - Qwen ou Conversão de texto em fala - Qwen para detalhes do modelo.

Pré-requisitos

Requer DashScope Python SDK 1.25.11 ou posterior.

Primeiros passos

Dois modos de interação estão disponíveis: server commit (o servidor decide o tempo de síntese) e commit (o cliente aciona a síntese manualmente). Para exemplos completos e tutoriais, consulte Conversão de texto em fala em tempo real.

Parâmetros de solicitação

Defina-os no QwenTtsRealtime construtor.

Parâmetro Tipo Obrigatório Descrição
modelo Sim Nome do modelo.
url Sim wss://maas.qwencloudapi.com/api-ws/v1/realtime

Defina-os com update_session.

Parâmetro Tipo Obrigatório Descrição
voz Sim Voz para síntese. Vozes do sistema: disponíveis para Qwen3-TTS-Flash-Realtime série. Vozes personalizadas: vozes personalizadas criadas por meio de clonagem ou design de voz.
idioma_tipo Não Idioma de áudio de saída. Padrão: Auto. Usar Auto quando o idioma é incerto ou o texto mistura idiomas. Suportado: Chinese, English, German, Italian, Portuguese, Spanish, Japanese, Korean, French, Russian. Definir um idioma específico melhora a qualidade.
modo Não Modo de interação. server_commit (padrão): o servidor decide o tempo de síntese, equilibrando latência e qualidade. Melhor para a maioria dos casos de uso. commit: o cliente aciona a síntese manualmente com menor latência, mas você deve gerenciar os limites das frases.
formato Não Formato de áudio. Suportado: pcm (padrão), wav, mp3, opus. Qwen3-TTS-Flash-Realtime suporta apenas pcm.
amostra_taxa interno Não Taxa de amostragem em Hz. Suportado: 8.000, 16.000, 24.000 (padrão), 48.000. Qwen3-TTS-Flash-Realtime suporta apenas 24.000.
fala_taxa flutuar Não Multiplicador de taxa de fala. Padrão: 1,0 (normal). Faixa: [0,5, 2,0]. Não suportado por Qwen3-TTS-Flash-Realtime.
volume interno Não Volume. Padrão: 50. Faixa: [0, 100]. Não suportado por Qwen3-TTS-Flash-Realtime.
pitch_taxa flutuar Não Multiplicador de passo. Padrão: 1.0. Faixa: [0,5, 2,0]. Não suportado por Qwen3-TTS-Flash-Realtime.
bit_taxa interno Não Taxa de bits em kbps. Valores mais altos melhoram a qualidade, mas aumentam o tamanho do arquivo. Somente para opus formato. Padrão: 128. Faixa: [6, 510]. Não suportado por Qwen3-TTS-Flash-Realtime.
instruções Não Instruções de controle de síntese. Consulte TTS de streaming em tempo real para obter detalhes. Padrão: Nenhum. Máx.: 1600 fichas. Suporta chinês e inglês. O controle de instrução migrou para CosyVoice modelos. Consulte Controle de instruções.
otimizar_instruções bool Não Quando True, reescreve instructions para melhor naturalidade e expressividade. Padrão: Falso. Recomendado para controle de voz refinado. Requer instructions a ser definido. O controle de instrução migrou para CosyVoice modelos. Consulte Controle de instruções.

Interfaces principais

QwenTtsRealtime aula

Importar com from dashscope.audio.qwen_tts_realtime import QwenTtsRealtime.

Assinatura do método Eventos de resposta do servidor (via retorno de chamada) Descrição
def connect(self) -> None sessão.criada - Sessão criada. sessão.atualizada - Configuração da sessão atualizada. Conecte-se ao servidor.
def update_session(self, voice: str, response_format: AudioFormat = AudioFormat.PCM_24000HZ_MONO_16BIT, mode: str = 'server_commit', language_type: str = "Chinese", **kwargs) -> None sessão.atualizada - Configuração da sessão atualizada. Atualize a configuração da sessão. Consulte Parâmetros de solicitação para obter detalhes. Ligue imediatamente após conectar para substituir os padrões. Parâmetros inválidos retornam um erro; parâmetros válidos atualizam a configuração.
def append_text(self, text: str) -> None Nenhum Anexe texto ao buffer de entrada da nuvem. Em server_commit modo, o servidor decide quando sintetizar o texto em buffer. Em commit modo, chamada commit para desencadear a síntese.
def clear_appended_text(self) -> None entrada_text_buffer.cleared - Buffer limpo. Limpe todo o texto no buffer da nuvem.
def commit(self) -> None input_text_buffer.comprometido - Texto enviado. response.output_item.added - Item de saída adicionado. response.content_part.added - Parte de conteúdo adicionada. response.audio.delta - Dados de áudio incrementais. response.audio.done - Geração de áudio concluída. response.content_part.done - Streaming de conteúdo concluído. resposta.saída_item.done - Item de saída concluído. resposta.concluído - Resposta concluída. Envie texto em buffer e sintetize imediatamente. Retorna um erro se o buffer estiver vazio. Não é necessário em server_commit modo. Obrigatório em commit modo para acionar a síntese.
def finish(self) -> None sessão.terminada - Sessão finalizada. Termine a tarefa.
def close(self) -> None Nenhum Feche a conexão.
def get_session_id(self) -> str Nenhum Obtenha o ID da sessão atual.
def get_last_response_id(self) -> str Nenhum Obtenha o último ID de resposta.
def get_first_audio_delay(self) Nenhum Obtenha o atraso antes do primeiro pacote de áudio.

Interface de retorno de chamada (QwenTtsRealtimeCallback)

Lide com as respostas do servidor implementando métodos de retorno de chamada.

Importar com from dashscope.audio.qwen_tts_realtime import QwenTtsRealtimeCallback.

Método Parâmetros Valor de retorno Descrição
def on_open(self) -> None Nenhum Nenhum Chamado quando a conexão é estabelecida.
def on_event(self, message: str) -> None mensagem: Evento de resposta do servidor. Nenhum Chamado para respostas de API e texto/áudio gerado por modelo. Consulte Eventos do servidor.
def on_close(self, close_status_code, close_msg) -> None close_status_code: código de fechamento do WebSocket. close_msg: mensagem de fechamento do WebSocket. Nenhum Chamado quando o servidor fecha a conexão.