我的理解是这个X-SAMPA XML sample,就像其他样本here甚至是here& here,应该发出声音。
String text = "<speak xml:lang=\"en-US\"> <phoneme alphabet=\"xsampa\" ph=\"faIv\"/>.</speak>";
mTts.speak(text, TextToSpeech.QUEUE_ADD, null);
然而,由于一些奇怪的原因,它没有说什么(完全沉默)。
我错过了什么?
澄清一下:我的TTS示例应用已设置正常:如果我将.
标记之前的</speak>
更改为任何字词,那么Android TTS只会说这个字很好。我唯一的问题是我无法以任何方式使用<phoneme alphabet=\"xsampa\" ph=\"faIv\"/>
。
我知道.
应该是静默的,但是根据这些样本的海报,它应该是XML中的XSAMPA音素。我错过了什么?
答案 0 :(得分:2)
您尝试执行的操作的正确语法与您在问题中发布的完全相同。 如果您的手机设置为使用默认的Pico TTS ,那就是。
在Settings > Voice input & output > Text-to-speech settings > Default Engine
下,确保选中Pico TTS
并立即尝试使用相同的代码。
答案 1 :(得分:1)
W3C phoneme element文档中记录了Speech Synthesis Markup Language的正确语法。
如答案Stack Overflow question 3648239所述,并非所有元素都能正确解析。
此google groups forum post中的解析错误有进一步说明,但似乎可以忽略这些错误。
您可以通过在那里发布您的问题,在Google群组的TTS-for-android site上找到更多信息。
由于网站已关闭,我无法阅读示例。我不确定这是否是一个临时问题我会在以后查看,看看能不能找到它们。