Utilisation de formats audio
Le service IBM Watson® Text to Speech peut renvoyer de l'audio synthétisé dans un certain nombre de formats audio bien connus (ou types MIME). Pour plus d'informations sur tous les formats pris en charge, voir Formats audio pris en charge.
Pour utiliser au mieux le service, vous devez comprendre la fréquence d'échantillonnage des données audio que le service renvoie et savoir comment spécifier une autre fréquence si besoin. Pour plus d'informations, voir Fréquence d'échantillonnage. Le service renvoie toujours l'audio sur un canal unique pour tous les formats.
Fréquence d'échantillonnage
La fréquence d'échantillonnage (ou taux d'échantillonnage) correspond au nombre d'échantillons générés par seconde pour les données audio. La fréquence d'échantillonnage est mesurée en Hertz (Hz) ou en kilohertz (kHz). Par exemple, une fréquence de 16 000 échantillons par seconde équivaut à 16 000 Hz (ou 16 kHz).
En interne, le service synthétise toujours l'audio avec une fréquence d'échantillonnage de 22 050 Hz. Pour de nombreux formats, le service renvoie également l'audio avec cette fréquence d'échantillonnage. Pour les autres formats, le service renvoie l'audio avec une autre fréquence d'échantillonnage.
Pour la plupart des formats, vous pouvez spécifier une autre fréquence d'échantillonnage pour les données audio. Pour les formats audio/alaw
, audio/l16
et audio/mulaw
, vous devez spécifier un taux d'échantillonnage.
Vous spécifiez une fréquence d'échantillonnage en incluant le paramètre rate={integer}
avec la spécification de format audio. Pour plus d'informations, voir Spécification d'un format audio.
Lorsque vous spécifiez une fréquence d'échantillonnage, le service ré-échantillonne les données audio à partir de 22 050 Hz et les renvoie à la fréquence spécifiée. Une fréquence d'échantillonnage spécifiée doit être comprise entre 8 kHz et 192 kHz. Certains formats audio limitent la fréquence à des valeurs spécifiques. Les descriptions des formats identifient ce type de restrictions.
Détermination de la fréquence d'échantillonnage
Le moyen le plus fiable d'identifier la fréquence d'échantillonnage de n'importe quelles données audio renvoyées par le service consiste à extraire les informations du flux audio proprement dit. Pour déterminer la fréquence, appelez la méthode
/v1/synthesize
avec un texte simple (par exemple, "hello world") et spécifiez le format et le codec que vous prévoyez d'utiliser. Vous pouvez alors obtenir la fréquence d'échantillonnage en enregistrant le flux audio
dans un fichier et en l'ouvrant dans un lecteur audio, tel que l'un de ceux répertoriés dans la rubrique Lecture d'un fichier audio.
Formats audio pris en charge
Le tableau 1 répertorie les formats audio dans lesquels vous pouvez demander des données audio synthétisées. Par défaut, le service renvoie l'audio au format Ogg avec le codec Opus (audio/ogg;codecs=opus
).
Le format audio Ogg n'est pas pris en charge par le navigateur Safari. Si vous utilisez le service Text to Speech avec le navigateur Safari, vous devez spécifier un format différent dans lequel vous souhaitez que le service renvoie l'audio. Pour plus d'informations, voir Spécification d'un format audio.
Le service fournit les informations suivantes pour chaque format :
- Fréquence d'échantillonnage par défaut : fréquence d'échantillonnage des données audio au format indiqué, si vous n'avez pas spécifié de fréquence alternative.
- Paramètres obligatoires : indique les formats pour lesquels vous devez spécifier une fréquence d'échantillonnage pour les données audio renvoyées.
- Paramètres facultatifs : identifie les formats pour lesquels vous pouvez éventuellement spécifier une fréquence d'échantillonnage ou d'autres caractéristiques des données audio renvoyées.
Comme indiqué dans la colonne Formats audio pour les formats qui acceptent un paramètre codecs
, vous séparez tous les paramètres de la spécification de format par un point-virgule (;
). Pour plus d'informations
sur les différents formats, voir les sections qui se trouvent après le tableau.
Formats audio | Fréquence d'échantillonnage par défaut | Paramètres obligatoires | Paramètres facultatifs |
---|---|---|---|
audio/alaw | Aucun | rate={integer} |
Aucun |
audio/basic | 8 000 Hz | Aucun | Aucun |
audio/flac | 22 050 Hz | Aucun | rate={integer} |
audio/l16 | Aucun | rate={integer} |
endianness=big-endian endianness=little-endian |
audio/mp3 Audio / mpeg |
22 050 Hz | Aucun | rate={integer} |
audio/mulaw | Aucun | rate={integer} |
Aucun |
audio/ogg audio/ogg;codecs=vorbis |
22 050 Hz | Aucun | rate={integer} |
audio/ogg;codecs=opus | 48 000 Hz | Aucun | rate={integer} |
audio/wav | 22 050 Hz | Aucun | rate={integer} |
audio/webm audio/webm;codecs=opus |
48 000 Hz | Aucun | Aucun |
audio/webm;codecs=vorbis | 22 050 Hz | Aucun | rate={integer} |
Format audio/alaw
A-law (audio/alaw
) est un format audio à canal unique qui est codé en utilisant des données A-law (ou de mu-law) similaires aux formats audio/basic
et audio/mulaw
, bien que l'algorithme A-law
produise des caractéristiques de signal différentes. Vous devez spécifier le taux d'échantillonnage avec ce format. Par exemple, indiquez audio/alaw;rate=8000
pour l'audio échantillonné à 8 kHz.
En raison de la diffusion en continu de l'audio retourné, l'audio A-law qui est généré risque de ne pas fonctionner dans tous les lecteurs audio. Plus spécifiquement, l'attribut numSamples
dans l'en-tête du flux audio a pour valeur
0
quelle que soit la longueur des données audio.
Format audio/basic
Audio de base est un format audio monocanal avec pertes, codé à l'aide de données u-law (ou mu-law) sur 8 bits, échantillonnées à 8 kHz. Ce format fournit un type de support avec le plus petit dénominateur commun. La fréquence d'échantillonnage des données audio dans ce format est toujours de 8 kHz.
Pour plus d'informations, voir :
- Demande de commentaires(RFC)2046 de l'Internet Engineering Task Force (IETF)
- iana.org/assignments/media-types/audio/basic
Format audio/flac
Free Lossless Audio Codec (FLAC) (.flac
) est un format de codage audio compressé sans perte. Vous pouvez le cas échéant spécifier une fréquence d'échantillonnage autre que la fréquence par défaut fixée à 22 050 Hz.
Format audio/l16
Modulation linéaire 16 bits par impulsions et codage (PCM) est un format de données audio non compressé (souvent .raw
ou .pcm
). Vous devez spécifier la fréquence d'échantillonnage avec ce format audio. Par
exemple, spécifiez audio/l16;rate=16000
pour l'audio échantillonné à 16 kHz.
Vous pouvez éventuellement spécifier l'ordre d'octets pour les données audio à l'aide du paramètre endianness
. L'ordre d'octets indique comment sont ordonnés les octets de données selon l'architecture d'ordinateur sous-jacente
:
- Big-endian (
endianness=big-endian
) ordonne les données par bit de poids fort. - Little-endian (
endianness=little-endian
) ordonne les données par bit de poids faible.
Par exemple, spécifiez audio/l16;rate=16000;endianness=big-endian
pour obtenir des données audio échantillonnées à 16 kHz et renvoyées dans l'odre big-endian. Si vous omettez l'ordre d'octets, la valeur par défaut est little-endian.
(La spécification de l'ordre d'octets ne concerne que le format audio/l16
, qui n'inclut pas d'en-tête. Elle ne s'applique pas aux autres formats.)
Pour plus d'informations, voir l'appel à commentaires(RFC)2586 de l'IETF.
audio/mp3 and audio/mpeg formats
MP3 ou Motion Picture Experts Group (MPEG) est un format de compression de données avec perte (MP3 et MPEG désignent le même format). Vous pouvez éventuellement spécifier un taux d'échantillonnage différent de la valeur par défaut. La fréquence d'échantillonnage par défaut est de 22 050 Hz pour les voix neuronales et expressives améliorées, et de 24 000 Hz pour les voix naturelles.
Format audio/mulaw
Audio mu-law (ou u-law) 8 bits est un format audio monocanal avec perte, codé à l'aide de données u-law (ou mu-law) sur 8 bits. Vous devez spécifier la fréquence d'échantillonnage avec ce format audio. Par exemple, spécifiez audio/mulaw;rate=16000
pour les données audio échantillonnées à 16 kHz.
Format audio/ogg
Format ogg (.ogg
) est un format de conteneur libre et ouvert géré par Xiph.org Foundation. Vous pouvez spécifier le paramètre codecs
avec le format pour demander un flux audio qui est compressé avec l'un
des codecs suivants :
-
Le codec Opus, en spécifiant
audio/ogg;codecs=opus
. Vous pouvez le cas échéant spécifier une fréquence d'échantillonnage autre que la fréquence par défaut fixée à 48 0000 Hz. Seules les valeurs suivantes sont des fréquences d'échantillonnage valides :48000
,24000
,16000
,12000
ou8000
. Si vous spécifiez une valeur différente, le service renvoie une erreur.Une limitation en cours entraîne la non prise en compte par le service d'une fréquence d'échantillonnage valide. Le service renvoie toujours les données audio avec une fréquence d'échantillonnage de 48 kHz.
-
Le codec Vorbis, en spécifiant
audio/ogg;codecs=vorbis
ou simplementaudio/ogg
. Vous pouvez le cas échéant spécifier une fréquence d'échantillonnage autre que la fréquence par défaut fixée à 22 050 Hz.
Les deux codecs sont des formats de compression audio gratuits, ouverts et avec pertes. Opus est le codec préféré, mais selon la spécification Ogg, le service renvoie l'audio au format Vorbis si vous omettez le codec. Si vous omettez complètement un format audio, le service renvoie l'audio au format Ogg avec le codec Opus par défaut.
Pour plus d'informations, voir :
Format audio/wav
Waveform Audio File Format (WAV) (.wav
) est un format de conteneur standard qui est souvent utilisé pour les flots de bits audio non compressés, mais peut également contenir de l’audio compressé. Vous pouvez le cas échéant
spécifier une fréquence d'échantillonnage autre que la fréquence par défaut fixée à 22 050 Hz.
En raison de la nature en continu des données audio renvoyées, les données audio WAV générées peuvent ne pas fonctionner sur tous les lecteurs audio. Plus spécifiquement, l'attribut numSamples
dans l'en-tête du flux audio a pour
valeur 0
quelle que soit la longueur des données audio.
Format audio/webm
Web Media (WebM) (.webm
) est un format de fichier multimédia ouvert. Vous pouvez spécifier le paramètre codecs
avec le format pour demander un flux audio qui est compressé avec l'un des codecs suivants :
- Le codec Opus, en spécifiant
audio/webm;codecs=opus
ou simplementaudio/webm
. La fréquence d'échantillonnage des données audio dans ce format est toujours de 48 kHz. - Le codec Vorbis, en spécifiant
audio/webm;codecs=vorbis
. Vous pouvez le cas échéant spécifier une fréquence d'échantillonnage autre que la fréquence par défaut fixée à 22 050 Hz.
Les deux codecs sont des formats de compression audio gratuits, ouverts et avec pertes. Opus est le codec préféré.
Pour plus d'informations, voir :
Spécification d'un format audio
Par défaut, le service renvoie l'audio au format audio/ogg;codecs=opus
. Vous pouvez spécifier un autre format audio avec l'interface HTTP ou WebSocket.
- Avec les méthodes HTTP
GET
etPOST /v1/synthesize
, vous pouvez spécifier un format à l'aide de l'en-tête de demandeAccept
ou du paramètre de requêteaccept
.-
Si vous utilisez l'en-tête de demande
Accept
, vous spécifiez le format et des paramètres supplémentaires, comme illustré dans l'exemple ci-après. L'exemple spécifie le formataudio/l16
et la fréquence d'échantillonnage 16 000 Hz.audio/l16;rate=16000
-
Si vous utilisez le paramètre de requête
accept
, vous devez coder dans l'URL le format et des paramètres supplémentaires, comme illustré dans l'exemple ci-après. L'exemple spécifie les mêmes format et fréquence d'échantillonnage que l'exemple précédent.audio%2Fl16%3Brate%3D16000
-
- Avec la méthode WebSocket
/v1/synthesize
, vous devez spécifier un format à l'aide du paramètreaccept
obligatoire du message texte que vous transmettez pour lancer la synthèse. Pour recevoir de l'audio au format par défaut, spécifiez la valeur*/*
pour le paramètre. Pour plus d'informations, voir Envoi d'un texte en entrée.
Lecture d'un fichier audio
Pour lire un fichier audio généré par le service, utilisez l'un des outils suivants :
- Un navigateur Web tel que Google Chrome™, Firefox® ou Microsoft® Internet Explorer®
- Un lecteur audio tel que Audacity® audacityteam.org ou FFmpeg ffmpeg.org)