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

FAQ de áudio e discurso

CosyVoice TTS, Qwen-Omni Em tempo real, e... Fun-ASR - perguntas comuns sobre síntese, conversa em tempo real, e reconhecimento de fala.

<a id="cosyvoice-synthesis" />

CosyVoice Síntese em tempo real

** APIS:** [Python SDK] (/api-reference/speech-synthesis/cosyvoice/python-sdk), [Java SDK] (/api-reference/speech-synthesis/cosyvoice/java-sdk), [WebSocket API] (/api-reference/speech-synthesis/cosyvoice/websocket-api)

Como faço para corrigir pronúncias imprecisas?

Use [SSML] (/developer-guides/speech/ssml), incluindo o [phoneme - Não, não./developer-guides/speech/ssml- Quando necessário.

Como faço para conseguir a conta de personagens?

Por que WebSocket em vez de HTTP para TTS?

O servidor empurra áudio e progresso; WebSocket se encaixa na síntese de streaming de baixa latência.

Como faço para conseguir a identificação do pedido?

Por que SSML falha?

  1. [Limites SSML] (/developer-guides/speech/ssml).
  2. [Últimas SDK] (/api-reference/preparation/install-sdk).
  3. SSDK: SSML em **call Não é uma transmissão. streaming_call- Só flui.
  4. ** WebSocket:** [Suporte SSML] (/api-reference/speech-synthesis/cosyvoice/websocket-api#ssml-support).

Por que o áudio não pode tocar?

  1. Arquivo:** Saída de jogo** Formato** Extensão; use um jogador compatível.
  2. Para MP3/Opus use um jogador de streaming (FFmpeg, PyAudio, AudioFormat, MediaSource). Anexar pedaços, o primeiro pedaço pode carregar cabeçalhos WAV/MP3 apenas uma vez.

Por que a reprodução gagueja?

Ganhos menores entre os textos enviam, chamadas leves** (carga de trabalho fora do fio WebSocket); rede estável.

Por que a síntese demora muito tempo?

Evite pausas longas entre segmentos, espere por 500 ms, primeiro pacote e RTF.< 1** when healthy.

Why is trailing text missing or no speech returned?

Why is audio scrambled or garbled? (WebSocket)

One task_id for run-task, continue-task, and finish-task. Do not reorder writes.

WebSocket closes with code 1007 or auth errors (WebSocket)

SSL or WebSocketApp errors (Python)

Configure CA bundle (SSL_CERT_FILE) or fix macOS cert path; for AttributeError on WebSocketApp, reinstall websocket-client (pip uninstall websocket-client websocket then pip install websocket-client). Details in CosyVoice Python SDK.

How do I restrict my API key to CosyVoice only?

Manage workspaces.

More CosyVoice questions

CosyVoice Q&A on GitHub.


<a id="qwen-omni-realtime" />

Qwen-Omni Em tempo real.

** APIS:** [Python SDK] (/api-reference/real-time-multimodal/realtime-python-sdk), [Java SDK] (/api-reference/real-time-multimodal/realtime-java-sdk), [Acontecimentos do cliente] (/api-reference/real-time-multimodal/client-events), [Eventos de servidor] (/api-reference/real-time-multimodal/server-events)

Como o áudio de entrada e as imagens estão alinhados?

Audio é a linha do tempo. Imagens anexadas no momento do envio; você pode ligar ou desligar o vídeo durante a sessão.

Cerca de 2 fps para imagens e ~100 ms pacotes de áudio para uso em tempo real.

Qual é a diferença entre turn_detection - Liga e desliga?

Com turn_detection Ativado (VAD servidor):

Com **turn_detection Deficientes:

Por que usar outro modelo para input_audio_transcription?

Omni responde a entrada, não é um oleoduto dedicado. Use um modelo de fala-texto separado para transcrição literal.


<a id="common-audio-issues" />

Problemas comuns de áudio

Problemas de reconhecimento geralmente vêm de um erro de codec ou erro de reconhecimento. sample_rate / format**. Verifique a codificação real, não só a extensão do arquivo.

Converta áudio com FFmpeg.

Use [FFmpeg] (https://ffmpeg.org/ffmpeg.html) para transcodificar em um formato suportado.

ffmpeg -i input_audio.ext -c:a encoder_name -b:a bit_rate -ar sample_rate -ac number_of_channels output.ext

ffmpeg -i input.wav -c:a libmp3lame -q:a 0 output.mp3
ffmpeg -i input.mp3 -c:a pcm_s16le -ar 44100 -ac 2 output.wav
ffmpeg -i input.m4a -c:a copy output.aac
ffmpeg -i input.m4a -c:a aac -b:a 256k output.aac
ffmpeg -i input.flac -c:a libopus -b:a 128k -vbr on output.opus

Inspecione o contêiner, codec, taxa de amostragem e canais.

Usem [esperidoria] (https://ffmpeg.org/ffprobe.html):

ffprobe -v error -show_entries format=format_name -show_entries stream=codec_name,sample_rate,channels -of default=noprint_wrappers=1 input.xxx

Use os valores relatados para format, sample_rate / sampleRateE canais, quando for o caso.


<a id="fun-asr-realtime" />

Fun-ASR Em tempo real.

** APIS:** [Python SDK] (/api-reference/speech-recognition/fun-asr-realtime/python-sdk), [Java SDK] (/api-reference/speech-recognition/fun-asr-realtime/java-sdk), [WebSocket] (/api-reference/speech-recognition/fun-asr-realtime/websocket-api)

Como mantenho uma conexão viva durante o silêncio?

Preparar. heartbeat para real e enviar ** áudio silencioso** continuamente.

Gere áudio silencioso com FFmpeg:

# Generate 1 second of silent audio at 16kHz, mono
ffmpeg -f lavfi -i anullsrc=r=16000:cl=mono -t 1 -acodec pcm_s16le silent.wav

Alternativamente, use Audacity ou Adobe Audition para criar segmentos silenciosos.

Como reconheço um arquivo de áudio local?

Por que usar WebSocket em vez de HTTP?

WebSocket é full-duplex; Só a solicitação/resposta HTTP não é adequada para áudio contínuo em tempo real.

Por que o discurso não é reconhecido?

  1. Combinar format e sample_rate / sampleRate Para o áudio real. Veja [Questões de áudio comuns] (#common-audio-issues).
  2. Combinar language_hints (Python) / languageHints Para a língua falada.
  3. Use vocabulário personalizado para termos de negócios, nomes de produtos ou substantivos adequados que precisam de reconhecimento preciso. Veja [Personalismo palavras] (/developer-guides/speech/improve-recognition-accuracy).

<a id="fun-asr-file-transcription" />

Fun-ASR transcrição do arquivo

** APIS:** [Python SDK] (/api-reference/speech-recognition/fun-asr-recording/python-sdk), [A API de verdade] (/api-reference/speech-recognition/fun-asr-recording/restful-api), [Java SDK] (/api-reference/speech-recognition/fun-asr-recording/java-sdk)

O áudio codificado da base 64 é suportado?

Não. Use URLs públicas HTTP(S) apenas** - não Base64, uploads binários brutos, ou caminhos locais como referência de arquivo.

Como faço para hospedar áudio em uma URL pública?

1. Escolha um método de armazenamento.

2. Envie o arquivo

3. Get the public URL

4. Verify the URL

Navegador ou... curl-Postman, HTTP 200 e áudio jogável.

Veja também [Limitações] (/api-reference/speech-recognition/fun-asr-recording/python-sdk#limitations).

Quanto tempo leva o reconhecimento?

Tarefas vão ** Pending** → ** running** ** Sucedeu** ou ** Falhou**. Tempo de fila depende da carga e do tamanho do arquivo.

Por que não consigo um resultado depois da votação?

Possível limitação de taxa: inspecionar respostas e recuar.

E se uma URL temporária da OSS for inacessível?

Definir cabeçalho X-DashScope-OssResourceResolve para enable.

Destinado para o repouso cru. Os SDKs oficiais Java/Python não podem suportar esse cabeçalho, preferem URLs públicas estáveis, onde possível.

Por que o áudio não é reconhecido?

Verifique o formato e a taxa de amostragem, use o ffsprobe em [Questões de áudio comuns] (#common-audio-issues).