Uso de la API Text to Speech

Completado

De forma similar a sus API de conversión de voz en texto , el servicio Azure Speech ofrece otras API REST para la síntesis de voz:

  • La API de Texto a voz, que es la forma principal de realizar la síntesis de voz.
  • La API de síntesis de Batch , diseñada para admitir operaciones por lotes que convierten grandes volúmenes de texto en audio, por ejemplo, para generar un libro de audio a partir del texto de origen.

Puede obtener más información sobre las API REST en la documentación de la API REST de texto a voz. En la práctica, la mayoría de las aplicaciones interactivas habilitadas para voz utilizan el servicio de voz de Azure a través de un SDK específico del lenguaje de programación.

Uso del SDK de Voz de Azure

Al igual que con el reconocimiento de voz, en la práctica, la mayoría de las aplicaciones interactivas habilitadas para voz se compilan mediante el SDK de Voz de Azure.

El patrón para implementar la síntesis de voz es similar al del reconocimiento de voz:

Diagrama que muestra cómo se crea un objeto SpeechSynthesizer a partir de speechConfig y AudioConfig, y su método SpeakTextAsync se usa para llamar a Speech API.

  1. Use un objeto SpeechConfig para encapsular la información necesaria para conectarse al recurso de Voz de Azure. En concreto, su ubicación y clave.
  2. Opcionalmente, use un objeto AudioConfig para definir el dispositivo de salida de la voz que se va a sintetizar. De forma predeterminada, este es el altavoz del sistema predeterminado, pero también puede especificar un archivo de audio o estableciendo explícitamente este valor en un valor NULL, puede procesar el objeto de secuencia de audio que se devuelve directamente.
  3. Utiliza SpeechConfig y AudioConfig para crear un objeto SpeechSynthesizer. Este objeto es un cliente proxy para text to speech API.
  4. Use los métodos del objeto SpeechSynthesizer para llamar a las funciones de API subyacentes. Por ejemplo, el método SpeakTextAsync() usa el servicio Voz de Azure para convertir texto en audio hablado.
  5. Procese la respuesta del servicio Voz de Azure. En el caso del método SpeakTextAsync , el resultado es un objeto SpeechSynthesisResult que contiene las siguientes propiedades:
    • AudioData
    • Propiedades
    • Motivo
    • ResultId

Cuando la voz se ha sintetizado correctamente, la propiedad Reason se establece en la enumeración SynthesizingAudioCompleted y la propiedad AudioData contiene la secuencia de audio (que, dependiendo de AudioConfig , puede que se haya enviado automáticamente a un altavoz o archivo).