Personalizar a voz e o som com a SSML
Você pode utilizar a Linguagem de Marcação de Síntese de Fala (SSML) para especificar a voz, o idioma, o nome, o estilo e a função de conversão de texto em fala para sua saída de fala. Você também pode utilizar várias vozes em um único documento SSML e ajustar a ênfase, a taxa de fala, o tom e o volume. Além disso, o SSML apresenta o recurso de inserção de áudio pré-gravado, como um efeito sonoro ou uma observação musical.
O artigo mostra como você deve usar elementos da SSML para especificar voz e som. Para obter mais informações sobre a sintaxe SSML, confira Estrutura e eventos de documentos SSML.
Usar elementos de voz
Pelo menos um elemento voice
precisa ser especificado em cada elemento de fala SSML. Esse elemento determina a voz usada para conversão de texto em fala.
Você pode incluir vários elementos voice
em um só documento SSML. Cada elemento voice
pode especificar uma voz diferente. Você também pode usar a mesma voz várias vezes com configurações diferentes, como ao alterar a duração do silêncio entre frases.
A tabela a seguir descreve o uso dos atributos do elemento voice
:
Atributo | Descrição | Obrigatório ou opcional |
---|---|---|
name |
A voz usada para a saída da conversão de texto em fala. Para obter uma lista completa de vozes predefinidas com suporte, confira Suporte para idioma. | Obrigatório |
effect |
O processador de efeito de áudio usado para otimizar a qualidade da saída de fala sintetizada para cenários específicos em dispositivos. Em alguns cenários em ambientes de produção, a experiência auditiva pode ser prejudicada devido à distorção da reprodução em determinados dispositivos. Por exemplo, a fala sintetizada de um alto-falante de carro pode soar monótona e abafada devido a fatores ambientais, como resposta do alto-falante, reverberação da sala e ruído de fundo. O passageiro pode ter que aumentar o volume para ouvir mais claramente. Para evitar operações manuais nesse cenário, o processador de efeito de áudio pode tornar o som mais claro compensando a distorção da reprodução. Os seguintes valores têm suporte:
Se o valor estiver ausente ou for inválido, esse atributo será ignorado e nenhum efeito será aplicado. |
Opcional |
Exemplos de voice
Para obter informações sobre os valores que têm suporte para os atributos do elemento voice
, consulte Usar elementos de voz.
Exemplo de voz única
Este exemplo usa a voz en-US-AvaMultilingualNeural
.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-AvaMultilingualNeural">
This is the text that is spoken.
</voice>
</speak>
Exemplo de várias vozes
Dentro do elemento speak
, você pode especificar várias vozes para a saída da conversão de texto em fala. Essas vozes podem estar em idiomas diferentes. Para cada voz, o texto precisa ser encapsulado em um elemento voice
.
Este exemplo alterna entre as vozes en-US-AvaMultilingualNeural
e en-US-AndrewMultilingualNeural
. As vozes neurais multilíngues podem falar diferentes idiomas com base no texto de entrada.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-AvaMultilingualNeural">
Good morning!
</voice>
<voice name="en-US-AndrewMultilingualNeural">
Good morning to you too Ava!
</voice>
</speak>
Exemplos de voz neural personalizada
Para usar sua sintetização de voz personalizada, especifique o nome do modelo como o nome de voz no SSML.
Esse exemplo utiliza uma voz personalizada chamada my-custom-voice.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="my-custom-voice">
This is the text that is spoken.
</voice>
</speak>
Exemplo de efeito de áudio
Você usa o atributo effect
para otimizar a experiência auditiva para cenários como carros e telecomunicações. O exemplo SSML a seguir usa o atributo effect
com a configuração em cenários de carro.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-AvaMultilingualNeural" effect="eq_car">
This is the text that is spoken.
</voice>
</speak>
Usar estilos e funções de fala
Por padrão, as vozes neurais têm um estilo de fala neutro. Você pode ajustar o estilo de fala, o grau do estilo e a função no nível da frase.
Observação
O serviço de Fala dá suporte a estilos, grau de estilo e funções para um subconjunto de vozes neurais, conforme descrito na documentação de estilos de voz e funções. Para determinar os estilos e funções com suporte para cada voz, você também pode usar a API de lista de vozes e o aplicativo Web criação de conteúdo de áudio.
A tabela a seguir descreve o uso dos atributos do elemento mstts:express-as
:
Atributo | Descrição | Obrigatório ou opcional |
---|---|---|
style |
O estilo de fala específico da voz. Você pode expressar emoções como alegria, empatia e calma. Otimize também a voz para cenários diferentes, como atendimento ao cliente, noticiário e assistente de voz. Se o valor de estilo estiver ausente ou inválido, todo o elemento mstts:express-as será ignorado e o serviço usará a fala neutra padrão. Para estilos de voz neural personalizada, confira o exemplo de estilo de voz neural personalizada. |
Obrigatório |
styledegree |
A intensidade do estilo de fala. Você pode especificar um estilo mais forte ou mais suave para deixar a fala mais expressiva ou suave. O intervalo de valores aceitos é: 0.01 a 2 inclusive. O valor padrão é 1 , que significa a intensidade do estilo predefinido. A unidade mínima é 0.01 , o que resulta em uma leve tendência para o estilo do destino. Um valor de 2 resulta em uma duplicação da intensidade do estilo padrão. Se o grau de estilo estiver ausente ou não for compatível com sua voz, esse atributo será ignorado. |
Opcional |
role |
A atuação da fala. A voz pode imitar uma idade e um gênero diferentes, mas o nome da voz não é alterado. Por exemplo, uma voz masculina pode aumentar o tom e alterar a entonação para imitar uma voz feminina, mas o nome da voz não é alterado. Se a função estiver ausente ou não for compatível com sua voz, esse atributo será ignorado. | Opcional |
A tabela a seguir descreve cada atributo style
com suporte:
Estilo | Descrição |
---|---|
style="advertisement_upbeat" |
Expressa um tom animado e de alta energia para promover um produto ou serviço. |
style="affectionate" |
Expressa um tom cordial e afetuoso, com timbre mais alto e mais energia vocal. O locutor está em um estado de atrair a atenção do ouvinte. Em geral, a personalidade do locutor é afetuosa por natureza. |
style="angry" |
Expressa um tom irritado e incomodado. |
style="assistant" |
Expressa um tom cordial e descontraído para assistentes digitais. |
style="calm" |
Expressa uma atitude calma, ponderada e serena durante a fala. O tom, o timbre e a prosódia são muito mais uniformes em comparação com outros tipos de fala. |
style="chat" |
Expressa um tom casual e descontraído. |
style="cheerful" |
Expressa um tom positivo e alegre. |
style="customerservice" |
Expressa um tom amigável e prestativo para atendimento ao cliente. |
style="depressed" |
Expressa um tom melancólico e desanimado com um timbre mais baixo e menos energia. |
style="disgruntled" |
Expressa um tom de desprezo e reclamação. A fala dessa emoção exibe o desgosto e o menosprezo. |
style="documentary-narration" |
Narra documentários em um estilo descontraído, interessado e informativo, adequado para documentários, comentários de especialistas e conteúdo semelhante. |
style="embarrassed" |
Expressa um tom incerto e hesitante quando o locutor se sente constrangido. |
style="empathetic" |
Expressa um senso de preocupação e compreensão. |
style="envious" |
Expressa um tom de moderação quando desejar algo que outra pessoa tenha. |
style="excited" |
Expressa um tom otimista e esperançoso. Parece que algo grandioso está acontecendo e o orador está feliz com isso. |
style="fearful" |
Expressa um tom de medo e nervosismo, com timbre mais alto, mais energia vocal e uma velocidade mais alta. O locutor está em um estado de tensão e desconforto. |
style="friendly" |
Expressa um tom agradável, convidativo e caloroso. Parece sincero e carinhoso. |
style="gentle" |
Expressa um tom moderado, educado e agradável, com timbre mais baixo e menos energia vocal. |
style="hopeful" |
Expressa um tom caloroso e ansioso. Parece que algo de bom vai acontecer com o orador. |
style="lyrical" |
Expressa emoções de uma forma melódica e sentimental. |
style="narration-professional" |
Expressa um tom profissional e objetivo para leitura de conteúdo. |
style="narration-relaxed" |
Expressa um tom suave e melodioso para ler o conteúdo. |
style="newscast" |
Expressa um tom formal e profissional para narração de notícias. |
style="newscast-casual" |
Expressa um tom versátil e casual para entrega de notícias em geral. |
style="newscast-formal" |
Expressa um tom formal, confiável e autoritativo para entrega de notícias. |
style="poetry-reading" |
Expressa um tom emocional e rítmico enquanto lê um poema. |
style="sad" |
Expressa um tom triste. |
style="serious" |
Expressa um tom rígido e autoritário. Em geral, o locutor parece mais rígido e muito menos descontraído com uma cadência firme. |
style="shouting" |
Expressa um tom que soa como se a voz estivesse distante ou em outro local e fazendo um esforço para ser ouvida claramente. |
style="sports_commentary" |
Expressa um tom descontraído e interessado para a transmissão de um evento esportivo. |
style="sports_commentary_excited" |
Expressa um tom intensivo e enérgico para transmitir momentos emocionantes em um evento esportivo. |
style="whispering" |
Expressa um tom suave que está tentando emitir um som calmo e gentil. |
style="terrified" |
Expressa um tom assustado, com um ritmo mais rápido e uma voz mais trêmula. Parece que o locutor está em um status instável e frenético. |
style="unfriendly" |
Expressa um tom frio e indiferente. |
A tabela a seguir tem as descrições de cada atributo role
suportado:
Função | Descrição |
---|---|
role="Girl" |
A voz imita uma menina. |
role="Boy" |
A voz imita um menino. |
role="YoungAdultFemale" |
A voz imita uma adulta jovem. |
role="YoungAdultMale" |
A voz imita um adulto jovem. |
role="OlderAdultFemale" |
A voz imita uma adulta mais velha. |
role="OlderAdultMale" |
A voz imita um adulto mais velho. |
role="SeniorFemale" |
A voz imita uma idosa. |
role="SeniorMale" |
A voz imita um idoso. |
Exemplos de mstts express-as
Para obter informações sobre os valores que têm suporte para os atributos do elemento mstts:express-as
, consulte Usar estilos e funções de fala.
Exemplo de estilo e grau
Use o elemento mstts:express-as
para expressar emoções como alegria, empatia e tranquilidade. Otimize também a voz para cenários diferentes, como atendimento ao cliente, noticiário e assistente de voz.
O exemplo de SSML a seguir utiliza o elemento <mstts:express-as>
com um grau de estilo sad
de 2
.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="zh-CN">
<voice name="zh-CN-XiaomoNeural">
<mstts:express-as style="sad" styledegree="2">
快走吧,路上一定要注意安全,早去早回。
</mstts:express-as>
</voice>
</speak>
Exemplo de função
Além de ajustar os estilos de fala e o grau de estilo, você também pode ajustar o parâmetro role
para que a voz imite uma idade e um gênero diferentes. Por exemplo, uma voz masculina pode aumentar o tom e alterar a entonação para imitar uma voz feminina, mas o nome da voz não é alterado.
Este snippet do SSML ilustra como o atributo role
é usado para alterar a encenação para zh-CN-XiaomoNeural
.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="zh-CN">
<voice name="zh-CN-XiaomoNeural">
女儿看见父亲走了进来,问道:
<mstts:express-as role="YoungAdultFemale" style="calm">
“您来的挺快的,怎么过来的?”
</mstts:express-as>
父亲放下手提包,说:
<mstts:express-as role="OlderAdultMale" style="calm">
“刚打车过来的,路上还挺顺畅。”
</mstts:express-as>
</voice>
</speak>
Exemplo de estilo de voz neural personalizada
Você pode treinar sua voz neural personalizada para falar com alguns estilos predefinidos, como cheerful
, sad
e whispering
. Você também pode treinar uma voz neural personalizada para falar em um estilo personalizado, determinado pelos dados de treinamento. Para usar o estilo de voz neural personalizada, especifique o nome de estilo que você já inseriu no Speech Studio.
Esse exemplo utiliza uma voz personalizada chamada my-custom-voice. A voz personalizada fala com o estilo predefinido cheerful
e o grau de estilo 2
, e depois com um estilo personalizado chamado my-custom-style e o grau de estilo 0.01
.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
<voice name="my-custom-voice">
<mstts:express-as style="cheerful" styledegree="2">
That'd be just amazing!
</mstts:express-as>
<mstts:express-as style="my-custom-style" styledegree="0.01">
What's next?
</mstts:express-as>
</voice>
</speak>
ID do perfil do locutor
Use o elemento mstts:ttsembedding
para especificar a propriedade speakerProfileId
para uma voz pessoal. A voz pessoal é uma voz neural personalizada treinada em sua própria voz ou na voz do cliente. Para obter mais informações, consulte criar uma voz pessoal.
O exemplo SSML a seguir usa o elemento <mstts:ttsembedding>
com um nome de voz e uma ID de perfil do locutor.
<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xmlns:mstts='http://www.w3.org/2001/mstts' xml:lang='en-US'>
<voice xml:lang='en-US' xml:gender='Male' name='PhoenixV2Neural'>
<mstts:ttsembedding speakerProfileId='your speaker profile ID here'>
I'm happy to hear that you find me amazing and that I have made your trip planning easier and more fun. 我很高兴听到你觉得我很了不起,我让你的旅行计划更轻松、更有趣。Je suis heureux d'apprendre que vous me trouvez incroyable et que j'ai rendu la planification de votre voyage plus facile et plus amusante.
</mstts:ttsembedding>
</voice>
</speak>
Ajustar idiomas de fala
Por padrão, as vozes multilíngues podem fazer a detecção automática do idioma do texto de entrada e falar no idioma da localidade padrão do texto de entrada sem usar o SSML. Opcionalmente, você pode usar o elemento <lang xml:lang>
para ajustar o idioma de fala dessas vozes a fim de definir o sotaque preferencial, como en-GB
para inglês britânico. Você pode ajustar o idioma de fala no nível da frase e da palavra. Para obter informações sobre os idiomas com suporte para voz multilíngue, consulte Vozes multilíngues com o elemento lang para obter uma tabela mostrando a sintaxe <lang>
e as definições de atributos.
A tabela a seguir descreve o uso dos atributos do elemento <lang xml:lang>
:
Atributo | Descrição | Obrigatório ou opcional |
---|---|---|
xml:lang |
O idioma que você deseja que a voz neural fale. | Necessário para ajustar o idioma de fala para a voz neural. Se você estiver usando lang xml:lang , a localidade precisará ser fornecida. |
Observação
O elemento <lang xml:lang>
é incompatível com os elementos prosody
e break
. Não é possível ajustar a pausa e a prosódia, como tom, contorno, velocidade ou volume nesse elemento.
As vozes não multilíngues não dão suporte ao elemento <lang xml:lang>
por design.
Vozes multilíngues com o elemento lang
Use a seção de vozes multilíngues a fim de determinar para quais idiomas o serviço de Fala dá suporte para cada voz neural, conforme demonstrado na tabela de exemplo a seguir. Se a voz não falar o idioma do texto de entrada, o serviço Speech não emitirá áudio sintetizado.
Voz | Número de idiomas detectado automaticamente | Idioma detectado automaticamente (localidade) | Número de todas as localidades | Todos os idiomas (localidade) com suporte do SSML |
---|---|---|---|---|
en-US-AndrewMultilingualNeural 1 (masculino)en-US-AvaMultilingualNeural 1 (feminino)en-US-BrianMultilingualNeural 1 (masculino)en-US-EmmaMultilingualNeural 1 (feminino) |
77 | Africâner (af-ZA ), albanês (sq-AL ), amárico (am-ET ), árabe (ar-EG ), armênio (hy-AM ), azerbaijano (az-AZ ), bahasa indonésio (id-ID ), bangla (bn-BD ), basco (eu-ES ), bengali (bn-IN ), bósnio (bs-BA ), búlgaro (bg-BG ), birmanês (my-MM ), catalão (ca-ES ), chinês cantonês (zh-HK ), chinês mandarim (zh-CN ), chinês taiwanês (zh-TW ), croata (hr-HR ), tcheco (cs-CZ ), dinamarquês (da-DK ), holandês (nl-NL ), inglês (en-US ), estoniano (et-EE ), filipino (fil-PH ), finlandês (fi-FI ), francês (fr-FR ), galego (gl-ES ), georgiano (ka-GE ), alemão (de-DE ), grego (el-GR ), hebraico (he-IL ), hindi (hi-IN ), húngaro (hu-HU ), islandês (is-IS ), irlandês (ga-IE ), italiano (it-IT ), japonês (ja-JP ), javanês (jv-ID ), canarês (kn-IN ), cazaque (kk-KZ ), quemer (km-KH ), coreano(ko-KR ), laosiano (lo-LA ), letão (lv-LV ), lituano (lt-LT ), macedônio (mk-MK ), malaio (ms-MY ), malaiala (ml-IN ), maltês (mt-MT ), mongol (mn-MN ), nepalês (ne-NP ), norueguês bokmål (nb-NO ), pachto (ps-AF ), persa (fa-IR ), polonês (pl-PL ), português (pt-BR ), romeno (ro-RO ), russo (ru-RU ), sérvio (sr-RS ), cingalês (si-LK ), eslovaco (sk-SK ), esloveno (sl-SI ), somali (so-SO ), espanhol (es-ES ), sundanês (su-ID ), suaíli (sw-KE ), sueco (sv-SE ), tâmil (ta-IN ), télugo (te-IN ), tailandês (th-TH ), turco (tr-TR ), ucraniano (uk-UA ), urdu (ur-PK ), uzbeque (uz-UZ ), vietnamita (vi-VN ), galês (cy-GB ), zulu (zu-ZA ) |
91 | Africâner (África do Sul) (af-ZA ), albanês (Albânia) (sq-AL ), amárico (Etiópia) (am-ET ), árabe (Egito) (ar-EG ), árabe (Arábia Saudita) (ar-SA ), armênio (Armênia) (hy-AM ), azerbaijano (Azerbaijão) (az-AZ ), basco (Basco) (eu-ES ), bengali (Índia) (bn-IN ), bósnio (Bósnia e Herzegovina) (bs-BA ), búlgaro (Bulgária) (bg-BG ), birmanês (Mianmar) (my-MM ), catalão (Espanha)(ca-ES ), chinês (cantonês, tradicional) (zh-HK ), chinês (mandarim, simplificado) (zh-CN ), chinês (mandarim taiwanês) (zh-TW ), 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 (Canadá) (en-CA ), inglês (Hong Kong SAR) (en-HK ), inglês (Índia) (en-IN ), inglês (Irlanda) (en-IE ), inglês (Reino Unido) (en-GB ), inglês (Estados Unidos) (en-US ), estoniano (Estônia) (et-EE ), filipino (Filipinas) (fil-PH ), finlandês (Finlândia) (fi-FI ), francês (Bélgica) (fr-BE ), francês (Canadá) (fr-CA ), francês (França) (fr-FR ), francês (Suíça) (fr-CH ), galego (Galícia) (gl-ES ), georgiano (Geórgia) (ka-GE ), alemão (Áustria) (de-AT ), alemão (Alemanha) (de-DE ), alemão (Suíça) (de-CH ), grego (Grécia) (el-GR ), hebraico (Israel) (he-IL ), hindi (Índia) (hi-IN ), húngaro (Hungria) (hu-HU ), islandês (Islândia) (is-IS ), indonésio (Indonésia) (id-ID ), irlandês (Irlanda) (ga-IE ), italiano (Itália) (it-IT ), japonês (Japão) (ja-JP ), javanês (Indonésia) (jv-ID ), canarês (Índia) (kn-IN ), cazaque (Cazaquistão) (kk-KZ ), quemer (Camboja) (km-KH ), coreano (Coreia) (ko-KR ), laosiano (Laos) (lo-LA ), letão (Letônia) (lv-LV ), lituano (Lituânia) (lt-LT ), macedônio (Macedônia do Norte) (mk-MK ), malaio (Malásia) (ms-MY ), malaiala (Índia) (ml-IN ), maltês (Malta) (mt-MT ), mongol (Mongólia) (mn-MN ), nepalês (Nepal) (ne-NP ), norueguês (Bokmål, Noruega) (nb-NO ), pachto (Afeganistão) (ps-AF ), persa (Irã) (fa-IR ), polonês (Polônia) (pl-PL ), português (Brasil) (pt-BR ), português (Portugal) (pt-PT ), romeno (Romênia) (ro-RO ), russo (Rússia) (ru-RU ), sérvio (cirílico, Sérvia) (sr-RS ), cingalês (Sri Lanka) (si-LK ), eslovaco (Eslováquia) (sk-SK ), esloveno (Eslovênia) (sl-SI ), somali (Somália) (so-SO ), espanhol (México) (es-MX ), espanhol (Espanha) (es-ES ), sudanês (Indonésia) (su-ID ), suaíli (Quênia) (sw-KE ), sueco (Suécia) (sv-SE ), tâmil (Índia) (ta-IN ), télugo (Índia) (te-IN ), tailandês (Tailândia) (th-TH ), turco (Turquia) (tr-TR ), ucraniano (Ucrânia) (uk-UA ), urdu (Paquistão) (ur-PK ), uzbeque (Uzbequistão) (uz-UZ ), vietnamita (Vietnã) (vi-VN ), galês (Reino Unido) (cy-GB ), zulu (África do Sul) (zu-ZA ) |
1 Vozes multilíngues neurais da Fala de IA do Azure. Todas as vozes multilíngues podem falar no idioma da localidade padrão do texto de entrada sem usar o SSML. No entanto, você ainda poderá usar o elemento <lang xml:lang>
para ajustar o sotaque de cada idioma, para definir o preferido, como o sotaque britânico (en-GB
) para inglês. A localidade primária para cada voz é indicada pelo prefixo em seu nome, como a voz en-US-AndrewMultilingualNeural
, sua localidade primária é en-US
.
Observação
As vozes multilíngues não dão suporte total a determinados elementos da SSML, como break
, emphasis
, silence
e sub
.
Exemplos de lang
Para obter informações sobre os valores que têm suporte para os atributos do elemento lang
, consulte Ajustar idioma de fala.
Você deve especificar en-US
como o idioma padrão dentro do elemento speak
, se o idioma está ou não ajustado em outro lugar. Neste exemplo, o idioma principal para en-US-AvaMultilingualNeural
é en-US
.
Este trecho de SSML mostra como usar <lang xml:lang>
para falar de-DE
com a voz neural en-US-AvaMultilingualNeural
.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
<voice name="en-US-AvaMultilingualNeural">
<lang xml:lang="de-DE">
Wir freuen uns auf die Zusammenarbeit mit Ihnen!
</lang>
</voice>
</speak>
Dentro do elemento speak
, você pode especificar várias vozes para a saída en-US
da conversão de texto em fala. Para cada idioma ajustado, o texto deve corresponder ao idioma e ser encapsulado em um elemento voice
. Este trecho de SSML mostra como usar <lang xml:lang>
para alterar os idiomas de fala para es-MX
, en-US
e fr-FR
.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
<voice name="en-US-AvaMultilingualNeural">
<lang xml:lang="es-MX">
¡Esperamos trabajar con usted!
</lang>
<lang xml:lang="en-US">
We look forward to working with you!
</lang>
<lang xml:lang="fr-FR">
Nous avons hâte de travailler avec vous!
</lang>
</voice>
</speak>
Ajustar a prosódia
Você pode utilizar o elemento prosody
para especificar alterações no tom, no contorno, no intervalo, na taxa e no volume da conversão de texto em fala. O elemento prosody
pode conter texto e os seguintes elementos: audio
, break
, p
, phoneme
, prosody
, say-as
, sub
e s
.
Como os valores de atributo prosódico podem variar em um intervalo maior, o reconhecedor da fala interpreta os valores atribuídos como uma sugestão de quais devem ser os valores prosódicos reais da voz selecionada. A conversão de texto em fala limita ou substitui os valores sem suporte. Entre os exemplos de valores sem suporte estão um timbre de 1 MHz ou um volume igual a 120.
A tabela a seguir descreve o uso dos atributos do elemento prosody
:
Atributo | Descrição | Obrigatório ou opcional |
---|---|---|
contour |
Ele representa as alterações no timbre. Essas alterações são representadas como uma matriz de destinos em posições de tempo especificadas na saída da fala. Os conjuntos de pares de parâmetros definem cada destino. Por exemplo: <prosody contour="(0%,+20Hz) (10%,-2st) (40%,+10Hz)"> O primeiro valor de cada conjunto de parâmetros especifica o local da alteração de timbre como um percentual da duração do texto. O segundo valor especifica o valor para aumentar ou diminuir o timbre usando um valor relativo ou um valor de enumeração para o timbre (confira pitch ). O contorno de tom não funciona em palavras simples e frases curtas. É recomendável ajustar o contorno de tom em frases inteiras ou frases longas. |
Opcional |
pitch |
Indica o timbre de linha de base do texto. As alterações de timbre podem ser aplicadas no nível da frase. As mudanças de tom devem estar dentro de 0,5 a 1,5 vezes o áudio original. Você pode expressar o timbre como:
|
Opcional |
range |
Um valor que representa a amplitude do timbre para o texto. Expresse range usando os mesmos valores absolutos, os valores relativos ou os valores de enumeração usados para descrever pitch . |
Opcional |
rate |
Indica a velocidade da fala do texto. A velocidade da fala pode ser aplicada à palavra ou à frase. As alterações de taxa devem ser de 0.5 a 2 vezes o áudio original. Você pode expressar rate como:
|
Opcional |
volume |
Indica o nível de volume da voz que fala. As alterações de volume podem ser aplicadas no nível da frase. Você pode expressar o volume como:
|
Opcional |
Exemplos de prosody
Para obter informações sobre os valores que dão suporte aos atributos do elemento prosody
, consulte Ajustar prosódia.
Exemplo de alteração da taxa de fala
Este snippet SSML ilustra como o atributo rate
é usado para alterar a taxa de fala para 30% a mais do que a taxa padrão.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-AvaMultilingualNeural">
<prosody rate="+30.00%">
Enjoy using text to speech.
</prosody>
</voice>
</speak>
Exemplo de alteração de volume
Este snippet SSML ilustra como o atributo volume
é usado para alterar o volume para 20% a mais do que o volume padrão.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-AvaMultilingualNeural">
<prosody volume="+20.00%">
Enjoy using text to speech.
</prosody>
</voice>
</speak>
Exemplo de alteração de tom
Este snippet SSML ilustra como o atributo pitch
é usado para que a voz fale em um tom alto.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-AvaMultilingualNeural">
Welcome to <prosody pitch="high">Enjoy using text to speech.</prosody>
</voice>
</speak>
Exemplo de alteração de variação de tom
Este snippet do SSML ilustra como o atributo contour
é usado para alterar a variação.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-AvaMultilingualNeural">
<prosody contour="(60%,-60%) (100%,+80%)" >
Were you the only person in the room?
</prosody>
</voice>
</speak>
Ajustar ênfase
Você pode utilizar o elemento emphasis
opcional para adicionar ou remover a ênfase no nível da palavra do texto. Esse elemento só pode conter texto e os seguintes elementos: audio
, break
, emphasis
, lang
, phoneme
, prosody
, say-as
, sub
e voice
.
Observação
O ajuste de ênfase da palavra só está disponível para essas vozes neurais: en-US-GuyNeural
, en-US-DavisNeural
e en-US-JaneNeural
.
Para palavras que têm tom baixo e duração curta, o tom pode não ser elevado o suficiente para ser notado.
A tabela a seguir descreve os atributos do elemento emphasis
:
Atributo | Descrição | Obrigatório ou opcional |
---|---|---|
level |
Indica a intensidade da ênfase a ser aplicada:
Quando o atributo level não é especificado, o nível padrão é moderate . Para obter os detalhes sobre cada atributo, consulte o elemento de ênfase. |
Opcional |
Exemplos de emphasis
Para obter informações sobre os valores que dão suporte aos atributos do elemento emphasis
, consulte Ajustar ênfase.
Este trecho de SSML demonstra como você pode usar o elemento emphasis
para adicionar ênfase de nível moderado à palavra "reuniões."
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
<voice name="en-US-AndrewMultilingualNeural">
I can help you join your <emphasis level="moderate">meetings</emphasis> fast.
</voice>
</speak>
Adicionar um áudio gravado
O elemento audio
é opcional. Você pode usá-lo para inserir um áudio pré-gravado em um documento SSML. O corpo do elemento audio
pode conter um texto sem formatação ou marcação SSML falada se o arquivo de áudio não estiver disponível ou não puder ser reproduzido. O elemento audio
também pode conter um texto e os seguintes elementos: audio
, break
, p
, s
, phoneme
, prosody
, say-as
e sub
.
Qualquer áudio incluído no documento SSML precisa atender a estes requisitos:
- O arquivo de áudio deve ser um arquivo válido *.mp3, *.wav, *.opus, *.ogg, *.flac ou *.wma.
- O tempo total combinado de todos os arquivos de texto e áudio em uma só resposta não pode exceder 600 segundos.
- O áudio não pode conter nenhuma informação confidencial nem específica do cliente.
Observação
O elemento audio
não tem suporte na API de Áudio Longo. Para conversão de texto longo em fala, use a API de síntese em lotes.
A tabela a seguir descreve o uso dos atributos do elemento audio
:
Atributo | Descrição | Obrigatório ou opcional |
---|---|---|
src |
O local do URI do arquivo de áudio. O áudio precisa ser hospedado em um ponto de extremidade HTTPS acessível pela Internet. HTTPS é obrigatório. O domínio que hospeda o arquivo deve apresentar um certificado TLS/SSL válido e confiável. Você deve colocar o arquivo de áudio no Armazenamento de Blobs do Azure na mesma região do Azure que o ponto de extremidade de conversão de texto em fala para minimizar a latência. | Obrigatório |
Exemplos de audio
Para obter informações sobre os valores que têm suporte para os atributos do elemento audio
, consulte Adicionar áudio gravado.
Este trecho da SSML ilustra como utilizar o atributo src
para inserir o áudio de dois arquivos .wav.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-AvaMultilingualNeural">
<p>
<audio src="https://contoso.com/opinionprompt.wav"/>
Thanks for offering your opinion. Please begin speaking after the beep.
<audio src="https://contoso.com/beep.wav">
Could not play the beep, please voice your opinion now.
</audio>
</p>
</voice>
</speak>
Ajustar a duração do áudio
Use o elemento mstts:audioduration
para definir a duração do áudio de saída. Use esse elemento para ajudar a sincronizar o tempo de conclusão da saída de áudio. A duração do áudio pode ser diminuída ou aumentada entre 0.5
e 2
vezes a taxa do áudio original. O áudio original é o áudio sem nenhuma outra configuração de taxa. A taxa de fala é reduzida ou acelerada de acordo com o valor definido.
A configuração de duração do áudio se aplica a todo o texto de entrada dentro do elemento voice
que o envolve. Para redefinir ou alterar a configuração de duração do áudio novamente, será necessário usar um novo elemento voice
com a mesma voz ou com uma voz diferente.
A tabela a seguir descreve o uso dos atributos do elemento mstts:audioduration
:
Atributo | Descrição | Obrigatório ou opcional |
---|---|---|
value |
A duração solicitada da saída de áudio em segundos, como 2s , ou em milissegundos, como 2000ms .O valor máximo para a duração do áudio de saída é de 300 segundos. Esse valor deve estar entre 0.5 e 2 vezes o áudio original sem nenhuma outra configuração de taxa. Por exemplo, se a duração solicitada do áudio for 30s , o áudio original deve estar entre 15 e 60 segundos. Se você definir um valor fora desses limites, a duração será definida de acordo com o respectivo múltiplo mínimo ou máximo. Para áudio de saída com mais de 300 segundos, primeiro gere o áudio original sem nenhuma outra configuração de taxa e calcule a taxa a ser ajustada usando a taxa de fala para atingir a duração desejada. |
Obrigatório |
exemplos de duração de áudio mstts
Para obter informações sobre os valores que dão suporte aos atributos do elemento mstts:audioduration
, consulte Ajustar a duração do áudio.
Neste exemplo, o áudio original é de aproximadamente 15 segundos. O elemento mstts:audioduration
é utilizado para definir a duração do áudio para 20 segundos ou 20s
.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="http://www.w3.org/2001/mstts" xml:lang="en-US">
<voice name="en-US-AvaMultilingualNeural">
<mstts:audioduration value="20s"/>
If we're home schooling, the best we can do is roll with what each day brings and try to have fun along the way.
A good place to start is by trying out the slew of educational apps that are helping children stay happy and smash their schooling at the same time.
</voice>
</speak>
Adicionar um áudio de fundo
Use o elemento mstts:backgroundaudio
para adicionar um áudio de fundo aos documentos SSML ou combinar um arquivo de áudio com a conversão de texto em fala. Com mstts:backgroundaudio
, você pode executar um loop de um arquivo de áudio no fundo, usar fade in no início da conversão de texto em fala e fade out no final dela.
Se o áudio de fundo fornecido for menor do que a conversão de texto em fala ou o fade out, ele executará um loop. Se ele for maior do que a conversão de texto em fala, ele será interrompido quando o esmaecimento for concluído.
Só é permitido um arquivo de áudio de fundo por documento SSML. Você pode intercalar marcas audio
dentro do elemento voice
para adicionar mais áudio ao documento SSML.
Observação
O elemento mstts:backgroundaudio
deve ser colocado na frente de todos os elementos voice
. Se especificado, ele precisa ser o primeiro filho do elemento speak
.
O elemento mstts:backgroundaudio
não tem suporte na API de Áudio Longo. Para conversão de texto longo em fala, use a API de síntese em lotes (Versão prévia).
A tabela a seguir descreve o uso dos atributos do elemento mstts:backgroundaudio
:
Atributo | Descrição | Obrigatório ou opcional |
---|---|---|
src |
O local do URI do arquivo de áudio de fundo. | Obrigatório |
volume |
Especifica o volume do arquivo de áudio de fundo. Valores aceitos: 0 a 100 inclusive. O valor padrão é 1 . |
Opcional |
fadein |
A duração do início gradual do áudio de fundo em milissegundos. O valor padrão é 0 , que é o equivalente a sem fade in. Valores aceitos: 0 a 10000 inclusive. |
Opcional |
fadeout |
A duração do final gradual do áudio de fundo em milissegundos. O valor padrão é 0 , o que equivale a nenhum fade out. Valores aceitos: 0 a 10000 inclusive. |
Opcional |
Exemplos de mstss backgroundaudio
Para obter informações sobre os valores que dão suporte aos atributos do elemento mstts:backgroundaudi
, consulte Adicionar áudio de fundo.
<speak version="1.0" xml:lang="en-US" xmlns:mstts="http://www.w3.org/2001/mstts">
<mstts:backgroundaudio src="https://contoso.com/sample.wav" volume="0.7" fadein="3000" fadeout="4000"/>
<voice name="en-US-AvaMultilingualNeural">
The text provided in this document will be spoken over the background audio.
</voice>
</speak>