从Web应用程序中的文本合成语音

时间:2013-05-15 21:18:33

标签: javascript html5 text-to-speech voice speech

如何在网络应用中合成语音?

有没有办法使用HTML5 Web Speech API?

例如,如果我想合成句子“快速的棕色狐狸跳过懒狗”,如果不播放预先录制的某人正好阅读该句话的文件,我该怎么办?

2 个答案:

答案 0 :(得分:4)

现在,SpeechSynthesis中属于Web Speech API Specificationthis 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);