如何在iOS和Android的textToSpeech中使用ssml标签?

时间:2018-09-27 14:03:52

标签: android ios text-to-speech google-text-to-speech

我在应用程序中使用@ ionic-native / text-to-speech进行文本语音转换。 Ionic使用此插件:https://github.com/vilic/cordova-plugin-tts

我想在文本中使用ssml标记:

const options: any = {
    text: '<speak>I like <sub alias="pizza">rotten eggs</sub></speak>',
    locale: 'en-US',
    rate: 1.0
};

this.tts.speak(options)
.then(() => {
    // do anything
})
.catch((error: any) => {
    // do anything
});

问题:

使用 Google的文字进行语音转换时,它会忽略ssml标签。所以,它说:

  

我喜欢烂鸡蛋。

iOS 上的文字转语音功能可读取所有内容:

  

<说话>我喜欢烂鸡蛋

有人知道我需要更改以获得正确的发音吗?

1 个答案:

答案 0 :(得分:1)

因为...

1)Cordova插件仅使用设备碰巧具有的任何文本到语音引擎,然后...

2)文本到语音的发音因引擎而异,并且无法通过代码进行修改...至少在Android上不是...

除了基于运行的平台(不现实或不实际)自己解析和“预校正”字符串之外,我看不到如何以其他方式控制发音。

除非...使用基于云的语音是可以的,并且还有其他一些基于云/平台独立的插件可以按照您想要的方式发音。