Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SpeechRecognition API es una API web estándar que permite convertir la voz, desde un origen de audio como un archivo multimedia o un micrófono de dispositivo, en texto, directamente desde el código JavaScript de las extensiones de un sitio web o explorador. Este artículo se centra en el uso de SpeechRecognition API con el modelo de reconocimiento de voz en el dispositivo (o local) integrado en Microsoft Edge.
Para obtener más información sobre la API, consulte Web Speech API, en MDN.
Contenido detallado:
- Disponibilidad del modelo de reconocimiento de voz local
- Ventajas del modelo de reconocimiento de voz local
- Habilitación del reconocimiento de voz local en Microsoft Edge
- Consulte un ejemplo de trabajo
-
Uso de speechRecognition API con reconocimiento local en el sitio web
- Compruebe si se admite la API y cree una instancia de un objeto SpeechRecognition.
- Elegir un idioma de entrada y participar en el reconocimiento local
- Compruebe si el modelo local ya está instalado
- Inicio del reconocimiento de voz
- Detener el reconocimiento de forma explícita y en el extremo multimedia
- Enviar comentarios
- Ver también
Disponibilidad del modelo de reconocimiento de voz local
El modelo de reconocimiento de voz local está disponible en Microsoft Edge Canary o Dev (versión 150.0.4076 o posterior). Consulte Convertirse en un insider de Microsoft Edge.
Ventajas del modelo de reconocimiento de voz local
Cuando se usa speechRecognition API con el modelo local en Microsoft Edge, el reconocimiento de voz se produce en el mismo dispositivo donde se captura la voz. Este enfoque tiene las siguientes ventajas en comparación con las soluciones basadas en la nube:
Costo reducido: No hay ningún costo asociado al uso de un servicio de reconocimiento en la nube.
Independencia de red: Más allá de la descarga del modelo inicial, no hay latencia de red al usar esta API para convertir voz y la API también se puede usar cuando el dispositivo está sin conexión.
Privacidad mejorada: La entrada de voz en el modelo nunca sale del dispositivo y no se recopila para entrenar modelos de inteligencia artificial.
Disponibilidad del modelo
Se requiere una descarga inicial del modelo la primera vez que un sitio web usa el modelo de reconocimiento de voz local con speechRecognition API.
Puede supervisar la descarga del modelo mediante la promesa devuelta por el método de la API install() SpeechRecognition. Consulte Comprobación de si el modelo local ya está instalado, a continuación.
Habilitación del reconocimiento de voz local en Microsoft Edge
Para usar el modelo de reconocimiento de voz local con speechRecognition API, debe habilitar la característica en Microsoft Edge Canary o Dev. Para habilitar el reconocimiento de voz mediante el modelo en el dispositivo:
Asegúrese de que usa Microsoft Edge Canary o Dev (versión 150.0.4076 o posterior). Consulte Convertirse en un insider de Microsoft Edge.
En Microsoft Edge Canary o Dev, abra una nueva pestaña o ventana y vaya a
edge://flags.En el cuadro de búsqueda de la parte superior de la página, escriba Reconocimiento de voz con el modelo en el dispositivo.
En la lista desplegable Reconocimiento de voz con modelo en el dispositivo , seleccione Habilitado y, a continuación, haga clic en el botón Reiniciar de la parte inferior derecha:
Consulte un ejemplo de trabajo
Para ver speechrecognition API en acción y ver el código de demostración:
Habilite el reconocimiento de voz local en Microsoft Edge, como se describió anteriormente.
En Microsoft Edge Canary o Dev, abra una pestaña o ventana y vaya al área de juegos de SpeechRecognition API.
En el banner de información de la parte superior, compruebe el estado: inicialmente lee SpeechRecognition API listo. Haga clic en Iniciar para comenzar.
En la lista desplegable Idioma de entrada , seleccione el idioma que desea usar para el reconocimiento de voz.
En la lista desplegable Origen de audio, seleccione un origen de audio para el reconocimiento de voz:
- Seleccione Micrófono para usar el micrófono del dispositivo como origen de audio.
- Seleccione Archivo para usar un archivo de audio o vídeo del dispositivo como origen de audio.
Si seleccionó Archivo como origen de audio, se mostrará una sección Archivo multimedia . Haga clic en el botón Elegir archivo y, a continuación, seleccione un archivo de audio o vídeo desde el dispositivo.
Haga clic en el botón de Inicio.
Si aún no ha descargado el modelo de reconocimiento de voz local para el idioma seleccionado, se inicia la descarga y el banner de información lee Instalación del modelo en el dispositivo para en-US...:
Una vez instalado el modelo, la transcripción de texto se muestra en la página:
Para detener la conversión de voz en texto, en cualquier momento, haga clic en el botón Detener .
La transcripción también podría detenerse automáticamente después de un largo período de silencio en el audio de entrada.
Vea también:
- /built-in-ai/playgrounds/speechrecognition-api/ - Código fuente para la demostración del área de juegos de SpeechRecognition API.
Uso de speechRecognition API con reconocimiento local en el sitio web
En las secciones siguientes se describe cómo usar speechRecognition API con el reconocimiento de voz local en el código del sitio web. Para obtener más información sobre la propia API, consulte Web Speech API, en MDN.
Compruebe si se admite la API y cree una instancia de un objeto SpeechRecognition.
Para asegurarse de que la API SpeechRecognition se admite en el explorador, pruebe si el SpeechRecognition objeto está disponible:
if (!window.SpeechRecognition) {
console.log("The SpeechRecognition API is not available in this browser.");
} else {
console.log("The SpeechRecognition API is available.");
}
Si se admite la API, cree una nueva SpeechRecognition instancia para empezar a usar la API:
const recognition = new SpeechRecognition();
Vea también:
- SpeechRecognition, en MDN.
Elegir un idioma de entrada y participar en el reconocimiento local
Para configurar el reconocimiento de voz mediante un modelo local, especifique un idioma de entrada y establezca la processLocally opción :
recognition.lang = "en-US";
recognition.processLocally = true;
A partir de Microsoft Edge 150.0.4076, se admiten los siguientes lenguajes de entrada para el reconocimiento de voz local:
- Inglés (en-US)
- Alemán (de-DE)
- Italiano (it-IT)
- Portugués (pt-PT)
- Español (es-es)
- Coreano (ko-KR)
Se espera que la compatibilidad con idiomas se expanda en versiones futuras.
Establezca también las continuous opciones y interimResults en true para transcribir sesiones de audio largas sin detener y recibir resultados provisionales:
recognition.continuous = true;
recognition.interimResults = true;
Vea también:
- SpeechRecognition: propiedad lang, en MDN.
- SpeechRecognition: propiedad processLocally, en MDN.
- SpeechRecognition: propiedad continua, en MDN.
- SpeechRecognition: propiedad interimResults, en MDN.
Compruebe si el modelo local ya está instalado
Antes de iniciar el reconocimiento, compruebe si el modelo local está disponible para el idioma seleccionado mediante el SpeechRecognition.available() método .
Si el modelo aún no está instalado, desencadene la instalación mediante el SpeechRecognition.install() método y espere a que el modelo se complete antes de iniciar el reconocimiento:
async function ensureModelReady(lang) {
// Check if the model is already available.
const availability = await SpeechRecognition.available({
langs: [lang],
processLocally: true,
});
// If the model is already available, proceed to recognition.
if (availability === "available") {
return true;
}
// If the model is not available but can be downloaded,
// trigger the installation and wait for it to complete
// before proceeding to recognition.
if (availability === "downloadable" || availability === "downloading") {
const installed = await SpeechRecognition.install({
langs: [lang],
processLocally: true,
});
if (!installed) {
throw new Error(`Failed to install local model for ${lang}.`);
}
return true;
}
return false;
}
La promesa devuelta por SpeechRecognition.install() se resuelve cuando la instalación se realiza correctamente o se produce un error.
Vea también:
- SpeechRecognition: método estático available() en MDN.
- SpeechRecognition: método estático install() en MDN.
Inicio del reconocimiento de voz
Después de asegurarse de que la API y el modelo están listos, para iniciar el reconocimiento, use el start() método .
Cuando se llama a sin un parámetro, el método reconoce el start() audio del micrófono del usuario:
recognition.start();
Para reconocer el audio de un archivo multimedia en lugar de desde el micrófono del usuario, pase una MediaStreamTrack instancia como argumento al start() método . Por ejemplo, puede crear una MediaStreamTrack instancia mediante la MediaStreamDestinationNode API de WebAudio:
const audioContext = new AudioContext();
const mediaStreamDestination = audioContext.createMediaStreamDestination();
recognition.start(mediaStreamDestination.stream.getAudioTracks()[0]);
Vea también:
- SpeechRecognition: método start() en MDN.
- Web Audio API, en MDN.
Detener el reconocimiento de forma explícita y en el extremo multimedia
Para detener el reconocimiento, use el stop() método :
recognition.stop();
También puede optar por detener el reconocimiento cuando finalice la entrada multimedia, mediante el onended controlador de eventos del elemento multimedia que se usa como entrada. Por ejemplo, si usa o HTMLAudioElementHTMLVideoElement como origen de audio, puede configurar el controlador de eventos de la siguiente manera:
mediaElement.onended = () => recognition.stop();
Vea también:
- SpeechRecognition: método stop() en MDN.
Enviar comentarios
Estamos interesados en escuchar sus comentarios sobre:
- Modelo de reconocimiento de voz local.
- Rendimiento del modelo de reconocimiento de voz local.
- Cualquier otra mejora que quiera ver para los casos de uso.
Envíe comentarios agregando un comentario al problema de comentarios de SpeechRecognition API.
Vea también
Microsoft:
MDN:
-
SpeechRecognition
- SpeechRecognition: método estático available()
- SpeechRecognition: propiedad continua
- SpeechRecognition: método estático install()
- SpeechRecognition: interimResults (propiedad)
- SpeechRecognition: propiedad lang
- SpeechRecognition: propiedad processLocally
- SpeechRecognition: método start()
- SpeechRecognition: método stop()
- Web Audio API
- API de voz web
GitHub: