2011-08-29 23 views
8

我的理解是,这个X-SAMPA XML sample,像其他样品here,甚至here & here,应该听起来有些东西。Android的TTS XML中音素属性的正确语法是什么?

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音素。我错过了什么?

回答

1

为你正在尝试做的正确的语法是完全按照你在你的问题张贴。 如果您的手机设置为使用默认的Pico TTS,即。

Settings > Voice input & output > Text-to-speech settings > Default Engine请确保已选中Pico TTS并立即尝试相同的代码。

+0

哇!就是这样。这个问题一直让我发疯很久,甚至没有怀疑过不同的TTS引擎可能不支持XSAMPA。一旦我选择了Pico,上面的语法按预期工作。谢谢! – an00b

1

phoneme element正确的语法W3C Speech Synthesis Markup Language文档中记录。

正如在回答堆栈溢出question 3648239不是所有的元素都正确地解析提及。

有解析错误的进一步澄清这一google groups forum post但是它会出现这些错误可以忽略不计。

您可以通过那里发布您的问题找到在TTS-for-android site对谷歌组的详细信息。

我一直无法读取样本作为该网站已关闭。我不确定这是否是一个暂时的问题,我会在稍后检查,看看我能否找到它们。

+0

感谢+1的研究。在我急切地寻找可能的解释之后,我偶然发现了你发布的所有链接,但这并没有帮助解决这个谜团。参见上面的接受答案。 – an00b

相关问题