Cómo funciona un vocoder
Esquema básico de un vocoder.
Teoría del vocoder
La voz humana consiste en sonidos generados por la apertura y cierre de la glotis (cuerdas vocales), lo que produce una onda periódica con muchos sonidos armónicos. Este sonido básico es entonces filtrado por la nariz y la garganta (un complicado sistema resonante conocido como el
tracto vocal) de forma controlada, creando la amplia variedad de timbres del habla. Hay otro conjunto de sonidos, conocidos como sordos, que no son generados por la vibración de las cuerdas vocales.
El vocoder examina el habla encontrando su onda básica, que es la frecuencia fundamental, y midiendo cómo cambian en el tiempo las características espectrales, es decir los
formantes, que son bandas de frecuencia donde se concentra la mayor parte de la energía sonora de un sonido, grabando el habla. Esto da como resultado una serie de números representando esas frecuencias modificadas en un tiempo particular a medida que el usuario habla. Al hacer esto, el vocoder reduce en gran medida la cantidad de información necesaria para almacenar el habla. Para recrear el habla, el vocoder simplemente revierte el proceso, creando la frecuencia fundamental en un oscilador electrónico y pasando su resultado por una serie de filtros basado en la secuencia original de símbolos.
Primeros vocoders
Muchos vocoders usan un gran número de canales, cada uno en una frecuencia. Los diversos valores de esos filtros no son almacenados como números, que están basados en la frecuencia original, sino por una serie de modificaciones que el fundamental necesita para ser modificado en la señal vista en el filtro. Durante la reproducción esos números son enviados de vuelta a los filtros y entonces se modifican con el conocimiento de que el habla varía típicamente entre esas frecuencias. El resultado es habla inteligible, aunque algo mecánica. Los vocoders a menudo incluyen también un sistema para generar sonidos sordos, usando un segundo sistema consistente en un generador de ruido en lugar de la frecuencia fundamental.
Un ejemplo de uno de los primeros vocoders es el
Sonovox que fue usado en una buena cantidad de canciones desde la década de 1940 a la década de 1960, y se usó para crear la voz de Casey Junior, el tren de Dumbo y el piano de
El Piano Mágico de Sparky.
Vocoders basados en predicción lineal
Desde finales de la década de 1970, muchos vocoders no musicales se han empleado usando predicción lineal, donde la envolvente espectral de la señal se estima por un filtro digital IIR todo polos. En codificación lineal predictiva, el sistema todo-polos reemplaza el banco de filtros paso-banda de su predecesor y se usa en el encoder para blanquear la señal (aplanar su espectro) y de nuevo en el decodificador para reasignar la envolvente espectral de la señal de voz original. En contraste con los vocoders realizados usando bancos de filtros, la localización de los picos espectrales está determinada totalmente por la señal objetivo y no necesita ser armónica, es decir, un múltiplo de la frecuencia fundamental.
Implementaciones modernas del vocoder
Incluso con la necesidad de grabar muchas frecuencias y los sonidos sordos, la compresión del vocoder es impresionante. Los sistemas estándar de grabación de habla registran un rango de frecuencias entre 500Hz y 3.400Hz (ancho de banda habitual en telefonía), requieren 64 kbits/s de ancho de banda, según el Teorema de muestreo de Nyquist-Shannon. Sin embargo, un vocoder puede proporcionar una simulación razonablemente buena con menos de 2.400 bits/s de ancho de banda.
Muchos vocoders se usan en los sistemas de cifrado de la NSA:
- LPC-10, FIPS Pub 137, 2400 bit/s, que usa
codificación lineal predictiva.
- Code Excited Linear Prediction, (CELP), 2400 and 4800 bit/s, Federal Standard 1016, usado en
STU-III
- Continuously Variable Slope Delta-modulation (CVSD), 16 kbit/s, usado en cifradores de banda ancha como el
KY-57.
- Mixed Excitation Linear Prediction (MELP), MIL STD 3005, 2400 bit/s, usado en la Future Narrowband Digital Terminal
FNBDT,
- Adaptive Differential Pulse Code Modulation (ADPCM), anterior ITU-T G.721, 32Kbit/s usado en el teléfono seguro STE.
ADPCM no es un vocoder propiamente dicho sino un codificador general de formas de onda. ITU ha reunido G.721 con algunos otros codificadores ADPCM en la recomendación G.726.