配置 MRCPv2 語音合成器服務
除了使用 IBM® Text to Speech,另一種替代作法是配置 Voice Gateway部署,以便透過 MRCPv2 連線來連接協力廠商的語音合成器服務。
配置 MRCPv2 朗讀器
-
在您的機器上,移至您所複製之
sample.voice.gateway儲存庫所在的目錄,並開啟mrcp/目錄,其中含有下列檔案:docker-compose.yml- 具有 MRCPv2 之 Voice Gateway 的基本配置tenantConfiguration.json- JSON 配置檔
-
開啟
unimrcpConfig/unimrcpclient.xml配置檔。在server-ip欄位中,指定 MRCPv2 的 IP 位址。在ext-ip欄位中,指定 Media Relay 儲存器執行所在之機器的外部 IP 位址。- 如需可以配置的完整欄位清單,請參閱 UniMRCP 配置檔。
-
在
docker-compose.yml檔中,將unimrcpclient.xml檔裝載到 Media Relay 儲存器。 -
在
tenantConfiguration.json檔中,您可以指定將 MRCPv2 提供者用於語音合成,作法是將tts配置providerType參數設為mrcpv2。您可以包含更多的配置欄位,以進一步自訂您的部署。
"tts": {
"providerType": "mrcpv2"
}
請謹記:如果您沒有指定 providerType,依預設,Voice Gateway 會使用 watson 參數。
範例:使用 MRCPv2 的單一提供者。
{
"tts": {
"providerType": "mrcpv2",
"config": {
"mrcpv2ProfileID": "MRCP #1",
"speakHeaders": {
"Voice-Age": "25",
"Voice-Gender": "neutral"
}
},
"cacheTimeToLive": 0
}
}
範例:使用 MRCPv2 的多重提供者配置
在下列範例中,多重提供者的格式化 JSON 配置檔中顯示了一個提供者。不像單一提供者配置,多重提供者在根層次還有 providerSelectionPolicy 和 providers。
{
"tts": {
"providerSelectionPolicy" : "sequential",
"providers": [
{
"name" : "mrcp-synthesizer-primary",
"providerType": "mrcpv2",
"config": {
"mrcpv2ProfileID": "MRCP #1",
"speakHeaders": {
"Speech-Language": "en-US",
"Voice-gender": "neutral"
},
},
}
]
}
}
Text to Speech 配置參數
在您配置 MRCPv2 語音合成器時,Voice Gateway 最上層的 Text to Speech 配置會具有同等的值。
| 參數 | 值 | 說明 |
|---|---|---|
providerType |
字串 | 定義語音提供者的類型,可以是 mrcpv2 或 watson。預設值為 watson。 |
credentials |
認證 | 如果您使用 Text to Speech,且混合使用數個提供者,就必須指定。若為 MRCPv2 合成器服務,則不需指定。 |
config |
WatsonTextToSpeechConfig/MrcpSynthesizerConfig |
必要。針對指定的文字轉語音提供者,定義配置。 |
connectionTimeout |
浮點 | 選用。Voice Gateway 在與 Text to Speech 或合成器服務建立 Socket 連線時,要等待的秒數。如果超過時間,Voice Gateway 會重新嘗試連接 Text to Speech 或合成器服務。如果仍無法連到服務,則通話失敗。1.0.0.5 版及更新版本。 |
requestTimeout |
浮點 | 選用。Voice Gateway 在與 Text to Speech 或合成器服務建立語音辨識階段作業時,要等待的秒數。如果超過時間,Voice Gateway 會重新嘗試連接 Text to Speech 或合成器服務。如果仍無法連到服務,則通話失敗。1.0.0.5 版及更新版本。 |
jitterBufferDelay |
從服務播放音訊之前的緩衝時間量(毫秒)。這項緩衝會計入多媒體串流音訊中的任何抖動。 | |
cacheTimeToLive |
為了改良播放回應時間,而從合成器服務快取回應的時間(小時)。如果啟用,會快取所有的回應(除非在 Watson Assistant 對話中排除它們)。 | |
providers[] |
字串 | 選用。語音提供者清單。 |
MRCPv2 合成器配置
您 mrcpv2 提供者配置專用的配置參數。
| 參數 | 格式 | 說明 |
|---|---|---|
mrcpv2ProfileID |
字串 | MRCPv2 用戶端的設定檔 ID。原始 XML 配置文件可在 MRCPv2 用戶端配置手冊中找到。 |
speakHeaders |
JSON 物件 | 將作為辨識要求標頭的名稱/值配對集合。 |
speakBody |
JSON 物件 | 指定辨識要求的內容內文。
來自 Watson Assistant 的文字話語會包裝在 xml 文件中。使用這個欄位時,會置換傳送給 MRCPv2 合成器的 SPEAK 要求內文。 |