IBM Cloud Docs
Audioformate verwenden

Audioformate verwenden

Der IBM Watson® Text to Speech-Service kann synthetisch erstellte Audioausgabe in einer Reihe gängiger Audioformate (oder MIME-Typen) zurückgeben. Informationen zu allen Formaten, die unterstützt werden, enthält der Abschnitt Unterstützte Audioformate.

Um den Service optimal nutzen zu können, sollten Sie genau wissen, mit welcher Abtastrate der Service Audio zurückgibt und wie Sie bei Bedarf gegebenenfalls eine andere Rate angeben können. Weitere Informationen finden Sie im Abschnitt Abtastrate. Für alle Formate gibt der Service Audio stets im Einkanalton zurück.

Abtastrate

Die Abtastrate (oder Abtastfrequenz) ist die Anzahl der Abtastungen, die pro Sekunde für Audio generiert werden. Die Abtastrate wird in Hertz (Hz) oder Kilohertz (kHz) gemessen. Beispielsweise entspricht eine Rate von 16.000 Abtastungen pro Sekunde der Frequenz 16.000 Hz (bzw. 16 kHz).

Intern erfolgt die synthetische Erstellung von Audio durch den Service stets mit einer Abtastrate von 22.050 Hz. Bei vielen Formaten gibt der Service Audio auch mit dieser Abtastrate zurück. Bei anderen Formaten gibt der Service Audio mit einer anderen Abtastrate zurück.

Bei den meisten Formaten können Sie eine andere Abtastrate für Audio angeben. Für die Formate audio/alaw, audio/l16 und audio/mulaw müssen Sie eine Abtastrate angeben. Die Angabe einer Abtastrate erfolgt durch die Einbindung des Parameters rate={integer} in die Spezifikation des Audioformats. Weitere Informationen enthält der Abschnitt Audioformat angeben.

Wenn Sie eine Abtastrate angeben, tastet der Service das Audio von 22.050 Hz mit der angegebenen Rate erneut ab und gibt dann das Audio zurück. Die angegebene Abtastrate muss im Bereich von 8 kHz bis 192 kHz liegen. Bei einigen Audioformaten ist die Rate auf bestimmte Werte beschränkt. Derartige Einschränkungen werden in den Beschreibungen der entsprechenden Formate genannt.

Abtastrate bestimmen

Die Abtastrate für jede Art von Audio, die vom Service zurückgegeben wird, kann am zuverlässigsten durch Extrahieren der Informationen aus dem eigentlichen Audiodatenstrom ermittelt werden. Zur Ermittlung der Rate rufen Sie die Methode /v1/synthesize mit einem einfachen Text (wie zum Beispiel "Hallo Welt") auf und geben das gewünschte Format sowie den Codec an, den Sie verwenden möchten. Sie erhalten die Abtastrate, indem Sie den Audiodatenstrom dann in einer Datei speichern und anschließend in einem Audioplayer öffnen, wie zum Beispiel in einem der im Abschnitt Audiodatei wiedergeben aufgeführten.

Unterstützte Audioformate

Tabelle 1 enthält eine Auflistung der Audioformate, in denen Sie synthetisch erstellte Audioausgabe anfordern können. Standardmäßig liefert der Dienst das Audio im Ogg-Format mit dem Opus-Codec (audio/ogg;codecs=opus).

Das Ogg-Audioformat wird vom Safari-Browser nicht unterstützt. Wenn Sie den Dienst Text to Speech mit dem Safari-Browser verwenden, müssen Sie ein anderes Format angeben, in dem der Dienst das Audio zurückgeben soll. Weitere Informationen enthält der Abschnitt Audioformat angeben.

Der Service stellt für jedes Format die folgenden Informationen bereit:

  • Standardabtastrate zeigt die Abtastrate für Audio im angezeigten Format an, sofern Sie keinen alternativen Wert für die Rate angeben.
  • Erforderliche Parameter gibt diejenigen Formate an, für die Sie eine Abtastrate für die zurückgegebene Audioausgabe angeben müssen.
  • Optionale Parameter gibt Formate an, für die Sie wahlweise eine Abtastrate oder andere Merkmale der zurückgegebenen Audioausgabe angeben können.

Wie in der Spalte Audioformate für diejenigen Formate zu sehen ist, bei denen ein Parameter codecs angegeben werden kann, werden die einzelnen Parameter in der Formatspezifikation jeweils mit einem ; (Semikolon) von einander getrennt. Weitere Informationen zu den unterschiedlichen Formaten finden Sie in den Abschnitten, die der Tabelle folgen.

Zusammenfassung der unterstützten Audioformate
Audioformate Standardabtastrate Erforderliche Parameter Optionale Parameter
audio/alaw Keine rate={integer} Keine
audio/basic 8.000 Hz Keine Keine
audio/flac 22.050 Hz Keine rate={integer}
audio/l16 Keine rate={integer} endianness=big-endian
endianness=little-endian
audio/mp3
audio/MPEG
22.050 Hz Keine rate={integer}
audio/mulaw Keine rate={integer} Keine
audio/ogg
audio/ogg;codecs=vorbis
22.050 Hz Keine rate={integer}
audio/ogg;codecs=opus 48.000 Hz Keine rate={integer}
audio/wav 22.050 Hz Keine rate={integer}
audio/webm
audio/webm;codecs=opus
48.000 Hz Keine Keine
audio/webm;codecs=vorbis 22.050 Hz Keine rate={integer}

Format 'audio/alaw'

A-Law (audio/alaw) ist ein verlustbehaftetes Einzelkanalaudioformat, das unter Verwendung von U-Law-Daten (oder Mu-Law-Daten) codiert wird, die den Formaten audio/basic und audio/mulaw ähneln, obwohl der A-Law-Algorithmus unterschiedliche Signalmerkmale erzeugt. Sie müssen die Abtastrate mit diesem Format angeben. Geben Sie beispielsweise audio/alaw;rate=8000 für Audiodaten an, die mit 8 kHz abgetastet werden.

Aufgrund des Streaming-Charakters der zurückgegebenen Audiodaten funktioniert die generierte A-law-Audiodatei möglicherweise nicht in allen Audioplayern. Insbesondere wird für das Attribut numSamples im Header des Audiodatenstroms der Wert 0 festgelegt, und zwar unabhängig von der Länge des Audios.

Format 'audio/basic'

Das Basisaudioformat ist ein verlustbehaftetes Einkanalaudioformat, das unter Verwendung von mit 8 kHz abgetasteten 8-Bit-U-Law-Daten (oder Mu-Law-Daten) codiert wird. Dieses Format stellt einen Medientyp mit dem kleinsten gemeinsamen Nenner bereit. Die Audioausgabe in diesem Format hat stets eine Abtastrate von 8 kHz.

Weitere Informationen finden Sie

Format 'audio/flac'

Free Lossless Audio Codec (FLAC) (Freier verlustfreier Audio-Coder-Decoder) ist ein Codierungsformat zur verlustfreien Komprimierung von Audiodaten (Dateierweiterung .flac). Optional können Sie eine andere Abtastrate als die Standardrate von 22.050 Hz angeben.

Format 'audio/l16'

Die lineare 16-Bit-PCM (Pulscodemodulation) ist ein Audiodatenformat ohne Komprimierung (häufig mit der Dateierweiterung .raw oder .pcm). Bei diesem Audioformat müssen Sie die Abtastrate angeben. Geben Sie beispielsweise audio/l16;rate=16000 für Audiodaten an, die mit 16 kHz abgetastet werden.

Optional können Sie die Endianness durch Verwendung des Parameters endianness angeben. Die Endianness gibt an, wie Bytes von Daten durch die zugrunde liegende Computerarchitektur angeordnet werden:

  • Big Endian (endianness=big-endian) ordnet Daten der höchsten Bitwertigkeit.
  • Little Endian (endianness=little-endian) ordnet Daten nach der niedrigsten Bitwertigkeit.

Wenn Sie zum Beispiel audio/l16;rate=16000;endianness=big-endian angeben, erhalten Sie Audiodaten, die mit 16 kHz abgetastet und in Big-Endian-Reihenfolge zurückgegeben werden. Wenn Sie die Endianness weglassen, wird als Standardwert stets Little Endian (little-endian) verwendet. (Die Angabe der Endianness ist nur für das Format audio/l16 ein Problem, welches keinen Header enthält. Bei den anderen Formaten ergibt sich durch die Endianness keine Problemstellung.)

Weitere Informationen finden Sie im IETF Request for Comment(RFC)2586.

Formate 'audio/mp3' und 'audio/mpeg'

MP3 bzw. Motion Picture Experts Group (MPEG) ist ein verlustbehaftetes Datenkomprimierungsformat. Die Bezeichnungen 'MP3' und 'MPEG' beziehen sich auf dasselbe Format. Sie können optional eine andere Abtastrate als den Standardwert angeben. Die Standardabtastrate beträgt 22.050 Hz für Enhanced Neural und Expressive Stimmen und 24.000 Hz für Natural Stimmen.

Format 'audio/mulaw'

8-Bit-Mu-Law-Audio (oder U-Law-Audio) ist ein verlustbehaftetes Einkanalaudioformat, das unter Verwendung von 8-Bit-Mu-Law-Daten codiert wird. Bei diesem Audioformat müssen Sie die Abtastrate angeben. Geben Sie beispielsweise audio/mulaw;rate=16000 für Audiodaten an, die mit 16 kHz abgetastet werden.

Format 'audio/ogg'

Das Format Ogg ist ein patentfreies offen konzipiertes Containerformat, das von der Xiph.org Foundation verwaltet wird (Dateierweiterung .ogg). Sie können den Parameter codecs mit dem Format angeben, um einen Audiodatenstrom anzufordern, der mit einem der folgenden Codecs komprimiert ist:

  • Codec Opus: Diese Komprimierung kann durch die Angabe von audio/ogg;codecs=opus angefordert werden. Optional können Sie eine andere Abtastrate als die Standardrate von 48.000 Hz angeben. Als Abtastraten sind nur die folgenden Werte gültig: 48000, 24000, 16000, 12000 und 8000. Wenn Sie einen anderen als diese Werte angeben, gibt der Service einen Fehler zurück.

    Aufgrund einer gegenwärtigen Einschränkung berücksichtigt der Service die Angabe einer gültigen Abtastrate nicht. Der Service gibt Audio stets mit einer Abtastrate von 48 kHz zurück.

  • Codec Vorbis: Diese Komprimierung kann durch die Angabe von audio/ogg;codecs=vorbis oder einfach audio/ogg angefordert werden. Optional können Sie eine andere Abtastrate als die Standardrate von 22.050 Hz angeben.

Bei beiden Codecs handelt es sich um patentfreie, offen konzipierte verlustbehaftete Audiokomprimierungsformate. Opus ist der bevorzugte Codec, aber gemäß der Ogg-Spezifikation gibt der Service die Audioausgabe im Vorbis-Format zurück, falls Sie den Codec nicht angeben. Wenn Sie das Audioformat gänzlich weglassen, gibt der Service die Audioausgabe standardmäßig im Format 'Ogg' mit Opus-Codec zurück.

Weitere Informationen finden Sie

Format 'audio/wav'

Waveform Audio File Format (WAV) ist ein Standardcontainerformat, das häufig für nicht komprimierte Audiobitdatenströme verwendet wird, aber auch komprimierte Audiodaten enthalten kann (Dateierweiterung .wav). Optional können Sie eine andere Abtastrate als die Standardrate von 22.050 Hz angeben.

Aufgrund der Streaming-Spezifik des zurückgegebenen Audios funktioniert das generierte WAV-Audio möglicherweise nicht bei allen Audioplayern. Insbesondere wird für das Attribut numSamples im Header des Audiodatenstroms der Wert 0 festgelegt, und zwar unabhängig von der Länge des Audios.

Format 'audio/webm'

Web Media (WebM) ist ein offen konzipiertes Mediendateiformat (Dateierweiterung .webm). Sie können den Parameter codecs mit dem Format angeben, um einen Audiodatenstrom anzufordern, der mit einem der folgenden Codecs komprimiert ist:

  • Codec Opus: Diese Komprimierung kann durch die Angabe von audio/webm;codecs=opus oder einfach audio/webm angefordert werden. Audio in diesem Format hat stets eine Abtastrate von 48 kHz.
  • Code Vorbis: Diese Komprimierung kann durch die Angabe von audio/webm;codecs=vorbis angefordert werden. Optional können Sie eine andere Abtastrate als die Standardrate von 22.050 Hz angeben.

Bei beiden Codecs handelt es sich um patentfreie, offen konzipierte verlustbehaftete Audiokomprimierungsformate. Opus ist der bevorzugte Codec.

Weitere Informationen finden Sie

Audioformat angeben

Standardmäßig gibt der Service die Audioausgabe im Format audio/ogg;codecs=opus zurück. Über die HTTP- oder die WebSocket-Schnittstelle können Sie jedoch ein anderes Audioformat angeben.

  • Bei den HTTP-Methoden GET und POST /v1/synthesize können Sie ein Format mithilfe des Anforderungsheaders Accept oder des Abfrageparameters accept angeben.
    • Wenn Sie den Anforderungsheader Accept verwenden, erfolgt die Angabe des Formats und aller zusätzlichen Parameter wie im folgenden Beispiel gezeigt. Im nachfolgenden Beispiel wird das Format audio/l16 mit einer Abtastrate von 16.000 Hz angegeben.

      audio/l16;rate=16000
      
    • Wenn Sie den Abfrageheader accept verwenden, müssen Sie das Format sowie alle zusätzlichen Parameter wie im folgenden Beispiel gezeigt als URL codieren. Im nachfolgenden Beispiel wird dasselbe Format mit derselben Abtastrate angegeben.

      audio%2Fl16%3Brate%3D16000
      
    Wenn Sie Audio im Standardformat erhalten wollen, lassen Sie sowohl den Header als auch den Abfrageparameter weg. Weitere Informationen enthält der Abschnitt Audioausgabe synthetisch aus Text erstellen.
  • Bei der WebSocket-Methode /v1/synthesize müssen Sie ein Format mithilfe des erforderlichen Parameters accept der Textnachricht angeben, die Sie zur Initialisierung der Synthese übergeben. Um Audio im Standardformat zu erhalten, geben Sie für den Parameter den Wert */* an. Weitere Informationen finden Sie im Abschnitt Eingabetext senden.

Audiodatei wiedergeben

Verwenden Sie zur Wiedergabe einer durch den Service generierten Audiodatei eines der folgenden Tools:

  • Web-Browser wie Google Chrome™, Firefox® oder Microsoft® Internet Explorer®
  • Ein Audioplayer wie Audacity® audacityteam.org) oder FFmpeg ffmpeg.org)