Android TTS XML中phoneme属性的正确语法是什么?

时间:2011-08-29 18:11:01

标签: android text-to-speech ssml

我的理解是这个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音素。我错过了什么?

2 个答案:

答案 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上找到更多信息。

由于网站已关闭,我无法阅读示例。我不确定这是否是一个临时问题我会在以后查看,看看能不能找到它们。