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

Design de voz

Criar vozes personalizadas de descrições de texto para uso com CosyVoice Modelos.

Depois de criar uma voz, use o nome de voz retornado com [CosyVoice TTS] (/developer-guides/speech/tts) ou [Realtime streaming TTS] (/developer-guides/speech/realtime-streaming).

O target_model Em design de voz deve combinar com model em síntese. Modelos desiguais causam falhas.

Como funciona

  1. Escreva uma descrição de voz.voice_prompt) e texto de pré-visualização (preview_text).
  2. Envie um pedido de criação de voz com seu target_model.
  3. A API devolve um nome de voz e áudio de visualização codificados pela Base64. Descodificar a string Base64 para obter o arquivo de áudio (formato WAV).
  4. Ouça a prévia. Se satisfeito, use o nome da voz para síntese. Caso contrário, crie uma nova voz.

-Começo rápido.

Pré-requisitos

  1. [Pegue uma chave API] (/api-reference/preparation/api-key) e definir o DASHSCOPE_API_KEY Variável ambiente.

Ponto final

Todas as operações de design de voz usam um único ponto final:

POST https://maas.qwencloudapi.com/api/v1/services/audio/tts/customization

CosyVoice Design de voz

O exemplo a seguir mostra como criar um CosyVoice voz de uma descrição de texto e usá-la para a síntese de fala.

CosyVoice O Voice Design está disponível apenas na região de Pequim (série v3.5 e série v3).

Passo 1: Crie uma voz a partir de uma descrição

Ligue para a API com dois parâmetros: voice_prompt para a descrição da voz, e preview_text para o texto lido em voz alta no áudio da prévia.

curl -X POST 'https://maas.qwencloudapi.com/api/v1/services/audio/tts/customization' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "voice-enrollment",
    "input": {
        "action": "create_voice",
        "target_model": "cosyvoice-v3.5-plus",
        "voice_prompt": "A composed middle-aged male announcer with a deep, rich and magnetic voice, a steady speaking speed and clear articulation, is suitable for news broadcasting or documentary commentary.",
        "preview_text": "Dear listeners, hello everyone. Welcome to the evening news.",
        "prefix": "announcer"
    },
    "parameters": {
        "sample_rate": 24000,
        "response_format": "wav"
    }
}'

Esquema: discurso sintético com a voz projetada

No seguinte pedido, use o voice_id O valor retornado no passo anterior.

# coding=utf-8
import dashscope
from dashscope.audio.tts_v2 import *
import os
# Get an API key: https://www.alibabacloud.com/help/en/model-studio/get-api-key
# If you have not configured the environment variable, replace the following line with your API key: dashscope.api_key = "sk-xxx"
dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')
dashscope.base_websocket_api_url='wss://maas.qwencloudapi.com/api-ws/v1/inference'
# Use the same model for voice design and speech synthesis
model = "cosyvoice-v3.5-plus"
# Replace the voice parameter with the custom voice generated by voice design
voice = "voice_id"
# Instantiate SpeechSynthesizer, passing the model, voice, and other request parameters in the constructor
synthesizer = SpeechSynthesizer(model=model, voice=voice)
# Send text for synthesis and get binary audio
audio = synthesizer.call("What is the weather like today?")
# Establishing the WebSocket connection is required when sending text for the first time, so the first-package latency includes the connection setup time
print('[Metric] requestId: {}, first-package latency: {} ms'.format(
  synthesizer.get_last_request_id(),
  synthesizer.get_first_package_delay()))
# Save the audio to a local file
with open('output.mp3', 'wb') as f:
  f.write(audio)

Para a síntese em tempo real com vozes personalizadas, veja [Transmissão em tempo real TTS] (/developer-guides/speech/realtime-streaming). Para parâmetros completos da API e mais operações (lista, consulta, delete), veja a referência Voice design API.

Modelos apoiados.

O design de voz usa um modelo de design e um modelo de síntese de alvos.

CosyVoice:

Para IDs de modelos e versões de instantâneos, veja [Modelos de texto para fala] (/developer-guides/speech/tts-models).

Linguagens apoiadas

Código Linguagem
zh Chinês.
en Inglês
de Alemão
it Italiano
pt Português
es Espanhol
ja Japonês
ko Coreano
fr Francês
ru Russo

voice_prompt Só suporta chinês e inglês. O language O parâmetro deve ser igual ao preview_text - Linguagem.

Escrevam descrições de voz eficazes.

Uma descrição de voz (voice_prompt) diz ao modelo o que a voz gerar. Combine sexo, idade, tom e usar o caso para definir uma voz distinta.

Restrições

Dimensões da descrição

Dimensão Exemplos
Sexo Homem, mulher, neutro
Idade Criança (5--12), adolescente (13-18), jovem adulto (19-35), de meia-idade (36-55), idoso (55+)
Pitch Alto, médio, baixo, alto, baixo, baixo
Pace. Rápido, médio, lento, acelerado, lento, lento
Emoção Alegre, calmo, gentil, sério, animado, composto, calmante
Características Magnético, crocante, rouco, suave, doce, rico, poderoso
Use o caso. Notícias, publicidade, audiolivro, animação, assistente de voz, narração de documentários

Dicas

  1. Use qualidades concretas como "deep", "crisp" ou "fast-paced". Evite termos vagos como "bom" ou "normal".
  2. "Voz feminina" é muito ampla.
  3. Foque-se em características físicas e perceptivas. Escreva "alto e energético" em vez de "minha voz favorita".
    • Descreva as qualidades de voz diretamente. A imitação de celebridades não é apoiada e envolve riscos de direitos autorais.
  4. Cada palavra deve servir a um propósito. Evite sinônimos e intensificadores sem sentido.

Exemplos

Boa descrição:

Descrições ineficazes:

Descrição Questão Melhorar
"Uma voz agradável" Muito vago. "Uma voz feminina jovem com uma linha vocal clara e tom suave."
Uma voz como uma certa celebridade Imitação de celebridades não suportada "Uma voz masculina madura e magnética com um ritmo calmo."
"Uma voz muito, muito, muito boa, feminina" Repetente. "Voz feminina, 20-24 anos, com um tom leve e doce qualidade."

Cota e faturamento

Quota de voz e limpeza automática.

Todos os limites de voz QwenCloud Conta tem um limite de 1.000 vozes personalizadas para CosyVoice.

Se uma voz não é usada em nenhum pedido de síntese de fala por um ano, o sistema automaticamente a apaga.

Regras de faturamento

Os preços listados abaixo são os preços de lista. Para promoções atuais e preços com desconto, visite o [Modelo Marketplace] (https://www.qwencloud.com/models).

Códigos de erro.

Se uma ligação falhar, veja [Mensagens de erro] (/api-reference/preparation/error-messages).

Erros comuns de design de voz:

Estado HTTP Código de erro Causa Resolução
400 Pedido ruim. Voz não encontrada. A voz especificada não existe (em operações de voz ou síntese) Verifique o nome da voz com Listar vozesor Perguntar uma voz. Se a voz não existe, crie uma nova voz com Crie uma voz.

Próximos passos