android - Android TTS 是否支持语音合成标记语言?

标签 android text-to-speech ssml

将以下 SSML ( Speech Synthesis Markup Language ) 文档传递给 com.svox.pico TextToSpeech 引擎导致读取 XML 正文,但没有来自音素元素或强调元素的控制。这个结果(没有明显的 SSML 控制)在运行 Android 2.2 的 Nexus One 和运行 SDK 级别 8 的 AVD 的模拟器上是相同的。

            String text = "<?xml version=\"1.0\"?>" +
                "<speak version=\"1.0\" xmlns=\"http://www.w3.org/2001/10/synthesis\" " +
                    "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\">" +

                    "tomato " +
                    "<phoneme alphabet=\"ipa\" ph=\"t&amp;#x259;mei&amp;#x325;&amp;#x27E;ou&amp;#x325;\"> tomato </phoneme> " +

                    "That is a big car! " +
                    "That <emphasis> is </emphasis> a big car! " +
                    "That is a <emphasis> big </emphasis> car! " +
                    "That is a huge bank account! " +
                    "That <emphasis level=\"strong\"> is </emphasis> a huge bank account! " +
                    "That is a <emphasis level=\"strong\"> huge </emphasis> bank account!" +
                "</speak>";
            mTts.speak(text, TextToSpeech.QUEUE_ADD, null);

是否有任何 Android TTS 引擎支持任何 SSML 元素?

最佳答案

我一直在试验 SSML,似乎 TTS 引擎自动用根 <speak> 包装它的输入元素,因此如果您将其省略,则它可以正常工作并且不会出现解析器错误。

例子:

String text = "Testing <phoneme alphabet=\"xsampa\" ph=\"&#34;{k.t@`\"/>.";
mTts.speak(text, TextToSpeech.QUEUE_ADD, null);

关于android - Android TTS 是否支持语音合成标记语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3525424/

相关文章:

node.js - 谷歌 SSML 上的操作不起作用

Android TextView 文本不会居中

java - 如何以编程方式将文本设置为 RadioGroup 内部的 RadioButton?

audio - IBM Watson文本到语音服务生成的音频的采样频率是多少?

text-to-speech - Watson Java SDK 和 OkHttp 内存泄漏

dialogflow-es - Google 上的 SSML Actions,更改说话语言

android - 构建Android项目时"trouble writing output: Too many field references: 70185; max is 65536. You may try using --multi-dex option."

java - 致命异常 : java. lang.IllegalStateException - 无法为 LinearLayout 创建图层(仅在 Galaxy j4+、j6+ 中崩溃)

android - 自动下载android TTS引擎

c# - C# SAPI 可以说 SSML 字符串吗?