如何在网络应用中合成语音?
有没有办法使用HTML5 Web Speech API?
例如,如果我想合成句子“快速的棕色狐狸跳过懒狗”,如果不播放预先录制的某人正好阅读该句话的文件,我该怎么办?
答案 0 :(得分:4)
现在,SpeechSynthesis中属于Web Speech API Specification的this Chrome extension功能尚未在任何浏览器中实现。
但是,您可以查看http://www.chromestatus.com/features。
编辑:
似乎最新的Chrome Canary版本可能包含该功能,但它只指定该功能已启动(this post),而我无法找到有关它的更多实质性信息。
EDIT2:
如@cdf的评论中所提到的,现在看来您可以通过使用--enable-speech-synthesis
标志启动chrome来使用该功能。请参阅{{3}}。
EDIT3:
现在看来是在Webkit中,但目前不在iOS上。甚至在iOS上的Chrome中也没有。 演示 @BrandonAaskov
答案 1 :(得分:1)
该代码适用于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);