
Este artículo se centrará en las interfaces de voz (Interfaz de usuario de voz - VUI), y también mostrará cómo crear una aplicación en Node.js (una habilidad - en la terminología de la plataforma Yandex.Dialogs) para el asistente de voz de Alice. Usando una API de terceros, nuestra aplicación recibirá citas de personas famosas y se las pasará a Alice, quien, a su vez, las leerá a los usuarios. Además, considere una de las pocas formas de monetizar tales aplicaciones: la creación de un botón de donación (donación). En general, todos deberían estar satisfechos.
Entonces, ¿qué son las interfaces de voz en su núcleo? El hecho es que hace varios años, las tecnologías alcanzaron un nivel de desarrollo en el que se hizo posible utilizar masivamente la forma más natural y natural de interacción humana con una computadora: a través de la voz. Varias grandes compañías de TI brindaron la oportunidad de desarrollar "aplicaciones de voz" para desarrolladores externos mediante la creación de las plataformas apropiadas: 
Alexa (Amazon) , 
Action on Google , 
Bixby (Samsung) , 
Alice (Yandex) . Ahora, estas plataformas generan un poderoso impulso para la difusión generalizada de interfaces de voz, desde computadoras y teléfonos inteligentes hasta electrodomésticos. Parece que en los próximos años habrá un cambio radical en el paradigma habitual de la interacción hombre-máquina: en lugar de botones e interruptores, todos estos refrigeradores, cafeteras, hornos de microondas y planchas serán controlados por una voz humana.
Hoy nos centraremos en Alice, inicialmente enfocada en apoyar el idioma ruso, y que ya tiene un sintetizador de voz humana de muy alta calidad. Se puede llamar a Alice desde: 
Yandex.Browser ; Aplicación móvil 
Yandex con Alice para 
Android e 
iOS ; 
Aplicación móvil 
Yandex.Navigator para 
Android e 
iOS ; 
Yandex . 
Estaciones . Por habilidades, Alice tiene un 
catálogo especial donde los desarrolladores independientes, como usted, pueden publicar sus aplicaciones. Y ya sabes, a pesar del hecho de que la plataforma aún es muy joven, Alice ya es bastante. ¡Ella literalmente se vuelve omnipresente ante nuestros ojos! Por ejemplo, las descargas de la aplicación 
Yandex con Alice para 
Android superaron los 100 millones y, según 
StatCounter , en julio de 2019, la participación de 
Yandex.Browser en el mercado ruso ascendió a más del 13%. Y estos son solo un par de ejemplos con fines ilustrativos.

Por lo tanto, para los programadores que se mantienen al tanto de la innovación, ¡es hora de desarrollar interfaces de voz! Comencemos, y 
crearemos una habilidad que enviará solicitudes a la API de 
forismatic.com , extraerá citas de la respuesta y los nombres de sus autores, formateará todo en una forma adecuada y se lo enviará a Alice. Este último, a su vez, (y ya sin nuestra participación) pronunciará y mostrará estas declaraciones a su audiencia. Además, le pediremos a Alice que para aquellos usuarios que tienen una pantalla para mostrar el botón " 
Proyecto de soporte ", al hacer clic, el usuario sea redirigido a la 
página del servicio 
Yandex.Money . Por lo tanto, las personas con buen corazón y algo de dinero pueden ayudar a desarrollar su proyecto.
Primero, debe tener 
Node.js instalado en su computadora 
con npm , y también (opcionalmente, solo para pruebas) 
ngrok (también vea el spoiler 
Acerca de ngrok a continuación ), y / o necesita tener una cuenta 
ZEIT gratuita o pagada (para pruebas) e implementaciones; también debe instalar 
Now CLI ).
Sobre ngrokngrok "rompe el túnel" desde su computadora a Internet, por lo que, durante el tiempo de prueba, la computadora local se convierte en un servidor en la World Wide Web; esta es la principal conveniencia y propósito de 
ngrok . Para instalar 
ngrok : cree una cuenta gratuita en 
ngrok.com , descargue el archivo zip y descomprímalo en una máquina local, por ejemplo, en 
C: \ Archivos de programa \ ngrok y configure la ruta a esta carpeta en la 
ruta de la variable de entorno. En la línea de comando o terminal, ejecute el comando 
ngrok -v para asegurarse de que todo funcione. Luego, para asociar la máquina local con su cuenta en 
ngrok , ejecutamos el comando una vez: 
ngrok authtoken YOUR_TOKEN donde 
YOUR_TOKEN es su token único que encontrará en su cuenta 
ngrok .
  Luego, en 
GitHub, clone (o descargue y luego descomprima) el repositorio 
alice-tutorial-skill , que es una parte integral de este artículo. El código con comentarios detallados se encuentra en el archivo 
/api/index.js ; puede leerlo como notas de un músico.
Después de eso, ingrese el directorio: 
cd alice-tutorial-skill e instale los paquetes necesarios: 
npm installPara probar con 
ngrok :
- En un símbolo del sistema o terminal, en el directorio alice-tutorial-skill , ejecute el comando: npm start
- En otra instancia de la línea de comando o terminal, ejecute el comando: ngrok http 3000
- Copie la URL https generada por ngrok como se muestra en la captura de pantalla a continuación.

Para implementar o probar en 
ZEIT : en la línea de comando o terminal, en el directorio 
alice-tutorial-skill , ejecute el comando: 
nowEspere unos segundos a que se cargue el código en el servidor, y luego copie la URL en la consola ZEIT y agregue la ruta al directorio api (/ api /) al final de esta URL.
Ahora vaya a su cuenta 
Yandex , vaya a la 
consola Yandex.Dialogs , haga clic en el mosaico " 
Crear diálogo ", y en la ventana emergente seleccione el mosaico " 
Habilidad en Alice ", como se muestra en la captura de pantalla:

En la pestaña " 
Configuración ", complete todos los campos necesarios, y en el campo " 
URL de Webhook ", inserte la URL generada por 
ngrok (se muestra en el ejemplo a continuación), o la URL obtenida en la consola 
ZEIT (con 
/ api / agregado al final):

Ahora ve a la pestaña 
Prueba , donde deberías ver algo como esto:

Eso es todo, en realidad! Así es como se crea y funciona la habilidad 
Smart Thoughts publicada en el catálogo de Alice, que puedes probar. En un teléfono inteligente, se verá más o menos así:

Mis planes son escribir una serie de artículos sobre este tema, y el siguiente será un artículo sobre la integración de Alice con 
Bitrix24 CRM , que me permitirá crear habilidades comerciales para realizar pedidos usando la voz. Entonces, ¿quién está interesado en suscribirse, para no perderse. Puedes suscribirte aquí o en 
Telegram . Y me despido de ella.
Actualización del 14/10/2019. Se ha publicado un artículo sobre la integración de Alice con 
Bitrix24 CRM : " 
Alicia en el país de Bitrix ".
Rosquillas
