【发布时间】:2014-03-24 01:09:21
【问题描述】:
Web Speech API specification 说:
文本属性
该属性指定要合成的文本和 为这句话说话。这可以是纯文本或 完整、格式良好的 SSML 文档。用于语音合成引擎 不支持 SSML 或仅支持某些标签的用户 代理或语音引擎必须去除它们不支持的标签 并说出文字。
它没有提供将text 与 SSML 文档一起使用的示例。
我在 Chrome 33 中尝试了以下操作:
var msg = new SpeechSynthesisUtterance();
msg.text = '<?xml version="1.0"?>\r\n<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">ABCD</speak>';
speechSynthesis.speak(msg);
它不起作用——声音试图叙述 XML 标签。此代码有效吗?
我必须提供XMLDocument 对象吗?
我试图了解 Chrome 是否违反规范(应将其报告为错误),或者我的代码是否无效。
【问题讨论】:
-
你解决过这个问题吗?我在 SSML 和 chrome 上能找到的最接近的东西是 Chrome 插件语音合成的文档developer.chrome.com/extensions/tts
-
你也在使用 Linux。因为看来那里可能有问题code.google.com/p/chromium/issues/detail?id=88072
-
@ElDog 我发现的只是那个错误(我在那里发表了评论)——顺便说一句,我阅读描述的方式也没有在 Mac/Win 中实现。
-
从那个 bug 线程和其他人看来,这个 Chrome API 根本不支持 SSML,看起来它对任何人来说都不是高优先级。希望加点时间,让语音合成的响应速度更快。
-
@AndreyShchekin 啊,是的,我的错,它似乎也是 Mac/Win。现在回到我的 TTS 服务器端,需要 SSML 来推销我的歌声技巧。
标签: google-chrome speech-synthesis webspeech-api