IBM Cloud Docs
Verwendung einer Stimme für die Sprachsynthese

Verwendung einer Stimme für die Sprachsynthese

Sowohl die HTTP-Methoden POST und GET /v1/synthesize als auch die WebSocket-Methode /v1/synthesize akzeptieren einen optionalen Abfrageparameter voice. Mit dem Parameter voice geben Sie die Stimme und Sprache an, die für die Sprachsynthese verwendet werden sollen. Der Dienst stützt sein Verständnis der Sprache für den Eingabetext auf die Sprache der angegebenen Stimme.

Achten Sie darauf, eine Stimme anzugeben, die mit der Sprache des Eingabetextes übereinstimmt. Falls Sie beispielsweise die Stimme für Französisch (fr-FR_ReneeV3Voice) angeben, erwartet der Service, dass der Eingabetext in Französisch geschrieben ist. Wenn Sie Text übergeben, der nicht in der Sprache der Stimme geschrieben ist (z. B. englischer Text für die französische Stimme), liefert der Service möglicherweise keine sinnvollen Ergebnisse.

Bitte ein Sprachbeispiel angeben

Die folgende HTTP-Beispielanforderung POST verwendet die Stimme en-US_AllisonV3Voice für die Sprachsynthese:

IBM Cloud

curl -X POST -u "apikey:{apikey}" \
--header "Content-Type: application/json" \
--header "Accept: audio/wav" \
--data "{\"text\":\"hello world\"}" \
--output hello_world.wav \
"{url}/v1/synthesize?voice=en-US_AllisonV3Voice"

IBM Cloud Pak for Data IBM Software Hub

curl -X POST \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: audio/wav" \
--data "{\"text\":\"hello world\"}" \
--output hello_world.wav \
"{url}/v1/synthesize?voice=en-US_AllisonV3Voice"

Das folgende Beispiel zeigt eine entsprechende HTTP-Anforderung GET für die Sprachsynthese:

IBM Cloud

curl -X GET -u "apikey:{apikey}" \
--output hello_world.wav \
"{url}/v1/synthesize?accept=audio%2Fwav&text=hello%20world&voice=en-US_AllisonV3Voice"

IBM Cloud Pak for Data IBM Software Hub

curl -X POST \
--header "Authorization: Bearer {token}" \
--output hello_world.wav \
"{url}/v1/synthesize?accept=audio%2Fwav&text=hello%20world&voice=en-US_AllisonV3Voice"

Verwendung der Standardstimme

Wenn Sie den Parameter voice in einer Anforderung weglassen, verwendet der Service standardmäßig das US-Englisch en-US_MichaelV3Voice. Dieser Standardwert gilt für alle Sprachsyntheseanforderungen und für die Methode GET /v1/pronunciation.

IBM Cloud Pak for DataIBM Software Hub Wenn Sie en-US_MichaelV3Voice nicht installieren, kann es nicht als Standard-Voice-Mail-Dienst verwendet werden. In diesem Fall müssen Sie entweder

  • Mit dem Parameter voice die Stimme übergeben, die für jede Anforderung verwendet werden soll.
  • Mithilfe der Eigenschaft defaultTTSVoice in der angepassten Ressource für Speech-Services eine neue Standardstimme für Ihre Installation von Text to Speech for IBM Cloud Pak for Data angeben. Weitere Informationen finden Sie unter "Installieren von Watson Text to Speech ".

Mehrsprachige Sprachsynthese

Der Dienst unterstützt derzeit keine mehrsprachige Sprachsynthese. Alle Synthesen basieren auf der Sprache der Stimme, die durch den Parameter voice angegeben wird. Je nach Sprache und Wort können Sie die Aussprache eines Wortes in einer Sprache, die sich von der Stimme der Anfrage unterscheidet, mithilfe der Anpassung annähernd wiedergeben. Weitere Informationen hierzu finden Sie im Abschnitt Angepasstes Modell erstellen.

Wenn Sie die Aussprache in einer anderen Sprache emulieren möchten, verwenden Sie die Methode HTTP GET /v1/pronunciation, um die Aussprache des Wortes in der anderen Sprache zu sehen. Die Methode gibt die Phoneme zurück, die der Dienst verwendet, um das Wort in dieser Sprache auszusprechen. Weitere Informationen finden Sie unter "Phonetische Übersetzung ".

Sie können die von der Methode zurückgegebenen Phoneme so anpassen, dass sie den in Ihrer Sprache verfügbaren Phonemen so genau wie möglich entsprechen. Sie können dann ein benutzerdefiniertes Modell erstellen, das ein benutzerdefiniertes Wort mit dieser Übersetzung enthält, und dieses Modell für Ihre Syntheseanforderung verwenden. Da zwei verschiedene Sprachen möglicherweise nicht dieselben Phoneme unterstützen, ist es möglicherweise nicht möglich, die Laute und die Aussprache einer Sprache genau mit den phonetischen Symbolen einer anderen Sprache abzugleichen.

Das SSML-Element (Speech Synthesis Markup Language) <speak> enthält ein xml:lang-Element, aber dieses Element gilt für die gesamte Anfrage, und der Dienst unterstützt seine Verwendung nicht als Möglichkeit, eine andere Sprache für die Sprachsynthese anzugeben.