Migrar código da API de áudio longo para a API de síntese em lotes

A API de síntese em lote fornece síntese assíncrona de conversão de texto em fala de formato longo. Este artigo descreve os benefícios da atualização da API de áudio longo para a API de síntese em lote e detalhes sobre como fazer isso.

Importante

A API de síntese em lote está disponível para o público geral. a API Long Audio será desativada em 1º de abril de 2027.

Caminho base e versão

Atualize o ponto de extremidade de https://YourSpeechRegion.customvoice.api.speech.microsoft.com para ou https://YourSpeechRegion.api.cognitive.microsoft.com você pode usar o domínio personalizado: https://{customDomainName}.cognitiveservices.azure.com/.

Atualize o caminho base em seu código de /texttospeech/v3.0/longaudiosynthesis para ./texttospeech/batchsyntheses

Atualize a versão do caminho base para a cadeia de caracteres /texttospeech/v3.0/longaudiosynthesis de consulta para ?api-version=2024-04-01.

Por exemplo, para listar trabalhos de síntese para o recurso de Fala na eastus região, use https://eastus.api.cognitive.microsoft.com/texttospeech/batchsyntheses?api-version=2024-04-01 em vez de https://eastus.customvoice.api.speech.microsoft.com/api/texttospeech/v3.0/longaudiosynthesis.

Regiões e endpoints

A API de síntese em lote está disponível em mais regiões de Fala.

A API de Áudio Longo é limitada às seguintes regiões:

Região Ponto de extremidade
Leste da Austrália https://australiaeast.customvoice.api.speech.microsoft.com
Leste dos EUA https://eastus.customvoice.api.speech.microsoft.com
Centro da Índia https://centralindia.customvoice.api.speech.microsoft.com
Centro-Sul dos Estados Unidos https://southcentralus.customvoice.api.speech.microsoft.com
Sudeste Asiático https://southeastasia.customvoice.api.speech.microsoft.com
Sul do Reino Unido https://uksouth.customvoice.api.speech.microsoft.com
Europa Ocidental https://westeurope.customvoice.api.speech.microsoft.com

Lista de vozes

A API de síntese em lotes dá suporte a todos os estilos e vozes de conversão de texto em fala.

A API de Áudio Longo é limitada ao conjunto de vozes retornado por uma solicitação GET para https://<endpoint>/api/texttospeech/v3.0/longaudiosynthesis/voices.

Entradas de texto

As entradas de texto de síntese em lote são enviadas em uma carga JSON de até 2 megabytes.

Entradas de texto da API de Áudio Longo são carregadas de um arquivo que atende aos seguintes requisitos:

  • Um arquivo de texto sem formatação (.txt) ou texto SSML (.txt) codificado como UTF-8 com BOM (marca de ordem de byte). Não use arquivos compactados, como ZIP. Se houver mais de um arquivo de entrada, será necessário enviar várias solicitações.
  • Contém mais de 400 caracteres de texto sem formatação ou 400 caracteres faturáveis de texto SSML e menos de dez mil parágrafos. No texto sem formatação, cada parágrafo é separado por uma nova linha. No texto SSML, cada parte é considerado um parágrafo. Separe as partes SSML por parágrafos diferentes.

Com a API de síntese em lotes, você pode usar qualquer um dos elementos SSML compatíveis, incluindo os elementos audio, mstts:backgroundaudio e lexicon. A API de áudio longo não dá suporte aos audioelementos , mstts:backgroundaudioe .lexicon

Formatos de saída de áudio

A API de síntese em lotes dá suporte a todos os formatos de saída de áudio de conversão de texto em fala.

A API de Áudio Longo é limitada ao conjunto de formatos de saída de áudio a seguir. A taxa de amostragem para vozes de áudio longas é de 24kHz, não 48kHz. Outras taxas de amostragem podem ser obtidas por meio do aumento ou diminuição da taxa de amostragem ao sintetizar.

  • riff-8khz-16bit-mono-pcm
  • riff-16khz-16bit-mono-pcm
  • riff-24khz-16bit-mono-pcm
  • riff-48khz-16bit-mono-pcm
  • audio-16khz-32kbitrate-mono-mp3
  • audio-16khz-64kbitrate-mono-mp3
  • audio-16khz-128kbitrate-mono-mp3
  • audio-24khz-48kbitrate-mono-mp3
  • audio-24khz-96kbitrate-mono-mp3
  • audio-24khz-160kbitrate-mono-mp3

Obtendo resultados

Com a API de síntese em lote, use a URL da outputs.result propriedade da resposta de síntese em lote HTTP GET. Os resultados estão em um arquivo ZIP que contém o áudio (como 0001.wav), um resumo e os detalhes de depuração.

As entradas e resultados de texto da API de Áudio Longo são retornados por meio de duas URLs de conteúdo separadas, conforme mostrado no exemplo a seguir. Aquele com "kind": "LongAudioSynthesisScript" é o script de entrada enviado. O outro, com "kind": "LongAudioSynthesisResult", é o resultado dessa solicitação. Os dois arquivos zip estão disponíveis para download na URL que aparece na propriedade links.contentUrl deles.

Limpando recursos

A API de síntese em lote dá suporte a até 300 trabalhos de síntese em lote que não têm um status de "Bem-sucedido" ou "Falha". O serviço de Fala mantém cada histórico de síntese por até 31 dias ou a duração da propriedade de solicitação timeToLiveInHours , o que ocorrer primeiro. A data e a hora da exclusão automática (para trabalhos de síntese com um status de "Êxito" ou "Falha") é igual às propriedades lastActionDateTime + timeToLiveInHours.

A API de Áudio Longo é limitada a 20.000 solicitações para cada conta de assinatura do Azure. O serviço de Fala não remove o histórico de trabalho automaticamente. Você precisa remover o histórico de execução de trabalho anterior antes de fazer novas solicitações que, de outra forma, excederiam o limite.

Próximas etapas