IBM Cloud Docs
Utilización de formatos de audio

Utilización de formatos de audio

El servicio IBM Watson® Text to Speech puede devolver audio sintetizado en un número de formatos de audio populares (o tipos MIME). Para obtener información sobre todos los formatos admitidos, consulte Formatos de audio soportados.

Para hacer el mejor uso del servicio, debe conocer la frecuencia de muestreo del audio que devuelve el servicio y cómo especificar una tarifa distinta si es necesario. Para obtener más información, consulte Frecuencia de muestreo. El servicio siempre devuelve un audio de un solo canal para todos los formatos.

Frecuencia de muestreo

La frecuencia de muestreo es el número de ejemplos que se generan por segundo para el audio. La frecuencia de muestreo se mide en hercios (Hz) o en kilohercios (kHz). Por ejemplo, una frecuencia de 16.000 muestras por segundo es igual a 16.000 Hz (o 16 kHz).

A nivel interno, el servicio siempre sintetiza el audio con una frecuencia de muestreo de 22.050 Hz. Para muchos formatos, el servicio también devuelve el audio con esta frecuencia de muestreo. Para otros formatos, el servicio devuelve el audio con una frecuencia de muestreo distinta.

Para la mayoría de los formatos, puede especificar una frecuencia de muestreo distinta para el audio. Para los formatos audio/alaw, audio/l16 y audio/mulaw, debe especificar una frecuencia de muestreo. Especifique una frecuencia de muestreo incluyendo el parámetro rate={integer} con la especificación de formato de audio. Para obtener más información, consulte Especificación de un formato de audio.

Cuando se especifica una frecuencia de muestreo, el servicio vuelve a mostrar el audio de 22,050 Hz a la velocidad especificada antes de devolver el audio. Una frecuencia de muestreo especificada debe estar en el rango de 8 kHz a 192 kHz. Algunos formatos de audio restringen la velocidad a determinados valores; las descripciones de los formatos identifican tales restricciones.

Frecuencia del muestreo predeterminado

La forma más fiable de identificar la frecuencia de muestreo para cualquier audio que devuelva el servicio es extraer la información de la propia secuencia de audio. Para determinar la frecuencia, invoque el método /v1/synthesize con un texto simple (por ejemplo, "hello world") y especifique el formato y el códec que tenga previsto utilizar. A continuación, puede obtener la frecuencia de muestreo guardando la secuencia de audio en un archivo y abriéndola en un reproductor de audio como, por ejemplo, uno de la lista de Reproducir un archivo de audio.

Formatos de audio soportados

En la Tabla 1 se enumeran los formatos de audio en los que se puede solicitar el audio sintetizado. Por defecto, el servicio devuelve el audio en formato Ogg con el códec Opus (audio/ogg;codecs=opus).

El formato de audio Ogg no es compatible con el navegador Safari. Si utiliza el servicio Text to Speech con el navegador Safari, deberá especificar un formato diferente en el que desea que el servicio devuelva el audio. Para obtener más información, consulte Especificación de un formato de audio.

El servicio proporciona la información siguiente para cada formato:

  • Frecuencia de muestreo predeterminada muestra la frecuencia de muestreo para el audio en el formato indicado si no especifica ninguna frecuencia alternativa.
  • Parámetros necesarios indica los formatos para los que debe especificar una frecuencia de muestreo para el audio devuelto.
  • Parámetros opcionales identifica los formatos para los que puede especificar, opcionalmente, una frecuencia de muestreo del audio devuelto.

Tal como se muestra en la columna Formatos de audio para los formatos que aceptan un parámetro codecs, se separan todos los parámetros de la especificación de formato con un ; (punto y coma). Para obtener más información acerca de los distintos formatos, consulte las secciones posteriores a la tabla.

Resumen de formatos de audio compatibles
Formatos de audio Frecuencia de muestreo predeterminada Parámetros necesarios Parámetros opcionales
audio/alaw Ninguna rate={integer} Ninguna
audio/basic 8000 Hz Ninguna Ninguna
audio/flac 22.050 Hz Ninguna rate={integer}
audio/l16 Ninguna rate={integer} endianness=big-endian
endianness=little-endian
audio/mp3
audio/mpeg
22.050 Hz Ninguna rate={integer}
audio/mulaw Ninguna rate={integer} Ninguna
audio/ogg
audio/ogg;codecs=vorbis
22.050 Hz Ninguna rate={integer}
audio/ogg;codecs=opus 48,000 Hz Ninguna rate={integer}
audio/wav 22.050 Hz Ninguna rate={integer}
audio/webm
audio/webm;codecs=opus
48,000 Hz Ninguna Ninguna
audio/webm;codecs=vorbis 22.050 Hz Ninguna rate={integer}

Formato audio/alaw

A-law (audio/alaw) es un formato de audio de un solo canal con pérdida que se codifica utilizando datos de u-law (o mu-law) que son similares a los formatos audio/basic y audio/mulaw , aunque el algoritmo A-law genera diferentes características de señal. Debe especificar la frecuencia de muestreo con este formato. Por ejemplo, especifique audio/alaw;rate=8000 para un audio muestreado a 8 kHz.

Debido a la naturaleza de la transmisión del audio devuelto, puede ser que el audio A-law generado no funcione en todos los reproductores de audio. Concretamente, el atributo numSamples de la cabecera de la secuencia de audio está definido a 0 independientemente de la longitud del audio.

Formato audio/basic

Audio básico es un formato de audio de un solo canal, con mucha pérdida que se codifica utilizando datos u-law (o mu-law) de 8 bits muestreados a 8 kHz. Este formato proporciona un tipo de soporte de mínimo común denominador. El audio en este formato siempre tiene una frecuencia de muestreo de 8 kHz.

Para obtener más información, consulte

Formato audio/flac

Free Lossless Audio Codec (FLAC) (.flac) es un formato de código de audio comprimido sin pérdidas. Opcionalmente, puede especificar una frecuencia distinta a la del valor predeterminado de 22.050 Hz.

Formato audio/l16

Pulse-Code Modulation (PCM) lineal de 16 bits es un formato de datos de audio sin comprimir (a menudo .raw o .pcm). Con este formato de audio, debe especificar la frecuencia de muestreo. Por ejemplo, especifique audio/l16;rate=16000 para audio muestreado a 16 kHz.

Opcionalmente, puede especificar el valor endianness para el audio utilizando el parámetro endianness. El valor endianness indica la forma en que se ordenan los datos según la arquitectura de sistema subyacente:

  • Big-endian (endianness=big-endian) ordena los datos por el bit más significativo.
  • Little-endian (endianness=little-endian) ordena los datos por el bit menos significativo.

Por ejemplo, especifique audio/l16;rate=16000;endianness=big-endian para obtener audio muestreado a 16 kHz y devuelto en orden big-endian. Si omite el valor endianness, el valor predeterminado es little-endian. (La especificación del valor endianness es un problema solamente para el formato audio/l16, que no incluye una cabecera. El valor endianness no representa ningún problema para el esto de formatos.)

Para más información, consulte la solicitud de comentarios(RFC)2586 del IETF.

Formatos audio/mp3 y audio/mpeg

MP3 o Motion Picture Experts Group (MPEG) es un formato de compresión de datos con mucha pérdida (MP3 y MPEG se refieren al mismo formato). Puede especificar opcionalmente una frecuencia de muestreo distinta del valor predeterminado. La frecuencia de muestreo predeterminada es de 22.050 Hz para las voces Neural mejorada y Expresiva, y de 24.000 Hz para las voces Natural.

Formato audio/mulaw

audio mu-law (o u-law) de 8 bits es un formato de audio de un solo canal con mucha pérdida que se codifica utilizando datos u-law (o mu-law) de 8 bits. Con este formato de audio, debe especificar la frecuencia de muestreo. Por ejemplo, especifique audio/mulaw;rate=16000 para audio muestreado a 16 kHz.

Formato audio/ogg

Formato Ogg (.ogg) es un formato de contenedor abierto y gratuito que mantiene la Fundación Xiph.org. Puede especificar el parámetro codecs con el formato para solicitar una secuencia de audio que se comprime con uno de los siguientes códecs:

  • El códec Opus especificando audio/ogg;codecs=opus. Opcionalmente, puede especificar una frecuencia distinta a la del valor predeterminado de 48.000 Hz. Únicamente los valores siguientes son frecuencias de muestreo válidas: 48000, 24000, 16000, 12000 u 8000. Si especifica un valor distinto de éstos, el servicio devuelve un error.

    Una limitación actual hace que el servicio desestime una frecuencia de muestreo válida. El servicio siempre devuelve el audio con una frecuencia de muestreo de 48 kHz.

  • El códec Vorbis especificando audio/ogg;codecs=vorbis o simplemente audio/ogg. Opcionalmente, puede especificar una frecuencia distinta a la del valor predeterminado de 22.050 Hz.

Los dos códecs son formatos de compresión de audio con mucha pérdida, gratuitos, y abiertos. Opus es el códec preferido, pero en la especificación Ogg, el servicio devuelve el audio en formato Vorbis si se omite el códec. Si además se omite el formato de audio, de forma predeterminada, el servicio devuelve el audio en formato Ogg con el códec Opus.

Para obtener más información, consulte

Formato audio/wav

Waveform Audio File Format (WAV) (.wav) es un formato de contenedor estándar que se utiliza a menudo para las secuencias de bits de audio no comprimido, pero también puede contener audio comprimido. Opcionalmente, puede especificar una frecuencia distinta a la del valor predeterminado de 22.050 Hz.

Debido a la naturaleza de streaming del audio devuelto, puede ser que el audio WAV generado no funcione en todos los reproductores de audio. Concretamente, el atributo numSamples de la cabecera de la secuencia de audio está definido a 0 independientemente de la longitud del audio.

Formato audio/webm

Web Media (WebM) (.webm) es un formato de archivo multimedia abierto. Puede especificar el parámetro codecs con el formato para solicitar una secuencia de audio que se comprime con uno de los siguientes códecs:

  • El códec Opus especificando audio/webm;codecs=opus o simplemente audio/webm. El audio en este formato siempre tiene una frecuencia de muestreo de 48 kHz.
  • El códec Vorbis especificando audio/webm;codecs=vorbis. Opcionalmente, puede especificar una frecuencia distinta a la del valor predeterminado de 22.050 Hz.

Los dos códecs son formatos de compresión de audio con mucha pérdida, gratuitos, y abiertos. Opus es el códec preferido.

Para obtener más información, consulte

Especificar un formato de audio

De forma predeterminada, el servicio devuelve el audio en formato audio/ogg;codecs=opus. Puede especificar un formato de audio distinto con la interfaz HTTP o WebSocket.

  • Con los métodos HTTP GET y POST /v1/synthesize, puede especificar un formato utilizando la cabecera de la solicitud Accept o el parámetro de consulta accept.
    • Si utiliza la cabecera de solicitud Accept, especifique el formato y los parámetros adicionales, tal como se muestra en el ejemplo siguiente. En el ejemplo se especifica el formato audio/l16 y una frecuencia de muestreo de 16.000 Hz.

      audio/l16;rate=16000
      
    • Si utiliza el parámetro de consulta accept, debe codificar el formato como URL y los parámetros adicionales tal como se muestra en el ejemplo siguiente. El ejemplo especifica el mismo formato y la misma frecuencia de muestreo que el del ejemplo anterior.

      audio%2Fl16%3Brate%3D16000
      
    Para recibir audio en el formato predeterminado, se debe omitir tanto la cabecera como el parámetro de consulta. Para obtener más información, consulte Sintetizar texto a audio.
  • Con el método /v1/synthesize de WebSocket, debe especificar un formato utilizando el parámetro necesario accept del mensaje de texto que se pasa para iniciar la síntesis. Para recibir audio en el formato predeterminado, se especifica el valor */* en el parámetro. Para obtener más información, consulte Enviar texto de entrada.

Reproducir un archivo de audio

Para reproducir un archivo de audio que haya generado el servicio, utilice una de las siguientes herramientas:

  • Un navegador web como Google Chrome™, Firefox® o Microsoft® Internet Explorer®
  • Un reproductor de audio como Audacity® audacityteam.org) o FFmpeg ffmpeg.org)