10.2 Tratamiento digital del sonido
§1 Sinopsis
El almacenamiento y reproducción del sonido puede hacerse siguiendo dos criterios que denominaremos del magnetófono y de la partitura. El primero pretende almacenar la forma de onda de la forma más fiel posible para reproducirla después. Es el método utilizado en los antiguos dispositivos analógicos como el gramófono o el magnetófono (el propio teléfono). Por contra, el sistema de partitura establece las reglas por las que se formará el sonido; es la información contenida en la partitura la que informa al músico sobre los resultados que debe conseguir.
La informática ha reproducido los criterios anteriores adaptándolos a los dispositivos digitales. De forma resumida podemos adelantar aquí que el sistema del magnetófono digitaliza la onda por el procedimiento de anotar repetidamente su amplitud en intervalos de tiempo muy pequeños; es el denominado sistema de muestreo, del que existen muchas variedades. En todos los casos la onda es transformada en una serie de valores numéricos que se almacenan en un fichero. Posteriormente el fichero puede ser leído por un programa especial, y sus datos enviados secuencialmente a un dispositivo que es capaz de regenerar una tensión eléctrica proporcional a los valores (numéricos) recibidos, de forma que semeja la forma de onda original (es la tarjeta de sonido). La tensión producida es entregada a su vez a un altavoz, que la transforma finalmente en "Sonido".
El sistema de la partitura utiliza un lenguaje especial, parecido al de los músicos, para almacenar información sobre cada nota. Es desde luego un lenguaje informático como cualquier otro (Algol, C, Fortran, Basic, Etc.), aunque adaptado a las necesidades de la representación del sonido. Existe una amplia variedad de estos lenguajes musicales para ordenador cuyo funcionamiento es parecido. El "Fuente" es aquí una "partitura electrónica" que indica cuando debe sonar una nota, por cuanto tiempo, con que volumen y como debe terminar. Después de un cierto proceso "compilación", en vez de producir un ejecutable normal, producen un "binario de sonido". Es decir, un fichero .wab, .au, .snd, .mid, .mp3, .aiff, Etc.
Nota: A partir de aquí, se está en la misma posición que en el sistema anterior (de muestreo). Los ficheros de sonido pueden ser leídos por programas adecuados que los transforman en una serie de valores numéricos, que son enviados secuencialmente a la tarjeta de sonido del ordenador. Esta los transforma en valores analógicos (tensiones), que finalmente se transforman en sonido en los altavoces.
Una forma especial del sistema de la partitura es el denominado sistema MIDI, que se creó para intercambiar información musical entre dispositivos electrónicos digitales, al que dedicaremos un capítulo ( 10.4). Añadir que recientemente han aparecido sistemas híbridos, que están a medio camino entre el sistema de muestreo y el modelo MIDI. Los ficheros resultantes (.mod, .xm, .mtm y .s3m) son menores que los de muestreo puro, pero mayores que los MIDI.
§2 Muestreo
Una forma de tratar una vibración sonora (música o voz) para su manejo por medios informáticos (para meterlo en un CD de música por ejemplo), es digitalizarla (transformarla en números) mediante muestreo. Consiste en medir la amplitud de la vibración en intervalos de tiempo muy cortos, lo que se realiza mediante un dispositivo ADC ("Analog-to-Digital Converter"). Cada muestra ("Sample") se almacena como un número y la frecuencia a que se realiza la medición es la velocidad de muestreo ("Sampling rate"). Los valores numéricos obtenidos son anotados, y esta sucesión de resultados constituye una representación numérica de la vibración. Si los números son representados en binario dentro del ordenador, tendremos una representación digital binaria de la música, muy apropiada para su tratamiento por medios informáticos. Para reconstruir el sonido a partir de su representación digital, basta construir un dispositivo conversor DAC ("Digital-to-Analog Converter") que mande a un altavoz impulsos eléctricos proporcionales a los valores de la serie de números previamente almacenada (cosa relativamente fácil de hacer desde el punto de vista de la ingeniería electrónica).
Conviene no perder de vista que, en estos procesos, la calidad de la cadena es la del eslabón más débil, y que la calidad del sonido almacenado y reproducido, comienza en el proceso de toma de datos (muestreo), y termina en el dispositivo de reproducción utilizado (altavoces) [1]. Es evidente que en ningún caso se puede reproducir un sonido con mejor calidad que la que se empleó en la grabación, y en este orden de ideas, no es lo mismo grabar en monoaural (un solo canal) que en estéreo (dos canales) o en sonido cuadrafónico (cuatro canales), y por tanto doble o cuádruple cantidad de información (una serie por canal).
Observe que tal como lo hemos descrito, en el proceso de toma de datos solo intervienen dos factores: La frecuencia de muestreo y la precisión de la medida almacenada. Analizaremos separadamente ambo factores que son indicativos de la calidad de la digitalización.
- Frecuencia: Cuanto más numerosa es la serie de valores anotados, con mas fidelidad se puede reconstruir después la forma de la onda original. Por lo general se estima que la frecuencia debe ser por lo menos el doble de la mayor frecuencia que se desea reproducir [5]. Para reproducir con una mínima calidad las frecuencias más altas del espectro audible (20 KHz) se requieren 40 KHz (el estándar CD-audio estableció una frecuencia de muestreo de 44.1 KHz).
- Precisión: La calidad y riqueza de matices de la reproducción está directamente relacionada con la precisión utilizada para la medida de la amplitud y el almacenamiento de los resultados. Si utilizamos un almacenamiento de 8 bits para cada medida, solo podemos tener 256 magnitudes distintas para describir la amplitud de la señal. En cambio, si utilizamos 2 bytes (16 bits), disponemos de 65.536 posibilidades, con lo que la información puede ser mas rica en detalles. En este sentido es evidente que un almacenamiento de 8 bits por muestra será más pequeño pero de peor calidad que otro de 16 bits (que ocupará el doble). Al referirse al almacenamiento de audio es frecuente utilizar expresiones como 8, 16, 24, 32 bits de profundidad de sonido, en referencia al número de bits utilizados para almacenar cada muestra.
Resulta claro que la economía de almacenamiento y la calidad apuntan en direcciones distintas, por lo que debe llegarse a una solución de compromiso en función del uso que se pretenda. No es lo mismo almacenar el contenido de una conversación telefónica que un concierto para reproducción en estéreo.
Para dar una idea de magnitudes, podemos señalar que una grabación típica de calidad telefónica básica, puede conseguirse con un muestreo de unos 8 KHz [2] anotado en 8 bits (monoaural), lo que conduce a un flujo de 8 KB/s [3]. Una calidad telefónica mejorada podría suponer un muestreo de 22.05 KHz; anotado en 8 bits por muestra proporciona una secuencia de 22 KB/s, es decir, algo mas de 1.32 MB. de datos por minuto de grabación. Una grabación de calidad CD, con un muestreo de 44.1 KHz en estéreo a 16 bits (2 x 16), proporcionaría un flujo de 176.4 KB/s, equivalente a 10.584 MB por minuto de grabación [4]. Este flujo de datos es el que se considera velocidad normal (x1) en un reproductor de CDs. Desde el punto de vista del hardware, los codificadores actuales (2004) alcanzan fácilmente velocidades de muestreo de 192 KHz con 24 bits de profundidad, aunque las tarjetas montadas en los PCs generalmente utilizan muestreos de 16 bits a velocidades mucho menores.
Nota: El origen del CD es la reproducción musical, y para este uso no tienen sentido velocidades mayores de reproducción. Sin embargo, las unidades modernas, cuya misión principal no es ya la reproducción de sonido, sino la de ficheros multimedia (video-audio), o como almacenamiento externo del ordenador, proporcionan flujos de datos superiores. Por ejemplo, un reproductor (x40) es capaz de proporcionar un flujo de 6.000 KB/s.
Calidad de sonido | Frecuencia de muestreo | profundidad de sonido |
Telefónica |
8,000 Hz |
1 x 8 bits (mono) |
Calidad Radio AM |
11,025 Hz |
1 x 8 bits (mono) |
Calidad Radio FM |
22,050 Hz |
1 x 16 bits (mono) |
CD estéreo |
44,100 Hz |
2 x 16 bits (estéreo) |
Calidad DAT |
48,000 Hz |
2 x 16 bits (estéreo) |
Resulta evidente que tanto las capacidades de almacenamiento, como los flujos de datos involucrados en este tipo de proceso son muy elevados. En argot se dice que requieren un gran ancho de banda. Un "single" normal de 4 minutos de duración en calidad CD requiere del orden de 42.3 MB de almacenamiento.
§2.1 Digitalización PCM
Uno de los sistemas más empleados para muestrear señales analógicas (generalmente audio y video) es la modulación por codificación de impulsos PCM ("Pulse Code Modulation"). Es un método de almacenamiento digital de alta calidad, no comprimido, para señales analógicas que produce ficheros de gran tamaño. Utiliza varias formas de grabación; entre otras:
Frecuencia Muestra Canales Tasa de bits
8000 Hz; 8 bit; Mono 8 KB/seg.
8000 Hz; 8 bit; Estereo 16 KB/seg.
8000 Hz; 16 bit; Mono 16 KB/seg.
8000 Hz; 16 bit; Estereo 32 KB/seg.
22050 Hz; 8 bit; Mono 22 KB/seg.
22050 Hz; 8 bit; Estereo 43 KB/seg.
44100 Hz; 16 bit; Mono 86 KB/seg.
44100 Hz; 16 bit; Estereo 172 KB/seg.
Nota: Existe una variación de este codec básico, denominado PCM adaptativo diferencial, ADPCM que proporciona ficheros comprimidos. La técnica, consistente en codificar las diferencias en los valores de muestras consecutivas, es conocida genéricamente como codificación delta.
§3 Compresión
Nota: Las observaciones que siguen a cerca de la compresión de audio tiene una contrapartida prácticamente simétrica en el video, donde la problemática es muy similar. En el caso de imágenes de cine o TV (video y audio) los sistemas de compresión incluyen ambos canales.
Para mitigar en parte las necesidades de transmisión y almacenamiento de sonido, se
recurre a comprimir la información resultante de su digitalización. Este
recurso, que se emplea de forma recurrente en informática, se basa en que,
como estamos viendo, cualquier información acaba siendo una sucesión de
ceros y unos, del tipo: 01101011100010111010111000110...
que conforma un fichero en algún lugar del ordenador.
Basándose en el estudio de determinadas secuencias de repeticiones, se han diseñado algoritmos matemáticos que permiten, mediante un proceso de cálculo (codificación), que realiza el propio ordenador, reducir el tamaño del fichero resultante. Un proceso inverso (decodificación), restituye el contenido original. Hay que reseñar que, dependiendo de la naturaleza del fichero almacenado, algunos de estos algoritmos consiguen compresiones realmente notables. Por ejemplo, el denominado MP3 consigue tasas del orden de 1/20 en la compresión de sonido de calidad CD estéreo.
En algunos casos, estas técnicas de compresión se ven reforzadas por el hecho de que no se pretende una reconstrucción exacta del fichero original, sino que se permite una cierta diferencia, o pérdida de calidad, que en nuestro caso se traduciría en una distorsión del sonido resultante respecto del original. Esta distorsión puede estar dentro de lo admisible o ser sencillamente inapreciable (el oído humano aunque muy sensible, tampoco es perfecto). Son los algoritmos no conservativos ("Lossy"), en contraposición a los algoritmos conservativos, con los que se exige una restitución perfecta del original.
Se han derrochado tiempo y talento para conseguir los algoritmos de compresión y descompresión más rápidos y perfectos; los resultados son diferentes módulos software "codecs" (acrónimo de compresión des-compresión), casi todos patentados (TM), que resuelven el problema de comprimir imágenes y sonido. Un ejemplo de algoritmo conservativo es el conocidísimo WinZip; por su parte, el MP3 sería un ejemplo de algoritmo que permite una cierta distorsión (no conservativo). Algunos de estos algoritmos se apoyan en dispositivos hardware específicos (codecs hardware) para conseguir mayor rapidez de ejecución.
Nota: No perder de vista que los programas que "Leen" ficheros comprimidos tienen el trabajo adicional de "descomprimirlos" antes de enviarlos al dispositivo de sonido (tarjeta). Es decir, deben reconstruir la secuencia original a partir de la secuencia codificada.
En el caso del video (que puede incluir uno o varios canales de audio), los mejores codecs pretenden conseguir lo que se denomina movimiento completo ("Full motion"); que exige digitalizar las escenas con una frecuencia igual o mayor de 10 cuadros por segundo, a fin de conseguir una sensación de movimiento real, como en el cine. Naturalmente, aún con imágenes pequeñas, el "Full motion video" requiere velocidades de proceso muy altas, por lo que al principio había que recurrir a descompresores hardware externos. Por ejemplo descompresores MPEG-4 para los reproductores DVD. Sin embargo, el aumento de potencia de los procesadores y la inclusión de codecs hardware en los mismos (aumento de sus capacidades multimedia), hacen ya posible el video de movimiento total con codecs software.
En ocasiones las limitaciones no son impuestas por la velocidad de proceso sino por la transmisión. Por ejemplo en la transmisión de video por en tiempo real por Internet (video conferencia). En estos casos el movimiento completo es imposible actualmente (2002) incluso con videos de cuadro pequeño, por lo que debe recurrirse a una serie de cuadros ("frames") de refresco más lento en los que la sensación de movimiento a pasos es ostensible.
[1] Habría que añadir aquí que las condiciones acústicas del local en que se reproduce el sonido son también determinantes en la "percepción" del resultado.
[2] KHz = Kilo Hertzios. Ciclos por segundo; en este caso, muestras por segundo.
[3] KB/s. = Kilo Bytes (octetos) cada segundo.
[4] Como puede verse, la calidad CD estándar, 44.1 KHz en 2 canales de 16 bits, supone un flujo de datos de 1411.2 Kbits/s. En contraste, los decodificadores MP3 proporcionan un flujo de salida de 192 Kbits/s en la denominada "Calidad CD". Evidentemente, aprovechan que la capacidad de discriminación del oído humano es (por lo general) bastante deficiente, para utilizar una abismal diferencia entre lo que es la calidad CD "real" y su imitación.
[5] Es fácil demostrar que la frecuencia más elevada que teóricamente se puede reproducir con un sistema de muestreo, es igual a la mitad de la frecuencia de muestreo (en el mejor de los casos se necesitan como mínimo dos muestras por onda completa). Esta frecuencia se denomina frecuencia de Nyquist. En cualquier sistema de reproducción por muestreo, las frecuencias por encima de este límite tienden a ser "comprimidas" en dicha frecuencia, produciéndose una distorsión ("foldover") respecto del original.