Text to Speech-Service dynamisch konfigurieren
Mit der IBM® Voice Gateway-API können Sie den Text to Speech-Service während eines Anrufs dynamisch konfigurieren. Definieren Sie zum Ändern der Konfiguration die Aktion vgwActSetTTSConfig über den "output"
einer Knotenantwort in Ihrer Watson Assistant-Dialogbaumstruktur. Weitere Informationen zur Verwendung der API finden Sie unter Aktionstags und Statusvariablen definieren.
Das folgende Beispiel zeigt eine Konfiguration, die Sie der Knotenantwort in Ihrer Watson Assistant-Dialogbaumstruktur hinzufügen können. Die Einstellungen werden transparent als JSON-Eigenschaften an den Text to Speech-Service übergeben.
{
"output": {
"vgwAction": {
"command": "vgwActSetTTSConfig",
"parameters": {
"credentials": {
"url": "https://stream.watsonplatform.net/text-to-speech/api",
"username": "9h7f54cb-5epb-80d6-45c3-da41d2bf7a71",
"password": "asxNzDLpIJ6F"
},
"config": {
"x-watson-learning-opt-out": true,
"voice": "es-ES_LauraVoice"
},
"jitterBufferDelay": 200,
"connectionTimeout": 30,
"requestTimeout": 10,
"cacheTimeToLive": 336
}
}
}
}
| JSON-Eigenschaft | Beschreibung |
|---|---|
credentials |
Berechtigungsnachweise für den Watson-Service "Text to Speech". Wenn keine Berechtigungsnachweise definiert wurden, werden die Standardberechtigungsnachweise aus der Media Relay-Konfiguration verwendet. Sie können Anruflatenzzeiten auch verringern, wenn Sie den Berechtigungsnachweis tokenAuthEnabled konfigurieren, um die Tokenauthentifizierung für Version 1.0.0.5a und höher zu aktivieren. Weitere Informationen finden
Sie unter Tokenauthentifizierung mit Benutzernamen und Kennwort für Watson-Services aktivieren. |
config |
Parameter für den Watson-Service "Text to Speech". Weitere Informationen finden Sie in der WebSockets-API-Referenz für den Watson-Service "Text to Speech". |
jitterBufferDelay |
Die Zeit in Millisekunden, in der Audiodaten gepuffert werden, bevor die Audiodaten aus dem Text to Speech-Service wiedergegeben werden. Diese Pufferung ist der Grund für etwaige Schwankungen beim Audiostreaming. Wenn kein Wert definiert wurde,
wird der Wert für WATSON_TTS_JITTER_BUFFER_DELAY in der Media Relay-Konfiguration verwendet. |
connectionTimeout |
Zeit in Sekunden, die Voice Gateway darauf wartet, bis eine Socketverbindung mit dem Watson Text to Speech-Service hergestellt ist. Wenn die Zeit überschritten wird, versucht Voice Gateway erneut, eine Verbindung zum Watson Text to Speech-Service herzustellen. Wenn der Service daraufhin immer noch nicht erreicht werden kann, schlägt der Anruf fehl. Gilt ab Version 1.0.0.5. |
requestTimeout |
Zeit in Sekunden, die Voice Gateway darauf wartet, bis eine Sprachsynthesesitzung mit dem Watson Text to Speech-Service hergestellt ist. Wenn die Zeit überschritten wird, versucht Voice Gateway erneut, eine Verbindung zum Watson Text to Speech-Service herzustellen. Wenn der Service daraufhin immer noch nicht erreicht werden kann, schlägt der Anruf fehl. Gilt ab Version 1.0.0.5. |
cacheTimeToLive |
Die Zeit (Angabe in Stunden), in der Antworten vom Text to Speech-Service in den Cache gestellt werden, um die Antwortzeit für die Audiowiedergabe zu verbessern. Wenn diese Option aktiviert ist, werden alle Text to Speech-Antworten in den
Cache gestellt, sofern sie nicht im Watson Assistant-Dialog ausgeschlossen wurden. Wenn kein Wert definiert wurde, wird der Wert für TTS_CACHE_TIME_TO_LIVE in der Media Relay-Konfiguration verwendet. |
updateMethod |
Optional. Gibt die Aktualisierungsstrategie an, die beim Festlegen der Sprachkonfiguration ausgewählt werden soll. Gültige Werte:
updateMethod verwenden. Gilt ab Version 1.0.0.7. |
Anmerkung: Die folgenden Parameter aus dem Text to Speech-Service können nicht geändert werden, weil sie feste von Media Relay verwendete Werte haben.
accepttext
Beispiel: Wert für den Sprecher für "Text to Speech" (en-US_LisaVoice) festlegen
In diesem Beispiel wird der Wert für den Sprecher auf en-US_LisaVoice gesetzt. Da die Eigenschaft credentials nicht definiert ist, verwendet Media Relay die in der Media Relay-Konfiguration definierten Berechtigungsnachweise (WATSON_TTS_URL, WATSON_TTS_USERNAME und WATSON_TTS_PASSWORD).
{
"output": {
"vgwAction": {
"command": "vgwActSetTTSConfig",
"parameters": {
"config": {
"voice": "en-US_LisaVoice"
}
}
}
}
}
Eigenschaft updateMethod verwenden
Sie können die Eigenschaft updateMethod in der dynamischen Konfiguration verwenden, um zu definieren, wie Änderungen an der Konfiguration vorgenommen werden, ob die Konfiguration ersetzt oder neue Konfigurationseigenschaften zusammengeführt
werden, und ob diese Änderungen für die Dauer des Anrufs oder für einen Conversation-Turnus gelten sollen.
| JSON-Eigenschaft | Beschreibung |
|---|---|
| replace | Ersetzt die Konfiguration für die Dauer des Anrufs. |
| replaceOnce | Ersetzt die Konfiguration einmal, sodass die Konfiguration nur für den folgenden Conversation-Turnus verwendet wird. Anschließend wird die Konfiguration wieder auf die vorherige Konfiguration zurückgesetzt. |
| merge | Führt die Konfiguration mit der vorhandenen Konfiguration für die Dauer des Anrufs zusammen. |
| mergeOnce | Führt die Konfiguration für einen Conversation-Turnus zusammen. Anschließend wird die vorherige Konfiguration wieder verwendet. |
Felder, die sich nicht auf Stammverzeichnisebene befinden, aktualisieren
Beachten Sie, dass bei der dynamischen Konfiguration über Watson Assistant nur die Felder auf Stammverzeichnisebene, wie z. B. config oder bargeInResume aktualisiert werden. Wenn sie bei der Aktion übergangen werden, bleiben
die ursprünglichen Konfigurationseinstellungen erhalten. Sie können die verschiedenen updateMethod-Eigenschaften für merge und mergeOnce verwenden, um die config-Felder mit der vorhandenen Konfiguration
zusammenzuführen.
Veraltet: Text to Speech-Service mithilfe von definierten Statusvariablen konfigurieren
Ab Version 1.0.0.2 wird die Konfiguration von Watson-Speech-Services mithilfe von definierten Statusvariablen nicht mehr unterstützt. Stattdessen werden die in den vorherigen Abschnitten beschriebenen Aktionstags verwendet.
Wichtig: Obwohl die Statusvariablen weiterhin funktionieren, können Sie diese veralteten Statusvariablen und die Aktionstags nicht innerhalb eines Knotens definieren. Ihr Watson Assistant-Dialog kann Aktionstags sowie veraltete Statusvariablen enthalten, wohingegen die JSON-Definition für jeden Knoten entweder nur Aktionstags oder nur Statusvariablen enthalten kann.
{
"context": {
"vgwTTSConfigSettings":{
"credentials": {
"url": "https://stream.watsonplatform.net/text-to-speech/api",
"username": "9h7f54cb-5epb-80d6-45c3-da41d2bf7a71",
"password": "asxNzDLpIJ6F"
},
"config": {
"x-watson-learning-opt-out": true,
"voice": "es-ES_LauraVoice"
},
"jitterBufferDelay": 200,
"cacheTimeToLive": 336
}
}
}
| JSON-Eigenschaft | Beschreibung |
|---|---|
credentials |
Berechtigungsnachweise für den Watson-Service "Text to Speech". Wenn keine Berechtigungsnachweise definiert wurden, werden die Standardberechtigungsnachweise aus der Media Relay-Konfiguration verwendet. |
config |
Parameter für den Watson-Service "Text to Speech". Weitere Informationen finden Sie in der WebSockets-API-Referenz für den Watson-Service "Text to Speech". |
jitterBufferDelay |
Die Zeit in Millisekunden, in der Audiodaten gepuffert werden, bevor die Audiodaten aus dem Text to Speech-Service wiedergegeben werden. Diese Pufferung ist der Grund für etwaige Schwankungen beim Audiostreaming. Wenn kein Wert definiert wurde,
wird der Wert für WATSON_TTS_JITTER_BUFFER_DELAY in der Media Relay-Konfiguration verwendet. |
cacheTimeToLive |
Die Zeit (Angabe in Stunden), in der Antworten vom Text to Speech-Service in den Cache gestellt werden, um die Antwortzeit für die Audiowiedergabe zu verbessern. Wenn diese Option aktiviert ist, werden alle Text to Speech-Antworten in den
Cache gestellt, sofern sie nicht im Watson Assistant-Dialog ausgeschlossen wurden. Wenn kein Wert definiert wurde, wird der Wert für TTS_CACHE_TIME_TO_LIVE in der Media Relay-Konfiguration verwendet. Gilt ab Version 1.0.0.1. |