speechSynthesis 是浏览器自带的功能,甚至都不需要单独去安装。
最简单的三行代码:
var msg = new SpeechSynthesisUtterance();
msg.text = "你好,世界!"; //直接支持中文
window.speechSynthesis.speak(msg);
HTML5 中和 Web Speech 相关的 API 实际上有两类,一类是“语音识别(Speech Recognition)”,另外一个就是“语音合成(Speech Synthesis)”,这两个名词听上去很高大上,实际上指的分别是“语音转文字”,和“文字变语音”。
而本文要介绍的就是这里的“语音合成-文字变语音”。为什么称为“合成”呢?比方说你 Siri 发音“你好,世界!” 实际上是把“你”、“好”、“世”、“界”这 4 个字的读音给合并在一起,因此,称为“语音合成”。
“语音识别”和“语音合成”看上去像是正反两方面,应该带有镜面气质,实际上,至少从兼容性来看,两者并无法直接对等。“语音识别(Speech Recognition)”目前的就 Chrome 浏览器和 Opera 浏览器默认支持,但是,“语音合成(Speech Synthesis)”的兼容性要好上太多了 Chrome,FF,Edge,Safari 等等都是支持的。
Speech Api 资料:https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Speech_API