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.
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
- Internet Engineering Task Force (IETF) Anfrage zur Stellungnahme(RFC)2046
- iana.org/assignments/media-types/audio/basic
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
und8000
. 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 einfachaudio/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 einfachaudio/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
undPOST /v1/synthesize
können Sie ein Format mithilfe des AnforderungsheadersAccept
oder des Abfrageparametersaccept
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 Formataudio/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
-
- Bei der WebSocket-Methode
/v1/synthesize
müssen Sie ein Format mithilfe des erforderlichen Parametersaccept
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)