Guía de uso rápido
Esta guía muestra lo básico que necesitas hacer para que el reconocimiento de voz de Iara funcione en tu aplicación web.
OBS: Ese guía cree que usted ya tiene el SDK javascript y el servicio local (ALS) de Iara ya integrado/instalados. Si no es el caso, eche un vistazo a la página de Instalación.
1. Esqueleto básico
Dada la aplicación web que se muestra a continuación:
<html>
<head>
<!-- Iara Speech SDK:
https://developers.iarahealth.com/javascript/docs/general-instalación -->
<script src="https://cdn.iarahealth.com/sdk/javascript/1.9.0/iara-speech.min.js"></script>
</head>
<body>
<button id="btnStart">Iniciar</button>
<button id="btnStop">Parar</button>
<script type="text/javascript">
// Código JS de su aplicación aquí.
</script>
</body>
Para simplificar la comprensión, cualquier código Javascript que se muestre de aquí en adelante toma el lugar del comentario // código JS de su aplicación aquí
del ejemplo anterior.
Dica: Eche un vistazo en ejemplos de código disponible en ese SDK. Usted puede utilizar algun de ellos como una base para tu proyecto o integración.
2. Inicialización y Autenticación
El primer paso es instanciar e inicializar el reconocedor Iara con sus datos de acceso, i.e. userId
y apiToken
. Debes haber recibido su userId
y apiToken
cuando creó una cuenta para usar el SDK.
var myUserId = 'meu@email.com'; // utilice su userId
var myApiToken = '197765800edb8affcb44a7ae7b4ff0a3'; // utilice su apiToken
// Instancia el reconocedor Iara
var recognition = new IaraSpeechRecognition();
// Inicializa el SDK, i.e , la autenticación, comprueba el ALS, descarga el modelo de voz, etc.
recognition.init({
userId: myUserId,
apiToken: myApiToken
}).done(function(e) {
// Muy bien, el reconocimiento puede comenzar.
}).fail(function(e) {
// Ha ocurrido algún problema.
});
Si todo se inicializa sin problemas, el método done()
será llamado, indicando que el SDK está listo para hacer el reconocimiento de voz. Si ocurre algún problema, se llamará al método fail()
con la información del error.
Consejo: : cada usuario de su aplicación debe tener suuserId
propio, ya que el reconocimiento de voz de Iara se personaliza por usuario . El valor deluserId
identifica solo una persona y se utilizará para descargar y ajustar un modelo de voz propio para el usuario en cuestión. Ver la sección Autenticação (API Iara) para saber mas.
Usted puede acompañar en detalles los pasos de inicialización realizados por el SDK a través de llamadas al método progress()
, descrito en la siguiente sección. El uso del método progress()
es opcional, pero se recomienda para asegurar una buena experiencia de uso para el usuario de su aplicación.
IMPORTANTE: Usuarios diferentes no deben utiizar un userId
con el mismo valor. Esto degrada la precisión del reconocimiento de voz.
2.1 Eventos de inicialización mediante progress()
(opcional)
Después de autenticar al usuario, el SDK realizará varias inicializaciones internas, como comprobar que el ALS se está ejecutando, descargar el modelo de voz del usuario, etc.
El método progress()
se llama varias veces, una por cada paso de inicialización realizado durante la inicialización:
var recognition = new IaraSpeechRecognition();
recognition.init({
// (...)
}).done(function(e) {
// (...)
}).fail(function(e) {
// (...)
}).progress(function(e) {
console.log('Iara está iniciando: ' + e.detail.type, e.detail);
})
El método progress
será llamado, por ejemplo, cuando el SDK detecte que lo ALS está ejecutando en la computadora del usuario, cuando se esté descargando el modelo de voz del usuario especificado, cuando el modelo de voz se haya descargado correctamente, etc.
Consulte la página Inicio y Eventos para obtener más información sobre los pasos que se producen durante el inicio.
2.2 Configuraciones del reconocedor (opcional)
Puede configurar el sistema de reconocimiento de voz según sus necesidades, por ejemplo, si desea o no resultados de reconocimiento intermedios:
var recognition = new IaraSpeechRecognition();
recognition.init({
userId: 'meu@email.com',
apiToken: '197765800edb8affcb44a7ae7b4ff0a3',
interimResults: false,
input: 'speechmike'
})
Si no cambia los ajustes específicos, se utilizarán los valores estándar. Para más informaciones, consulte la página Inicialización.
Consejo: consulte la página Dispositivos de audio para obtener más informaciones sobre el uso y la configuración de dispositivos de entrada de audio, como el SpeechMike®.
3. Reconocimiento de voz
Suponiendo que todo se haya iniciado sin problemas, puede iniciar el reconocimiento de voz después que done()
llamado:
var recognition = new IaraSpeechRecognition();
recognition.init({
// (...)
}).done(function(e) {
// El evento principal del reconocimiento de voz es el "resultado", llamado cuando
// se reconoce algún audio de entrada.
recognition.onresult = function(event) {
// El parámetro "evento" contiene una propiedad llamada "detail", que es un
// objeto IaraSpeechRecognitionDetail. La propiedad "transcript" de eso
// el objeto contiene el texto que Iara reconoció basado en los audios de entrada.
var text = event.detail.transcript.toLowerCase();
console.log('Texto reconocido: ' + text);
};
// Configuramos botones para habilitar/deshabilitar el reconocimiento de audio.
var botaoStart = document.getElementById('btnStart');
var botaoStop = document.getElementById('btnStop');
botaoStart.addEventListener('click', function() {
recognition.start();
});
botaoStop.addEventListener('click', function() {
recognition.stop();
});
});
En el ejemplo anterior, cuándo el reconocedor llama el método done()
para indicar que todo está correctamente configurado, se realizan dos actividades. En el primero, se crea una función para manejar el evento onresult
, que se llama cuándo se reconoce algún audio.
En la segunda actividad, se configuran dos botones HTML para activar y desactivar el reconocimiento de voz de Iara. El primer botón (cuyo id es btnStart
) está configurado para activar el reconocimiento de voz cuando se hace clic. Esto se hace a través del evento click
del botón, que cuando se activa, hace una llamada a recognition.start()
, iniciar el reconocimiento de voz. Del mismo modo, el botón de identificación btnStop
, al hacer clic, llamar recognition.stop()
, que finaliza la operación de reconocimiento. Iara no hará nuevos reconocimientos en el dispositivo de entrada de audio mientras recognition.start()
no ser llamado de nuevo.
Después que recognition.start()
se llama, el evento onresult
se invoca repetidamente con un intervalo variable, que depende de los recursos informáticos disponibles en la computadora del usuario.
Esqueleto basico completo
A continuación se muestra el esqueleto de una aplicación básica pero completa que utiliza el SDK:
<html>
<head>
<!-- Iara Speech SDK: https://developers.iarahealth.com/javascript/docs/general-instalacion-->
<script src="https://cdn.iarahealth.com/sdk/javascript/1.9.0/iara-speech.min.js"></script>
</head>
<body>
<button id="btnStart">Iniciar</button>
<button id="btnStop">Parar</button>
<script type="text/javascript">
var myUserId = 'meu@email.com'; // utilice su userId
var myApiToken = '197765800edb8affcb44a7ae7b4ff0a3'; // utilice su apiToken
// Instancia del reconocedor de Iara
var recognition = new IaraSpeechRecognition();
// Inicializa el SDK, i.e. autenticación, comprueba el ALS, descarga el modelo de voz, entre otros.
recognition.init({
userId: myUserId,
apiToken: myApiToken
}).done(function(e) {
// El evento principal del reconocimiento de voz es el "onresult", llamado cuando
// se reconoce algo de audio en la entrada.
recognition.onresult = function(event) {
// El parámetro "event" contiene una propiedad llamada "detail", que es un
// Objeto IaraSpeechRecognitionDetail. La propiedad "transcript" de este
// El objeto contiene el texto que Iara ha reconocido basándose en el audio de entrada.
var text = event.detail.transcript.toLowerCase();
console.log('Texto reconocido: ' + text);
};
// Configuramos los botones para activar/desactivar el reconocimiento de audio.
var botaoStart = document.getElementById('btnStart');
var botaoStop = document.getElementById('btnStop');
botaoStart.addEventListener('click', function() {
recognition.start();
});
botaoStop.addEventListener('click', function() {
recognition.stop();
});
}).fail(function(e) {
// se ha producido algún problema. El parámetro "e" contiene varias informaciones sobre el error.
console.error('Algún problema al inicializar Iara: ' + e.detail.userMessage);
}).progress(function(e) {
// Este método es invocado múltiples veces por el SDK a lo largo de su inicialización.
// Se puede utilizar para llevar la cuenta de los pasos de inicialización, para informar
// su usuario que su modelo de voz se está descargando, por ejemplo.
console.debug('Iara se está iniciando: ' + e.detail.type);
});
</script>
</body>