2016-01-20 94 views
0

我一直在阅读Web Speech Api documentation,我已经做了一些例子,但我想改变语音,但不是标准的系统语音(通过执行SpeechSynthesis.getVoices( ))。 SpeechSynthesisVoice对象具有指示语音合成服务的voiceURI属性。 我认为我需要制作一个SpeechSynthesisVoice对象来指示我的语音合成服务,但我不知道如何制作一个或哪里可以找到它。 现在的问题是:是否有任何开源平台提供,或者我必须使用浏览器提供的声音(通过执行SpeechSynthesis.getVoices()获取声音)?如何添加语音使用网络语音API

回答

0

在当前的草稿规范中,SpeechSynthesisVoice对象只有只读字段。浏览器和操作系统的每种组合都具有不同类型的语音合成机制,并且它们中的每一个具有不同类型的语音。

如果你想控制你需要使用外部服务器的语音。我已经使用了CloudASR,它对于语音合成和语音识别都非常合适。这也很容易,因为您只需要安装Docker容器并运行它即可。

+0

我会试试它,但是,理想情况下,我想知道一种方法来在浏览器(甚至在我的操作系统上)添加声音,但想法是:当我执行SpeechSynthesis.getVoices()时,我在我的系统(浏览器,网页或操作系统)上添加了(我不知道如何添加语音)。 –

+0

我看到CloudASR仅用于语音识别,不适用于文本到语音。 更新我的问题,新版本Mozilla Firefox(44.0)具有Web Speech API,它比Google Chrome拥有更多的机器人声音。现在我正在[节](http://www.cstr.ed.ac.uk/projects/festival/)使用[festvox](http://festvox.org/download.html)生成的一些声音和使用test2wave工具会生成.mp3或.wav。然后我会将音频返回到视图。 主要想法是在浏览器中添加语音(由festvox生成)或(在剩余服务中为其提供服务)并仅使用Web语音API。 –