As vozes em alta definição do Cloud TTS Chirp 3 representam a mais recente geração da tecnologia da Text-to-Speech. Com a tecnologia da nossa geração mais recente de modelos generativos, essas vozes oferecem realismo e resposta emocional.
Opções de voz
Há várias opções de vozes disponíveis, cada uma com características distintas:
| Nome | Gênero | Demonstração |
|---|---|---|
| Achernar | Feminino | |
| Achird | Masculino | |
| Algenib | Masculino | |
| Algieba | Masculino | |
| Alnilam | Masculino | |
| Aoede | Feminino | |
| Autonoe | Feminino | |
| Callirrhoe | Feminino | |
| Charon | Masculino | |
| Despina | Feminino | |
| Enceladus | Masculino | |
| Erinome | Feminino | |
| Fenrir | Masculino | |
| Gacrux | Feminino | |
| Iapetus | Masculino | |
| Kore | Feminino | |
| Laomedeia | Feminino | |
| Leda | Feminino | |
| Orus | Masculino | |
| Pulcherrima | Feminino | |
| Puck | Masculino | |
| Rasalgethi | Masculino | |
| Sadachbia | Masculino | |
| Sadaltager | Masculino | |
| Schedar | Masculino | |
| Sulafat | Feminino | |
| Umbriel | Masculino | |
| Vindemiatrix | Feminino | |
| Zephyr | Feminino | |
| Zubenelgenubi | Masculino |
Disponibilidade de idiomas
As vozes em alta definição do Chirp 3 estão disponíveis nos seguintes idiomas:
| Idioma | Código BCP-47 |
|---|---|
| Árabe (genérico) | ar-XA |
| Bengali (Índia) | bn-IN |
| Búlgaro (Bulgária) | bg-BG |
| Croata (Croácia) | hr-HR |
| Tcheco (República Tcheca) | cs-CZ |
| Dinamarquês (Dinamarca) | da-DK |
| Holandês (Bélgica) | nl-BE |
| Holandês (Países Baixos) | nl-NL |
| Inglês (Austrália) | en-AU |
| Inglês (Índia) | en-IN |
| Inglês (Reino Unido) | en-GB |
| Inglês (Estados Unidos) | en-US |
| Estoniano (Estônia) | et-EE |
| Finlandês (Finlândia) | fi-FI |
| Francês (Canadá) | fr-CA |
| Francês (França) | fr-FR |
| Alemão (Alemanha) | de-DE |
| Grego (Grécia) | el-GR |
| Gujarati (Índia) | gu-IN |
| Hebraico (Israel) | he-IL |
| Hindi (Índia) | hi-IN |
| Húngaro (Hungria) | hu-HU |
| Indonésio (Indonésia) | id-ID |
| Italiano (Itália) | it-IT |
| Japonês (Japão) | ja-JP |
| Canarês (Índia) | kn-IN |
| Coreano (Coreia do Sul) | ko-KR |
| Letão (Letônia) | lv-LV |
| Lituano (Lituânia) | lt-LT |
| Malaiala (Índia) | ml-IN |
| Mandarim (China) | cmn-CN |
| Marathi (Índia) | mr-IN |
| Bokmål norueguês (Noruega) | nb-NO |
| Polonês (Polônia) | pl-PL |
| Português (Brasil) | pt-BR |
| Romeno (Romênia) | ro-RO |
| Russo (Rússia) | ru-RU |
| Sérvio (Cirílico) | sr-RS |
| Eslovaco (Eslováquia) | sk-SK |
| Esloveno (Eslovênia) | sl-SI |
| Espanhol (Espanha) | es-ES |
| Espanhol (Estados Unidos) | es-US |
| Swahili (Quênia) | sw-KE |
| Sueco (Suécia) | sv-SE |
| Tâmil (Índia) | ta-IN |
| Telugu (Índia) | te-IN |
| Tailandês (Tailândia) | th-TH |
| Turco (Turquia) | tr-TR |
| Ucraniano (Ucrânia) | uk-UA |
| Urdu (Índia) | ur-IN |
| Vietnamita (Vietnã) | vi-VN |
Disponibilidade regional
As vozes em alta definição do Chirp 3 estão disponíveis nas seguintes regiões do Google Cloud , respectivamente:
| Zona doGoogle Cloud | Prontidão para o lançamento |
|---|---|
global |
Disponibilidade geral |
us |
Disponibilidade geral |
eu |
Disponibilidade geral |
asia-southeast1 |
Disponibilidade geral |
europe-west2 |
Disponibilidade geral |
asia-northeast1 |
Disponibilidade geral |
Formatos de saída disponíveis
O formato de resposta padrão é LINEAR16, mas outros formatos compatíveis incluem:
| Método de API | Formato |
|---|---|
streaming |
ALAW, MULAW, OGG_OPUS e PCM |
batch |
ALAW, MULAW, MP3, OGG_OPUS e PCM |
Usar vozes em alta definição do Chirp 3
Saiba como usar as vozes em alta definição do Chirp 3 para sintetizar falas.
Fazer uma solicitação de síntese de fala em streaming
Python
Para saber como instalar e usar a biblioteca de cliente da Cloud TTS, consulte Bibliotecas de cliente da Cloud TTS. Veja mais informações na documentação de referência da API Cloud TTS para Python.
Para se autenticar na Cloud TTS, configure o Application Default Credentials. Se quiser mais detalhes, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Fazer uma solicitação de síntese de voz on-line
Python
Para saber como instalar e usar a biblioteca de cliente da Cloud TTS, consulte Bibliotecas de cliente da Cloud TTS. Veja mais informações na documentação de referência da API Cloud TTS para Python.
Para se autenticar na Cloud TTS, configure o Application Default Credentials. Se quiser mais detalhes, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Dicas para escrever scripts e comandos
Para criar áudios envolventes e com som natural a partir de textos, você precisa entender as nuances da linguagem falada e traduzi-las para um formato de script. As dicas a seguir vão ajudar você a criar scripts que forneçam um som autêntico e capturem o tom escolhido.
Entenda o objetivo: fala natural
O objetivo principal é fazer com que a voz sintetizada fique o mais parecida possível com a voz de uma pessoa falando naturalmente. Isso envolve:
- Imitar o ritmo natural: a velocidade da fala de uma pessoa.
- Criar um fluxo suave: garantir transições perfeitas entre frases e expressões.
- Adicionar pausas realistas: incorporar pausas para ênfase e clareza.
- Capturar o tom de uma conversa: fazer com que o áudio soe como uma conversa real.
Principais técnicas para fala natural
Pontuação para ritmo e fluxo
- Pontos finais (.): indicam uma pausa mais longa. Use-os para separar ideias completas e criar limites claros entre as frases.
- Vírgulas (,): indicam pausas mais curtas dentro das frases. Use-os para separar orações, listar itens ou fazer pequenas pausas para respirar.
- Elipses (...): representam uma pausa mais longa e deliberada. Podem indicar pensamentos incompletos, hesitação ou uma pausa dramática.
- Exemplo: "E então... aconteceu."
- Hífens (-): podem ser usados para indicar uma breve pausa ou uma interrupção repentina no pensamento.
- Exemplo: "Eu queria dizer - mas não consegui".
Como incorporar pausas e hesitações
- Pausas estratégicas: use reticências, vírgulas ou hífens para criar pausas em lugares onde uma pessoa faria uma pausa natural para respirar ou enfatizar.
- Hesitações (ãns e hums): embora alguns modelos da Cloud Text-to-Speech processem hesitações automaticamente, é fundamental entender sua função. Elas trazem autenticidade e fazem com que a fala soe menos robótica. Mesmo que o modelo as adicione, saber onde elas ocorreriam naturalmente na fala humana ajuda você a entender o fluxo geral do seu script.
Experimentação e iteração
- Sintetize novamente: não tenha medo de repetir a sintetização da mesma mensagem com a mesma voz várias vezes. Pequenos ajustes na pontuação, no espaçamento ou na escolha de palavras podem afetar significativamente o áudio final.
- Ouça com atenção: preste atenção ao ritmo, ao fluxo e ao tom geral do áudio sintetizado. Identifique as áreas que não soam tão naturais e ajuste o script conforme necessário.
- Use variações de voz: se o sistema permitir, use vozes diferentes para ver qual delas se adapta melhor ao seu script e ao tom escolhido.
Dicas práticas para escrever scripts
- Leia em voz alta: antes de sintetizar, leia seu script em voz alta. Isso vai ajudar você a identificar frases estranhas, pausas não naturais e áreas que precisam de ajustes.
- Escreva da forma como você falaria: use contrações (como "tá", "tô" e "pra") e linguagem informal para deixar a leitura do texto mais natural.
- Considere o contexto: o tom e o ritmo do seu script precisam corresponder ao contexto do áudio. Uma apresentação formal exige uma abordagem diferente de uma conversa casual.
- Divida frases complexas: os mecanismos de TTS podem ter dificuldade de processar frases longas e complicadas. Divida-as em frases mais curtas e fáceis de gerenciar.
Exemplos de melhorias no script
Script original (robótico): "O produto já está disponível. Temos novos recursos. É muito emocionante."
Script aprimorado (natural): "O produto já tá disponível... e os recursos novos são incríveis. Ficou muito… muito legal."
Script original (robótico): "Esta é uma mensagem de confirmação automática. Sua reserva foi processada. Confira abaixo os detalhes relacionados à sua próxima estadia. O número da reserva é 12345. O nome do hóspede cadastrado é Antônio Garcia A data de chegada é 14 de março. A data de partida é 16 de março. O tipo de quarto é suíte de luxo. O número de hóspedes é 1. O horário de check-in é às 15h. O horário de check-out é às 11h. A política de cancelamento exige notificação 48 horas antes da chegada. Se não fizer isso dentro desse prazo, você vai receber uma cobrança referente a uma diária. Outras comodidades incluídas na sua reserva são: Wi-Fi gratuito, acesso à academia e café da manhã gratuito. Em caso de dúvidas, entre em contato diretamente com o hotel pelo número 855-555-6689. Agradecemos por escolher nosso hotel."
Script melhorado (natural): "Oi, Antônio Garcia! É um prazer poder confirmar sua reserva com a gente! Está tudo pronto pra sua estadia de 14 a 16 de março na nossa linda suíte de luxo. Sua reserva é pra um hóspede. Seu número de confirmação é 12345, caso precise dele.
É importante lembrar que o check-in é às 15h e o check-out é às 11h.
Agora, um aviso sobre nossa política de cancelamento: se você precisar cancelar sua reserva, avise com pelo menos 48 horas de antecedência, tá bom? Se não fizer isso, vamos cobrar o valor de uma diária.
Ãnn, e pra tornar sua estadia ainda melhor, você vai ter Wi-Fi gratuito, acesso à nossa academia e um delicioso café da manhã de cortesia todos os dias!
Se tiver dúvidas, ligue para 855-555-6689. Estamos ansiosos pra receber você no nosso hotel!"
Explicação sobre as mudanças:
- As reticências (...) criam uma pausa para ênfase.
- "Pra" usa uma contração para um tom mais parecido com o de uma conversa.
- "Ãnn, e pra tornar sua estadia ainda melhor" adiciona um pouco de hesitação e ênfase.
- O lembrete amigável "tá bom?" suaviza o tom.
Seguindo estas diretrizes, você pode criar scripts de texto para áudio que soam naturais, envolventes e semelhantes a como as pessoas falam. Não se esqueça de que a prática e a experimentação são fundamentais para dominar essa habilidade.
Compatibilidade das vozes em alta definição do Chirp 3 com SSML
As tags da Linguagem de Marcação de Síntese de Fala (SSML, na sigla em inglês) oferecem mais controle sobre como o texto é convertido em fala. Ao usar SSML, você pode especificar pronúncias, parágrafos, controlar e influenciar a estrutura geral do texto de entrada para um áudio mais natural.
Elementos SSML compatíveis
As vozes em alta definição do Chirp 3 aceitam um subconjunto de tags SSML disponíveis, que estão descritas aqui. As tags que não estiverem nesta lista serão ignoradas durante o processo de síntese.
<speak>: o elemento raiz do texto SSML.<say-as>: permite fornecer dicas sobre como pronunciar o texto contido. Não há compatibilidade cominterpret-as="expletive"ouinterpret-as="bleep".<p>: representa um parágrafo.<s>: representa uma frase.<phoneme>: fornece uma pronúncia fonética para o texto contido.<sub>: pronuncia o valor do alias em vez do texto contido no elemento.
Exemplo de SynthesizeSpeechRequest usando SSML:
{
"audio_config": {
"audio_encoding": "LINEAR16",
},
"input": {
"ssml": "<speak>Here are <say-as interpret-as=\"characters\">SSML</say-as> samples. I can also substitute phrases, like the <sub alias=\"World Wide Web Consortium\">W3C</sub>. Hi,<phoneme alphabet=\"ipa\" ph=\"ˌmænɪˈtoʊbə\">manitoba<phoneme>! Finally, I can speak a paragraph with two sentences. <p><s>This is sentence one.</s><s>This is sentence two.</s></p></speak>",
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
}
Controles das vozes em alta definição do Chirp 3
Os recursos de controle por voz são específicos para a síntese de voz em alta definição. É possível gerenciar o controle de ritmo, o controle de pausa e as pronúncias personalizadas nas opções de controle de voz em alta definição do Chirp 3.
Controle de ritmo
Você pode ajustar a velocidade do áudio gerado usando o parâmetro de ritmo. Esse parâmetro permite diminuir ou aumentar a velocidade da fala, com valores que variam de 0,25x (muito lento) a 2x (muito rápido). Para definir o ritmo, use o parâmetro speaking_rate na sua solicitação. Escolha um número entre 0,25 e 2,0. Valores abaixo de 1,0 diminuem a velocidade da fala, e valores acima de 1,0 aumentam. Um valor de 1,0 indica um ritmo sem ajustes.
Exemplo de SynthesizeSpeechRequest usando controle de ritmo:
{
"audio_config": {
"audio_encoding": "LINEAR16",
"speaking_rate": 2.0,
},
"input": {
"text": "Once upon a time, there was a cute cat. He was so cute that he got lots of treats.",
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
}
Exemplo de StreamingSynthesizeConfig usando controle de ritmo:
{
"streaming_audio_config": {
"audio_encoding": "LINEAR16",
"speaking_rate": 2.0,
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
}
Amostras de áudio com controle de ritmo:
| Velocidade da fala | Saída |
|---|---|
| 0,5 | |
| 1.0 | |
| 2.0 |
Controle de pausa
É possível inserir pausas na fala gerada por IA incorporando tags especiais diretamente no texto com o campo de entrada markup. As tags de pausa só funcionam no campo markup, não no campo text.
Essas tags indicam que a IA deve criar silêncios, mas a duração exata dessas pausas não é fixa. A IA ajusta a duração com base no contexto, assim como a fala humana natural varia de acordo com o falante, o local e a estrutura da frase. As tags de pausa disponíveis são [pause short], [pause long] e [pause]. Para conhecer outros métodos de criação de pausas sem usar tags de marcação, consulte nossas diretrizes de comando e criação.
O modelo de IA pode ignorar as tags de pausa às vezes, principalmente se elas forem colocadas em posições não naturais no texto. É possível combinar várias tags de pausa para silêncios mais longos, mas o uso excessivo pode causar problemas.
Exemplo de SynthesizeSpeechRequest usando o controle de pausa:
{
"audio_config": {
"audio_encoding": "LINEAR16",
},
"input": {
"markup": "Let me take a look, [pause long] yes, I see it.",
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
}
Exemplo de StreamingSynthesisInput usando o controle de pausa:
{
"markup": "Let me take a look, [pause long] yes, I see it.",
}
Amostras de áudio com controle de pausa:
| Entrada com marcação | Saída |
|---|---|
| "Let me take a look, yes, I see it." | |
| "Let me take a look, [pause long] yes, I see it." |
Pronúncias personalizadas
É possível especificar pronúncias personalizadas usando representações fonéticas IPA ou X-SAMPA das palavras no texto de entrada. Use fonemas adequados ao idioma para uma renderização precisa. Saiba mais sobre a substituição de fonemas na nossa documentação sobre fonemas.
Exemplo de SynthesizeSpeechRequest usando pronúncias personalizadas:
{
"audio_config": {
"audio_encoding": "LINEAR16",
},
"input": {
"text": "There is a dog in the boat",
"custom_pronunciations": {
"phrase": "dog",
"phonetic_encoding": "PHONETIC_ENCODING_X_SAMPA",
"pronunciation": "\"k{t",
}
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
}
Exemplo de StreamingSynthesizeConfig usando pronúncias personalizadas:
{
"streaming_audio_config": {
"audio_encoding": "LINEAR16",
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
"custom_pronunciations": {
"phrase": "dog",
"phonetic_encoding": "PHONETIC_ENCODING_X_SAMPA",
"pronunciation": "\"k{t",
}
}
Exemplos de áudio com pronúncias personalizadas:
| Pronúncias personalizadas aplicadas | Saída |
|---|---|
| Nenhuma | |
| "dog" pronunciado como ""k{t" |
As frases substituídas podem ser formatadas de qualquer maneira, inclusive usando símbolos. Por exemplo, em caso de possível ambiguidade de contexto na correspondência de frases (comum em idiomas como chinês e japonês) ou frases em que uma palavra pode ser pronunciada de maneiras diferentes, a frase pode ser formatada para remover a ambiguidade. Por exemplo, para evitar substituir acidentalmente outras instâncias da palavra read na entrada, a frase "read" pode ser formatada como "read1", "[read]" ou "(read)" para o texto de entrada e a frase substituída.
Confira este exemplo de aplicação de pronúncias personalizadas a uma frase em que a palavra read é pronunciada de duas maneiras diferentes:
{
"audio_config": {
"audio_encoding": "LINEAR16",
},
"input": {
"text": "I read1 a book, and I will now read2 it to you.",
"custom_pronunciations": {
"phrase": "read1",
"phonetic_encoding": "PHONETIC_ENCODING_IPA",
"pronunciation": "rɛd",
}
"custom_pronunciations": {
"phrase": "read2",
"phonetic_encoding": "PHONETIC_ENCODING_IPA",
"pronunciation": "riːd",
}
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
}
| Pronúncias personalizadas aplicadas | Saída |
|---|---|
| "read" substituído de duas maneiras |
Além disso, as pronúncias personalizadas podem ser usadas com entrada com marcação, o que permite o uso de tags de pausa também:
{
"audio_config": {
"audio_encoding": "LINEAR16",
},
"input": {
"markup": "Did you [pause long] read this book?",
"custom_pronunciations": {
"phrase": "read",
"phonetic_encoding": "PHONETIC_ENCODING_IPA",
"pronunciation": "riːd",
}
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
}
| Pronúncias personalizadas usadas | Saída |
|---|---|
| Substituir a pronúncia com tag de pausa |
Disponibilidade de idiomas para controles de voz
O controle de ritmo está disponível em todas as localidades.
O controle de pausa está disponível em todas as localidades, exceto: bg-bg, cs-cz, el-gr, et-ee, he-il, hr-hr, hu-hu, lt-lt, lv-lv, ro-ro, sk-sk, sl-si e sr-rs.
As pronúncias personalizadas estão disponíveis em todas as localidades, exceto: bg-bg, bn-in, cs-cz, da-dk, el-gr, et-ee, fi-fi, gu-in, he-il, hr-hr, hu-hu, lt-lt, lv-lv, nb-no, nl-be, ro-ro, sk-sk, sl-si, sr-rs, sv-se, sw-ke, th-th, uk-ua, ur-in e vi-vn.
Perguntas frequentes
Perguntas comuns e respostas:
Como controlar o ritmo e o fluxo para melhorar a saída de voz?
Você pode usar nossas diretrizes de comandos e criação e otimizar seus comandos de texto para melhorar a saída de voz.
Como faço para acessar vozes nos idiomas disponíveis?
Os nomes das vozes seguem um formato específico, permitindo que sejam usadas em todos os idiomas disponíveis quando você especifica a voz de maneira exclusiva. O formato segue esta estrutura: \<locale\>-\<model\>-\<voice\>. Por exemplo, para usar a voz Kore em inglês (Estados Unidos) com o modelo de vozes em alta definição do Chirp 3, especifique en-US-Chirp3-HD-Kore.