android的发音功能实现,为Android TTS引擎指定发音的最佳做法?
一般来说,我对Android的默认文字引擎(即com.svox.pico)印象深刻。正如预期的那样,它误导了一些话(像我一样),因此偶尔需要一些发音指导。所以我想知道最好的做法,用于语音拼写出微软TTS引擎误导的那些话。
例如,正确的发音鸟Chachalaca是CHAH-chah-LAH-kah。这是TTS引擎产生的:
mTts.speak("Chachalaca", TextToSpeech.QUEUE_ADD, null); // output: chuh-KAL-uh-KUH
mTts.speak("CHAH-chah-LAH-kah", TextToSpeech.QUEUE_ADD, null); // output: CHAH-chah-EL-AY-AYCH-dash-kuh
mTts.speak("CHAHchahLAHkah", TextToSpeech.QUEUE_ADD, null); // output: CHA-chah-LAH-ka
mTts.speak("CHAH chah LOCKah", TextToSpeech.QUEUE_ADD, null); // output: CHAH-chah-LAH-kah
这是我的问题。
> Android TTS引擎是否识别出标准拼音?
>如果没有,是否有一些一般的规则来制作自定义的发音拼写,这些拼写在未来的TTS引擎/版本中会更有可能是正确的?
看来Android TTS引擎忽略了文本大小写。什么是指定重点的最佳方法?
顺便说一下,这是TTS引擎写的logcat:
V / TtsService(294):TTS处理:CHAH chah LOCKah
V / TtsService(294):TtsService.setLanguage(eng,USA,)
I / SVOX Pico Engine(294):语言已经加载(en-US == en-US)
I / SynthProxy(294):将语速设置为100
I / SynthProxy(294):设置音高为100
[UPDATE]
我尝试将XML文档传递给TextToSpeech.speak(),如下所示:
String text = "<?xml version=\"1.0\"?>" +
"
"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " +
"xsi:schemaLocation=\"http://www.w3.org/2001/10/synthesis " +
"http://www.w3.org/TR/speech-synthesis/synthesis.xsd\" " +
"xml:lang=\"en-US\">" +
"That is a big car! " +
"That is a big car! " +
"That is a big car! " +
"That is a huge bank account! " +
"That is a huge bank account! " +
"That is a huge bank account!" +
"
";mTts.speak(text, TextToSpeech.QUEUE_ADD, null);
正如Android Eve所建议的那样,TTS引擎只读取XML体(即关于大型汽车和庞大的银行帐户的评论)。我没有意识到TTS引擎能够解析XML文档。但是,我没有听到TTS输出的任何重点。
[更新2]
我简化了Android TTS是否支持语音合成标记语言here的问题。
总结
以上是生活随笔为你收集整理的android的发音功能实现,为Android TTS引擎指定发音的最佳做法?的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 有意思的复活节彩蛋[摘]
- 下一篇: Android 网络性能优化(1)概述