CONVERTIR VOZ A TEXTO EN JAVASCRIPT
JAVASCRIPT
Los navegadores modernos implementan la API Web Speech, pero esta está dividida en dos interfaces, independiente la una de la otra. SpeechSynthesis que permite convertir texto a voz. La que vamos a ver ahora es la interfaz SpeechRecognition que permite convertir voz a texto en javascript.
La API de reconocimiento de voz es sorprendentemente precisa para una función de navegador gratuita. En unas pruebas que he realizado ha reconocido correctamente casi todas mis frases y supo qué palabras van juntas hasta formar discursos que tenían sentido. También te permite dictar caracteres especiales como puntos y aparte, signos de interrogación y líneas nuevas.
Lo primero que hay que hacer es comprobar si el navegador tiene acceso a la API y mostrar un mensaje de error en el caso de que no:
try {
var SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
var recognition = new SpeechRecognition();
}
catch(e) {
console.error(e);
}
recognition.onstart = function() {
instructions.text('Voice recognition activated. Try speaking into the microphone.');
}
recognition.onspeechend = function() {
instructions.text('You were quiet for a while so voice recognition turned itself off.');
}
recognition.onerror = function(event) {
if(event.error == 'no-speech') {
instructions.text('No speech was detected. Try again.');
};
}
//Función llamada desde un boton
function SpeechRecog() {
var output = document.getElementById("output"); ///input text donde se escribirá el texto
var SpeechRecognition = SpeechRecognition || webkitSpeechRecognition;
var recognition = new SpeechRecognition();
// This runs when the speech recognition service starts
recognition.onstart = function() {};
recognition.onspeechend = function() {
recognition.stop();
}
// This runs when the speech recognition service returns result
recognition.onresult = function(event) {
var transcript = event.results[0][0].transcript;
var confidence = event.results[0][0].confidence;
output.value=transcript;
};
// start recognition
recognition.start();
}
Os aconsejo el artículo Convertir textos a voz Compartir en twitter