texto - Usando Google Text-To-Speech en Javascript
texto a voz mp3 (4)
Necesito reproducir el texto a voz de Google en JavaScript.
La idea es utilizar el servicio web:
http://translate.google.com/translate_tts?tl=en&q=This%20is%20just%20a%20test
Y jugarlo en una acción certian, por ejemplo, hacer clic en un botón.
Pero parece que no es como cargar un archivo wav / mp3 normal:
<audio id="audiotag1" src="audio/example.wav" preload="auto"></audio>
<script type="text/javascript">
function play() {
document.getElementById(''audiotag1'').play();
}
</script>
¿Cómo puedo hacer esto?
¿Has oído hablar de la biblioteca Say.js ?
Solo necesitas llamar a say(msg)
cuando lo uses.
Editar:
Mire el Blog de desarrolladores de Google que trata sobre la introducción de la aplicación Web impulsada por voz a la API de Web Speech.
Aquí está el fragmento de código que encontré:
var audio = new Audio();
audio.src =''http://translate.google.com/translate_tts?ie=utf-8&tl=en&q=Hello%20World.'';
audio.play();
Otra opción ahora puede ser HTML5 texto a voz , que se encuentra en Chrome 33+ y muchos otros .
Aquí hay una muestra:
var msg = new SpeechSynthesisUtterance(''Hello World'');
window.speechSynthesis.speak(msg);
Con esto, quizás no necesite utilizar un servicio web en absoluto.
ejecute este código; tomará la entrada como audio (micrófono) y la convertirá en texto que la reproducción de audio.
<head>
<title>MY Echo</title>
<script src="http://code.responsivevoice.org/responsivevoice.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.1/css/font-awesome.min.css" />
<style type="text/css">
body {
font-family: verdana;
}
#result {
height: 100px;
border: 1px solid #ccc;
padding: 10px;
box-shadow: 0 0 10px 0 #bbb;
margin-bottom: 30px;
font-size: 14px;
line-height: 25px;
}
button {
font-size: 20px;
position: relative;
left: 50%;
}
</style>
<h4 align="center">Speech to text converter in JS</h4>
<div id="result"></div> <button onclick="startConverting();"><i class="fa fa-microphone"></i></button>
<script type="text/javascript">
var r = document.getElementById(''result'');
function startConverting() {
if (''webkitSpeechRecognition'' in window) {
var speechRecognizer = new webkitSpeechRecognition();
speechRecognizer.continuous = true;
speechRecognizer.interimResults = true;
speechRecognizer.lang = ''en-IN'';
speechRecognizer.start();
var finalTranscripts = '''';
speechRecognizer.onresult = function(event) {
var interimTranscripts = '''';
for (var i = event.resultIndex; i < event.results.length; i++) {
var transcript = event.results[i][0].transcript;
transcript.replace("/n", "<br>");
if (event.results[i].isFinal) {
finalTranscripts += transcript;
var speechresult = finalTranscripts;
console.log(speechresult);
if (speechresult) {
responsiveVoice.speak(speechresult, "UK English Female", {
pitch: 1
}, {
rate: 1
});
}
} else {
interimTranscripts += transcript;
}
}
r.innerHTML = finalTranscripts + ''<span style="color:#999">'' + interimTranscripts + ''</span>'';
};
speechRecognizer.onerror = function(event) {};
} else {
r.innerHTML = ''Your browser is not supported. If google chrome, please upgrade!'';
}
}
</script>
</body>
</html>`