La incorporación de voz natural a diseños embebidos es algo sencillo
La incorporación de voz a un proyecto embebido puede mejorar la experiencia del usuario de un producto. Los comandos pueden confirmarse, el estado puede anunciarse y las temperaturas pueden leerse en voz alta.
Sin embargo, la incorporación de voz ha sido considerada una tarea desalentadora por su alto coste y dificultad. Este artículo demuestra que la utilización de un microcontrolador PIC® de 8 bit con un periférico modulador de ancho de pulso (PWM) puede proporcionar una forma sencilla y de bajo coste de añadir voz a un proyecto embebido.
Un método para codificar la voz es la denominada Modulación Diferen-cial Adaptativa de Código de Pulso (Adaptive Differential Pulse Code Modulation, ADPCM), una técnica que digitaliza las señales analógicas. La ADPCM aprovecha la alta correlación entre muestras de voz consecutivas y codifica la diferencia entre una muestra prevista y la muestra de voz. Cuando se reproduce o se decodifica se pueden prever las muestras futuras. La ADPCM proporciona una compresión eficiente con reproducción de voz de calidad.
Existen varios tipos de algoritmos ADPCM. El algoritmo de la Interactive Multimedia Association (IMA) reduce significativamente la complejidad matemática mediante la simplificación de algunas de las operaciones y utilizando tablas de consulta cuando sea apropiado, por lo que es una buena elección para los microcontroladores de 8 bit. Dado que la reproducción es el principal objetivo, se utilizará un programa en PC para la codificación, mientras que las tareas de decodificación se gestionarán por medio del microcontrolador.
Para lograr que la reproducción sea interactiva, los recortes de voz se separan en archivos individuales y direccionables. Por ejemplo, para pronunciar el valor numérico de la temperatura, los números de uno a nueve, diez a diecinueve, veinte a veintinueve, treinta, cuarenta, cincuenta, sesenta, setenta, ochenta y noventa se almacenan en archivos separados. Por tanto, cuando la temperatura sea de 32 grados, la voz reproducirá dos archivos, uno después del otro: treinta-y-dos. Se emplea un sencillo sistema de archivos para almacenar y extraer los archivos con las voces individuales.
La cantidad de memoria necesaria para almacenar los archivos de voz depende del número de bits, la velocidad de muestreo y la cantidad almacenada. Para una calidad de sonido de conferencia, el número de bits necesarios es de 16 con una velocidad de 8000 muestras por segundo, que equivale a un ancho de banda de 4000 Hz. Por tanto, el tamaño de un segundo de voz es de 16.000 bytes.
Una vez codificado el archivo de voz con el algoritmo ADPCM de IMA, el tamaño comprimido es 1/4 de su tamaño original. Dependiendo de la cantidad de voz necesaria para un proyecto, se puede almacenar en la memoria de programa del microcontrolador o en una memoria Flash serie externa. Un megabit (128 Kbytes) de memoria Flash serie puede contener aproximadamente 32 segundos de voz.
El diagrama de flujo mostrado en la Figura 1 resume los pasos que se han dado. Primero, la voz se guarda en un PC como un archivo WAV. Segundo, utilizando un programa de edición de sonido, el archivo de voz original se ajusta y se re-muestrea a 8000 Hz, y a continuación se guarda como un archivo mono en formato ‘little-endian’ de 16 bit sin firma. Tercero, se codifica el archivo utilizando el algoritmo ADPCM y se guarda como un archivo binario. Cuarto, se recopilan todos los archivos juntos en un sistema de archivos. Finalmente, se almacenan los archivos en un microcontrolador o en una memoria externa.
La Figura 2 muestra el hardware para este sistema. El microcontrolador dirige el archivo de voz para su reproducción desde memoria y decodifica el archivo utilizando el módulo PWM. La salida del módulo PWM se filtra en un filtro paso bajo con un paso de banda de 4000 Hz. La señal analógica resultante se puede amplificar y reproducir por medio de un altavoz.
Con un pequeño esfuerzo destinado a la grabación de voces, su codificación en formato ADPCM y su almacenamiento en la memoria, un proyecto embebido puede incorporar una voz natural. Pero esto no se acaba aquí. Dado que los archivos son meras grabaciones, también se pueden introducir tintineos, tonos o zumbidos. El único límite para mejorar la experiencia de usuario de un diseño embebido es la imaginación del ingeniero.
Nota: El nombre y el logo de Microchip, PIC y MPLAB son marcas registradas de Microchip Technology Inc. en EE.UU. y en otros países. Las restantes marcas citadas pertenecen a sus respectivas compañías.
Referencias:
Se puede encontrar una Nota de Aplicación de Microchip AN643, con código fuente para un algoritmo ADPCM simplificado, en: http://www.microchip.com/stellent/idcplg
?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011118
Articulos Electrónica Relacionados
- Relé de estado sólido resisten... Por parte de International Rectifier se encuentra disponible un nuevo relé de estado sólido (SSR) RAD-Hard™ para conmutación de bus de alimentación, circuitos d...
- Cypress amplía su línea de con... Cypress Semiconductor Corp. ha presentado los nuevos modelos pertenecientes a su línea de controladores de pantalla táctil TrueTouch® Gen4. Los controladores Ge...
- Reguladores de conmutación de ... RS Components (RS) y Allied Electronics (Allied), marcas comerciales de Electrocomponents plc, distribuidor de productos y servicios de electrónica y mantenimie...
- Módulos TFT de alta luminosida... Hitachi Display Products Group (DPG) dispone de dos nuevos módulos display TFT de brillo ultra alto (UHB), que son ideales para las aplicaciones en exterior baj...
- Proteja su aplicación embebida... Proteja y mantenga la integridad de su sistema con nuestra familia de controladores de señal digital (DSC) dsPIC33C MPT, que integran un subsistema seguro con u...
- Drivers para el control de mot... Toshiba Electronics Europe presenta cinco nuevos drivers de nueva generación para el control de motores paso a paso. Los nuevos drivers están diseñados basándos...
- Nueva gama de 5 nuevos modelos... ROHM ha desarrollado MOSFET duales que integran dos chips de 100 V en un solo encapsulado, ideales para el accionamiento de motores de ventiladores utilizados e...
- Avago anuncia optoacopladores ... Avago Technologies presenta la familia de optoacopladores ACPL-M21L/021L/024L/W21L/K24L. Estos optoacopladores consumen menos energía que otros dispositivos de ...
- SoC Renesas DA14592 BLE 5.2 pa... Mouser ya tiene en stock el sistema en chip (SoC, por sus siglas en inglés) DA14592 Bluetooth® Low-Energy (BLE) 5.2 con flash integrado de Renesas Electronics. ...
- Chip puente HDMI a APIX2 que s... Inova Semiconductors anuncia el INAP560T, un transmisor digital multicanal de alta velocidad para vídeo en vehículos. Las aplicaciones típi...
- Controlador Renesas R9J02G012 ... Renesas Electronics presenta su nuevo controlador de USB Power Delivery (USB PD) R9J02G012 para uso en una amplia gama de productos USB PD que emplean corriente...
- Semiconductores orgánicos: eco... Lucas Viani (Ribeirão Preto, Brazil, 1983) investiga sobre semiconductores orgánicos en el Instituto Universitario sobre Modelización y Simulación en Fluidodiná...