Compartilhar via


Use a voz pessoal no seu aplicativo

É possível usar a ID do perfil do locutor da sua voz pessoal para sintetizar a fala em qualquer um dos 91 idiomas com suporte em mais de 100 localidades. Uma marca de localidade não é necessária. A voz pessoal usa a detecção automática de idioma no nível da frase.

Integrar a voz pessoal no seu aplicativo

É necessário usar a Linguagem de Marcação de Síntese de Fala (SSML) para usar a voz pessoal em seu aplicativo. A SSML é uma linguagem de marcação baseada em XML que fornece uma maneira padrão de marcar textos para a conversão de fala em texto para a geração de fala sintética. As marcas SSML são usadas para controlar a pronúncia, o volume, o tom, a taxa e outros atributos da saída da síntese de fala.

  • A propriedade speakerProfileId no SSML é usada para especificar a ID do perfil do locutor para a voz pessoal.

  • O nome da voz é especificado na propriedade name no SSML. Para voz pessoal, o nome da voz deve ser um dos nomes de voz do modelo base com suporte. Para obter uma lista dos nomes de voz do modelo básico com suporte, use a operação BaseModels_List da API de voz personalizada.

    Observação

    Os nomes de voz rotulados com o Latest, como DragonLatestNeural ou PhoenixLatestNeural, serão atualizados de tempos em tempos; seu desempenho pode variar com atualizações para melhorias contínuas. Se você quiser usar uma versão fixa, selecione uma rotulada com um número de versão, como PhoenixV2Neural.

  • DragonLatestNeural é um modelo base com similaridade de clonagem de voz superior em comparação com PhoenixLatestNeural. PhoenixLatestNeural é um modelo base com pronúncia mais precisa e latência menor do que DragonLatestNeural.

  • Para a voz pessoal, você pode usar o elemento <lang xml:lang> para ajustar a linguagem de fala. É o mesmo que com vozes multilíngues. Veja como usar o elemento lang para falar idiomas diferentes.

Veja um exemplo de SSML em uma solicitação de conversão de texto em fala com o nome da voz e a ID do perfil do locutor. O exemplo também demonstra como alternar idiomas de en-US para zh-HK usando o elemento <lang xml:lang>.

<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='DragonLatestNeural'> 
        <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. 
            <lang xml:lang='zh-HK'>我很高興聽到你覺得我很了不起,我讓你的旅行計劃更輕鬆、更有趣。</lang>
        </mstts:ttsembedding> 
    </voice> 
</speak>

Você pode usar o SSML por meio do SDK de Fala ou da API REST.

  • Síntese de fala em tempo real: use o SDK do Serviço Cognitivo do Azure para Fala ou a API REST para fazer a conversão de texto em fala.
    • Quando você usar o SDK de Fala, não defina a ID do Ponto de Extremidade, assim como a voz pré-criada.
    • Quando você usar a API REST, use o ponto de extremidade de vozes neurais predefinido.

Elementos SSML com suporte e sem suporte para voz pessoal

Para obter informações detalhadas sobre os elementos SSML com e sem suporte para modelos Phoenix e Dragon, consulte a tabela a seguir. Para obter instruções sobre como usar elementos SSML, consulte a estrutura e os eventos do documento SSML.

Element Descrição Compatível com o Phoenix Compatível com o Dragon
<voice> Especifica a voz e os efeitos opcionais (eq_car e eq_telecomhp8k). Sim Sim
<mstts:express-as> Especifica estilos e funções de fala. Não No
<mstts:ttsembedding> Especifica a propriedade speakerProfileId de uma voz pessoal. Sim Sim
<lang xml:lang> Especifica o idioma de fala. Sim Sim
<prosody> Ajusta o timbre, o contorno, o intervalo, a taxa e o volume.
   pitch Indica o timbre de linha de base do texto. Não No
   contour Representa as alterações no timbre. Não No
   range Representa a amplitude do timbre para o texto. Não No
   rate Indica a velocidade da fala do texto. Sim Sim
   volume Indica o nível de volume da voz que fala. Não No
<emphasis> Adiciona ou remove a acentuação no nível da palavra para o texto. Não No
<audio> Insere o áudio pré-gravado em um documento SSML. Sim No
<mstts:audioduration> Especifica a duração do áudio de saída. Não No
<mstts:backgroundaudio> Adiciona áudio em segundo plano aos documentos SSML ou mistura um arquivo de áudio com conversão de texto em fala. Sim No
<phoneme> Especifica a pronúncia fonética em documentos SSML.
   ipa Um dos alfabetos fonéticos. Sim No
   sapi Um dos alfabetos fonéticos. Não No
   ups Um dos alfabetos fonéticos. Sim No
   x-sampa Um dos alfabetos fonéticos. Sim No
<lexicon> Define como várias entidades são lidas no SSML. Sim Sim (somente alias de suporte)
<say-as> Indica o tipo de conteúdo, como número ou data, do texto do elemento. Sim Sim
<sub> Indica que o valor do texto do atributo de alias deve ser pronunciado em vez do texto contido no elemento. Sim Sim
<math> Usa o MathML como texto de entrada para pronunciar notações matemáticas corretamente no áudio de saída. Sim No
<bookmark> Obtém o deslocamento de cada marcador no fluxo de áudio. Sim No
<break> Substitui o comportamento padrão de intervalos ou pausas entre as palavras. Sim Sim
<mstts:silence> Insere pausas antes ou depois do texto ou entre duas frases adjacentes. Sim No
<mstts:viseme> Define a posição do rosto e da boca enquanto uma pessoa está falando. Sim No
<p> Denota parágrafos em documentos SSML. Sim Sim
<s> Denota frases em documentos SSML. Sim Sim

Recursos do SDK com suporte e sem suporte para voz pessoal

A tabela a seguir descreve quais recursos do SDK têm suporte nos modelos Phoenix e Dragon. Para obter detalhes sobre como utilizar esses recursos do SDK em seus aplicativos, consulte Assinar eventos de sintetizador.

Recursos de SDK Descrição Compatível com o Phoenix Compatível com o Dragon
Limite de palavra Sinaliza que foi recebido um marco de delimitação de palavras durante a síntese, fornecendo um período preciso de palavra durante o processo de síntese de fala. Sim No
Eventos de viseme Fornece informações de viseme (movimento de lábios, mandíbula e língua) durante a síntese, permitindo a sincronização visual. Sim No

Documentação de referência

Próximas etapas