IBM Cloud Docs
Utilisation de formats audio

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/l16et 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.

Résumé des formats audio pris en charge
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 :

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 ou 8000. 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 simplement audio/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 simplement audio/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 et POST /v1/synthesize, vous pouvez spécifier un format à l'aide de l'en-tête de demande Accept ou du paramètre de requête accept.
    • 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 format audio/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
      
    Pour recevoir de l'audio au format par défaut, omettez à la fois l'en-tête et le paramètre de requête. Pour plus d'informations, voir Synthèse de texte en audio.
  • Avec la méthode WebSocket /v1/synthesize, vous devez spécifier un format à l'aide du paramètre accept 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)