El módulo audiovisual de AIO controla todos los recursos de visuales y auditivos del robot. Está desarrollado en JavaScript, y los recursos visuales se controlan a través de CSS y HTML. El código fuente del proyecto se encuentra publicado en GitHub.
##Dependencias #####Software
#####Hardware
- Parlante
- Micrófono
###Librerías A pesar que las dependencias externas ya vienen incluidas en el repositorio de código, a continuación se listan las librerías o proyectos utilizados.
####AudioOutput Module
- Reproducir Sonidos: Web Audio API
- Text to speech: Web Speech API
- speech to text. Web Speech API
- Reproducir videos: YouTube Player API
- Renderizar SVG: SVG Morpheus
- Cuadros de diálogo: Bootstrap alerts
- Mensajes en pantalla: Bootstrap alerts
- Botones del menú: material-floating-button
- Manejo del DOM: JQuery
- Ionicons: Ionicons
- Comandos de voz: Annyang
##Correr el proyecto Para correr el proyecto se debe ejecutar el siguiente comando:
$ node server.js
Y luego abrir el chromium en la siguiente dirección web:
http://localhost:8080/
Cabe aclarar que el módulo AudioVisual funciona únicamente cuando está conectado al actor, quien le dice que acción debe realizar y debe estar activo antes de cargar la página en el navegador.
##Servicios Ofrecidos El módulo ofrece los siguientes servicios:
###DECIR Emite un texto como sonido.
#####Opciones
- TEXTO: Texto que se va a emitir como sonido.
- TONO: Tono de la voz.
#####Ejemplo
DECIR:
TEXTO: oh no! voy tarde al colegio
TONO: HABLAR
###REPRODUCIR-SONIDO Reproduce un sonido. Estos sonidos están almacenados en la carpeta
/public/assets/sounds/
y se declaran en el archivo **utils.js ** dentro en la ruta
/public/static/js/api/utils.js
de la siguiente forma:
var availableSounds = {
path: './assets/sounds/',
availableSoundFiles: [
{
name: 'name', //Id of the sound file
file: 'file.mp3' //Name of the file
}
]
};
Este servicio, usa el Web Audio API, para mayor información acerca de archivos de audio soportados por favor vea la documentación de la Web Audio API
#####Opciones
- SONIDO: Nombre del sonido que se va a reproducir.
#####Ejemplo
REPRODUCIR-SONIDO:
SONIDO: colegio
###REPRODUCIR-VIDEO Reproduce un video de youtube. Los videos que estarán disponibles en la escena deben ser declarados en el archivo
/public/static/js/api/utils.js
de la siguiente manera:
var availableVideos =[{
name:'dinosaurios', //Name of the video
url: 'https://www.youtube.com/watch?v=1oe5Mxs-S3I' //YouTube Video URL
}
];
#####Opciones
- VIDEO: Nombre del video a reproducir.
#####Ejemplo
REPRODUCIR-VIDEO:
VIDEO: dinosaurios
###RESPONDER Activa el micrófono para que el usuario pueda realizar una pregunta al usuario.
#####Opciones Este servicio no tiene opciones de configuración.
#####Ejemplo
RESPONDER:
Footnotes
-
Google Chrome Aunque el proyecto está diseñado y probado para ser utilizado en Chromium browser (navegador soportado por dispositivos con procesador ARM), todas sus opciones son compatibles con el navegador Google Chrome. ↩