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.
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
- Internet Engineering Task Force (IETF) Solicitud de comentarios(RFC)2046
- iana.org/assignments/media-types/audio/basic
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
u8000
. 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 simplementeaudio/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 simplementeaudio/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
yPOST /v1/synthesize
, puede especificar un formato utilizando la cabecera de la solicitudAccept
o el parámetro de consultaaccept
.-
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 formatoaudio/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
-
- Con el método
/v1/synthesize
de WebSocket, debe especificar un formato utilizando el parámetro necesarioaccept
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)