做一些測試來綜合葡萄牙語書籍的某些部分(pt-BR)我注意到包含羅馬數字的章節名稱不被識別爲數字如果數字高於XXIX(39)。沃森文本到語音羅馬數字只識別到XXXIX(39)在pt-BR
類似於數字L(50)或LX(60)將不會被正確地合成爲一個數字,它將以字母形式閱讀。使用「say-as」SSMLS標籤不會導致任何變化。
這是預期嗎?有沒有可能的解決方法?
做一些測試來綜合葡萄牙語書籍的某些部分(pt-BR)我注意到包含羅馬數字的章節名稱不被識別爲數字如果數字高於XXIX(39)。沃森文本到語音羅馬數字只識別到XXXIX(39)在pt-BR
類似於數字L(50)或LX(60)將不會被正確地合成爲一個數字,它將以字母形式閱讀。使用「say-as」SSMLS標籤不會導致任何變化。
這是預期嗎?有沒有可能的解決方法?
這是預期嗎?
我認爲,是的,開發人員通常懶得實施一個通用的解決方案。
是否有任何可能的解決方法?
預處理文本並將數字轉換爲單詞。
你有另一種選擇是自定義模型,截至https://console.bluemix.net/docs/services/text-to-speech/custom-intro.html#customIntro
描述這裏去一個簡單的例子
使用此命令創建一個自定義模式
curl -X POST -u ***:*** --header "Content-Type: application/json" --data "{\"name\":\"cURL Test\",\"language\":\"en-US\", \"description\":\"Customization test via cURL\"}" "https://stream.watsonplatform.net/text-to-speech/api/v1/customizations"
上面會命令返回customization_id(在這種情況下,e250e7ee-fbec-47e8-a1b8-59435c1b18e3)
然後使用這個命令添加翻譯
curl -X PUT -u ***:*** --header "Content-Type: application/json" --data "{\"translation\":\"thirty\"}" "https://stream.watsonplatform.net/text-to-speech/api/v1/customizations/e250e7ee-fbec-47e8-a1b8-59435c1b18e3/words/XXX"
最後,嘗試
curl -X GET -u ***:*** --header "Accept: audio/wav" --output xxx.wav "https://stream.watsonplatform.net/text-to-speech/api/v1/synthesize?text=chapter%20XXX&customization_id=e250e7ee-fbec-47e8-a1b8-59435c1b18e3"
就會產生一個音頻文件,上面寫着 「第36章」
PS。對於PT-BR,請參閱https://console.bluemix.net/docs/services/text-to-speech/custom-models.html#customModels,以便您可以使用「語言」選項並將XXX翻譯爲「trinta」