【问题标题】:What is the proper syntax for the phoneme attribute in Android's TTS XML?Android 的 TTS XML 中音素属性的正确语法是什么?
【发布时间】:2011-11-06 05:37:54
【问题描述】:

我的理解是,这个X-SAMPA XML sample 和其他样本here 甚至herehere 一样,应该听起来有点意思。

String text = "<speak xml:lang=\"en-US\"> <phoneme alphabet=\"xsampa\" ph=\"faIv\"/>.</speak>";
mTts.speak(text, TextToSpeech.QUEUE_ADD, null); 

但是,出于某种奇怪的原因,它什么也没说(完全沉默)。

我错过了什么?

澄清一下:我的 TTS 示例应用程序设置正常:如果我将 . 之前的 &lt;/speak&gt; 标记更改为 any 字,Android TTS 只会说那个字没问题。我唯一的问题是我无法以任何方式使用&lt;phoneme alphabet=\"xsampa\" ph=\"faIv\"/&gt;

我知道. 应该是静音的,但是根据这些样本的海报,它应该发出 XML 中的 XSAMPA 音素。我错过了什么?

【问题讨论】:

    标签: android text-to-speech ssml


    【解决方案1】:

    您尝试做的正确语法与您在问题中发布的完全一样。 如果您的手机设置为使用默认的 Pico TTS,即是这样。

    Settings &gt; Voice input &amp; output &gt; Text-to-speech settings &gt; Default Engine 下确保选择Pico TTS 并立即尝试相同的代码。

    【讨论】:

    • 哇!就是这样。这个问题让我发疯了很长时间,甚至没有怀疑不同的 TTS 引擎可能不支持 XSAMPA。一旦我选择了 Pico,上面的语法就会按预期工作。谢谢!
    【解决方案2】:

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

    正如答案 Stack Overflow question 3648239 中提到的,并非所有元素都被正确解析。

    在此google groups forum post 中进一步澄清了解析错误,但似乎可以忽略这些错误。

    您可以在 google 群组的TTS-for-android site 中找到更多信息,只需在该处发布您的问题。

    由于网站关闭,我无法阅读示例。我不确定这是否是暂时的问题,但我稍后会回来查看是否可以找到它们。

    【讨论】:

    • 感谢 +1 的研究。在我拼命寻找可能的解释时,我遇到了您发布的所有链接,但这无助于解开谜团。请参阅上面接受的答案。
    猜你喜欢
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 2023-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    相关资源
    最近更新 更多