在Javascript中使用谷歌文本到语音转换(Using Google Text-To-Speec

2019-07-28 01:58发布

我需要在JavaScript中发挥谷歌文本到语音转换
我们的想法是使用Web服务:

http://translate.google.com/translate_tts?tl=en&q=This%20is%20just%20a%20test

并发挥它在一个certian动作,例如点击一个按钮。

但它似乎并不像加载普通WAV / MP3文件:

<audio id="audiotag1" src="audio/example.wav" preload="auto"></audio>

<script type="text/javascript">
    function play() {
        document.getElementById('audiotag1').play();
    }
</script>

我怎样才能做到这一点?

Answer 1:

另一种选择现在可能是HTML5文本到语音 ,这是在Chrome 33+和其他许多人 。

下面是一个例子:

var msg = new SpeechSynthesisUtterance('Hello World');
window.speechSynthesis.speak(msg);

有了这个,也许你并不需要在所有使用的Web服务。



Answer 2:

这里是代码片段,我发现:

var audio = new Audio();
audio.src ='http://translate.google.com/translate_tts?ie=utf-8&tl=en&q=Hello%20World.';
audio.play();


Answer 3:

您可以使用SpeechSynthesisUtterance具有类似功能的发言权 :

function say(m) {
  var msg = new SpeechSynthesisUtterance();
  var voices = window.speechSynthesis.getVoices();
  msg.voice = voices[10];
  msg.voiceURI = "native";
  msg.volume = 1;
  msg.rate = 1;
  msg.pitch = 0.8;
  msg.text = m;
  msg.lang = 'en-US';
  speechSynthesis.speak(msg);
}

然后你只需要调用say(msg)使用时。

更新 :看看谷歌的开发者博客,是关于语音驱动的Web应用程序简介网络语音API。



Answer 4:

很容易与响应声音。 刚JS和瞧!

<script src='https://code.responsivevoice.org/responsivevoice.js'></script>

<input onclick="responsiveVoice.speak('This is the text you want to speak');" type='button' value='