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:
  • eq_car – Otimizar a experiência auditiva ao fornecer fala de alta fidelidade em carros, ônibus e outros automóveis fechados.
  • eq_telecomhp8k – Otimizar a experiência auditiva para fala de banda estreita em cenários de telecomunicações ou telefone. Você deve usar uma taxa de amostragem de 8 kHz. Se a taxa de amostragem não for de 8 kHz, a qualidade auditiva da saída da fala não será otimizada.

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-AndrewMultilingualNeural1 (masculino)
en-US-AvaMultilingualNeural1 (feminino)
en-US-BrianMultilingualNeural1 (masculino)
en-US-EmmaMultilingualNeural1 (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-USda 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:
  • Um valor absoluto: expresso como um número seguido por "Hz" (hertz). Por exemplo, <prosody pitch="600Hz">some text</prosody>.
  • Um valor relativo:
    • Como um número relativo: expresso como um número precedido por “+” ou “-” e seguido por “Hz” ou “st”, que especifica um valor para alterar o timbre. Por exemplo: <prosody pitch="+80Hz">some text</prosody> ou <prosody pitch="-2st">some text</prosody>. O "st" indica que a unidade de alteração é um semitom, que é a metade de um tom na escala diatônica padrão.
    • Como porcentagem: expresso como um número precedido por “+” (opcionalmente) ou “-” e seguido por “%”, indicando a alteração relativa. Por exemplo: <prosody pitch="50%">some text</prosody> ou <prosody pitch="-50%">some text</prosody>.
  • Um valor constante:
    • x-low (equivalente a 0,55,-45%)
    • low (equivalente a 0,8, -20%)
    • medium (equivalente a 1, valor padrão)
    • high (equivalente a 1,2, +20%)
    • x-high (equivalente a 1,45, +45%)
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:
  • Um valor relativo:
    • Como um número relativo: expresso como um número que funciona como um multiplicador do padrão. Por exemplo, um valor de 1 resultados sem alteração na taxa original. Um valor de 0.5 resultados em uma redução pela metade da taxa original. Um valor de 2 resultados em duas vezes a taxa original.
    • Como porcentagem: expresso como um número precedido por “+” (opcionalmente) ou “-” e seguido por “%”, indicando a alteração relativa. Por exemplo: <prosody rate="50%">some text</prosody> ou <prosody rate="-50%">some text</prosody>.
  • Um valor constante:
    • x-slow (equivalente a 0,5, -50%)
    • slow (equivalente a 0,64, -46%)
    • medium (equivalente a 1, valor padrão)
    • fast (equivalente a 1,55, +55%)
    • x-fast (equivalente a 2, +100%)
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:
  • Um valor absoluto: expresso como um número no intervalo de 0.0 a 100.0, de mais silencioso a mais alto, como 75. O valor padrão é 100.0.
  • Um valor relativo:
    • Como um número relativo: expresso como um número precedido por “+” ou “-” que especifica um valor para alterar o volume. Alguns exemplos incluem +10 ou -5.5.
    • Como porcentagem: expresso como um número precedido por “+” (opcionalmente) ou “-” e seguido por “%”, indicando a alteração relativa. Por exemplo: <prosody volume="50%">some text</prosody> ou <prosody volume="+3%">some text</prosody>.
  • Um valor constante:
    • silent (equivalente a 0)
    • x-soft (equivalente a 0,2)
    • soft (equivalente a 0,4)
    • medium (equivalente a 0,6)
    • loud (equivalente a 0,8)
    • x-loud (equivalente a 1, valor padrão)
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:
  • reduced
  • none
  • moderate
  • strong

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>

Próximas etapas