如何在网络应用程序中合成语音?
有没有办法使用 HTML5 Web Speech API?
例如,如果我想合成句子“A quick brown fox jumps over the lazy dog”,如果不播放预先录制的某人正在阅读该句子的文件,我怎么能做到这一点
如何在网络应用程序中合成语音?
有没有办法使用 HTML5 Web Speech API?
例如,如果我想合成句子“A quick brown fox jumps over the lazy dog”,如果不播放预先录制的某人正在阅读该句子的文件,我怎么能做到这一点
就像现在一样,作为Web Speech API 规范一部分的SpeechSynthesis功能 还没有在任何浏览器中实现。
但是,您可以查看这个 Chrome 扩展程序。
编辑:
似乎最新的 Chrome Canary 版本可能包含该功能,但它仅指定该功能已启动(http://www.chromestatus.com/features),我无法找到有关它的更多实质性信息。
编辑2:
正如@cdf 在评论中提到的那样,您现在似乎可以通过启动带有--enable-speech-synthesis
标志的 chrome 来使用该功能。请看这篇文章。
编辑3:
这似乎现在在 Webkit 中,但目前不在 iOS 上。甚至在 iOS 上的 Chrome 中也没有。演示@BrandonAaskov
该代码适用于 Chrome 和 Safari(取自我的应用ttsreader):
if (!('speechSynthesis' in window)) {
// Synthesis not supported.
alert('Speech Synthesis is not supported by your browser. Switch to Chrome or Safari');
}
var msg = new SpeechSynthesisUtterance('hello world');
msg.volume = 1; // 0 to 1
msg.rate = 0.9; // 0.1 to 10
msg.pitch = 1; //0 to 2
msg.lang = "en-GB";
msg.text = "I will speak this out";
speechSynthesis.speak(msg);