Usar a API de conversão de texto em fala
Assim como nas APIs de conversão de fala em texto, o serviço de Fala de IA do Azure oferece outras APIs REST para a sintetização de voz:
- A API de conversão de texto em fala, que é a principal maneira de fazer a sintetização de voz.
- A API de Síntese em lote, projetada para operações em lote que convertem grandes volumes de texto em áudio – por exemplo, para gerar um audiolivro com base no texto de origem.
Você pode saber mais sobre as APIs REST na documentação da API REST de conversão de texto em fala. Na prática, a maioria dos aplicativos interativos habilitados para fala usa o serviço de Fala de IA do Azure por meio de um SDK específico a uma linguagem (de programação).
Usar o SDK da Fala de IA do Azure
Assim como no reconhecimento de fala, na prática a maioria dos aplicativos interativos habilitados para fala são criados usando o SDK de Fala de IA do Azure.
O padrão para implementar a sintetização de voz é semelhante ao do reconhecimento de fala:
- Use um objeto SpeechConfig para encapsular as informações necessárias para se conectar ao seu recurso da Fala de IA do Azure. Especificamente, sua localização e chave.
- Opcionalmente, use AudioConfig para definir o dispositivo de saída para a fala a ser sintetizada. Por padrão, é o alto-falante do sistema padrão, mas você também pode especificar um arquivo de áudio ou definir explicitamente esse valor como nulo para processar o objeto de fluxo de áudio retornado diretamente.
- Use SpeechConfig e AudioConfig para criar um objeto SpeechSynthesizer. Esse objeto é um cliente proxy para a API de conversão de texto em fala.
- Use os métodos do objeto SpeechSynthesizer para chamar as funções de API subjacentes. Por exemplo, o método SpeakTextAsync() usa o serviço de Fala de IA do Azure para converter texto em áudio falado.
- Processe a resposta do serviço de Fala de IA do Azure. No caso do método SpeakTextAsync, o resultado é um objeto SpeechSynthesisResult que contém as seguintes propriedades:
- AudioData
- Propriedades
- Motivo
- ResultId
Quando a fala é sintetizada com êxito, a propriedade Reason é definida como a enumeração SynthesizingAudioCompleted e a propriedade AudioData contém o fluxo de áudio (que, dependendo de AudioConfig, pode ter sido enviada automaticamente para um alto-falante ou arquivo).