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.