Introducción al Almacenamiento de Audio

Sonido

El sonido (sound) que se mueve a través del aire se compone de cambios pequeños en la presión de aire (air pressure) que se mueven rápidamente (a la velocidad del sonido: 1,230km/h a nivel del mar), desde su fuente de origen.  En nuestros oídos hay una pequeña membrana y un conjunto de huesos que son capaces de sentir estos pequeños (y veloces) cambios de presión. Aquí hay una gráfica de un detector de presión usado para grabar a un par de manos aplaudiendo una vez.  Este sample fue grabado usando un micrófono durante 5/100mas de segundo o 0.05 segundos.  Para escuchar el archivo de sonido, descárgalo a tu commputador y ábrelo usando VLC o Audacity:
Clap.png
Como puedes ver en esta gráfica (llamada una "forma de onda" o "waveform"), un sonido que para nosotros parece un evento instantáneo está en realidad compuesto de varios cambios distintos de presión.  Las puntas por encima de la mitad de la gráfica indican presión más alta, y las puntas por debajo de la línea divisoria indican presión más baja.  Las áreas en las que la curva azul se aleja más del centro (ya sea hacia arriba o hacia abajo) son áreas altas (en volumen o intensidad).  Las áreas en las que la curva se mantiene cerca del centro son áreas mas calladas.  En esta gráfica la parte más intensa del aplauso es al principio, luego va disminuyedo con el tiempo (recuerda que la gráfica entera sólo dura 5 céntimos de un segundo).

Para capturar o grabar estos cambios de presión usamos un micrófono (microphone).  Un micrófono tiene un componente que es susceptible a diferencias minúsculas de presión (como un globo de aire muy pequeño), y combina esto con un componente que puede cambiar la cantidad de voltaje eléctrico que se mueve a través de un circuito.  Hay muchos métodos para hacer esto, pero el resultado final es que todos los micrófonos convierten los cambios de presión de aire que pasan a través de ellos a cambios en voltaje eléctrico que pueden enviar a través de un cable hacia un equipo de grabación, en este caso un sistema de computador.

El sonido generalmente no mueve nada de aire, sino que simplemente lo comprime o descomprime a una presión más alta o más baja durante cada porción de segundo.  Por esto, los cambios de presión por encima y por debajo de la curva deben ser balanceados y cancelarse mutuamente.  Cada vez que la presión se mueve a través de todas las fases: hacia arriba sobre el centro, luego de vuelta al centro, luego hacia abajo debajo del centro, y luego nuevamente de vuelta al centro, formando una vuelta completa, esto se le conoce como un ciclo (cycle).  La cantidad de ciclos que un sonido completa por segundo se conoce como la velocidad de sonido o frecuencia (frequency), y la unidad para medirla es el Hertz, abreviado Hz.  Así que si un sonido en particular completa 500 ciclos por segundo, es un sonido de 500Hz.  También podemos usar prefijos métricos para esta unidad.  un sonido a 31,000Hz se puede escribir como 31kHz.  Sólo como referencia: el oído humano puede detectar sonidos desde aproximadamente 20Hz hasta cas 20kHz.

La manera en que nosotros escuchamos esta frecuencia es en forma de tonos.  Es posible que tengamos un tono con una sola frecuencia.  Un ejemplo de esto se ve aquí debajo con una frecuencia de 2kHz y la duración de la gráfica es de sólo 0.01 segundos:
2kHz.png
Como puedes ver, toma solamente 1/2000mos de segundo para que la onda se mueva desde el centro, hacia arriba, hacia abajo a través del centro, y hacia arriba de vuelta al centro.  Aquí hay un ejemplo más largo de mismo sonido para que lo escuches (descárgalo y ábrelo en VLC o Audacity).  Puedes ver que este sample de un tono puro es muy distinto al ejemplo anterior de un aplauso.  Esto es porque la mayoría de los sonidos que escuchamos no son de una frecuencia exacta, sino de una mexcla de frecuencias que las escuchamos todas a la misma vez.  Lo que ocurre es que escucharemos miles de distintas frecuencias cada segundo, cada una por una cantidad muy pequeña de tiempo.  La manera en la que esto occurre es que las ondas de las frecuencias van a trabajar juntas para hacer esa porción de sonido más intensa, o trabajarán una contra la otra para debilitar la intensidad de esa porción de sonido.

Abajo hay dos sonidos, el primero de 2.333kHz y el del midio de 2.000kHz, los cuales, al escucharse al mismo tiempo, forman el tercer sonido:
DualToneExample.png

Puedes ver en esta imagen que donde las partes altas y bajas de las ondas van juntas y alineadas, la tercer onda aumenta.  Cuando las primeras dos no están alineadas, se cancelan unas a otras, y la onda combinada se reduce.  Este archivo de audio va a reproducir los tres tonos, primero el de 2.333kHz, luego el de 2.000kHz, y luego la combinación de ambos.  Combinando los conjuntos correctos de frecuencias, por la duración correcta, se puede crear cualquier sonido imaginable. 

Como vimos anteriormente, cuando combinamos frecuencias distintas, la altura de las ondas cambia.  Esta altura (tanto positiva como negativa) se llama la amplitud, y representa cuán alto es un sonido -- tambien conocido como la intensidad (intensity) de un sonido.  Mientras más atas las ondas, mayor o más intenso sera el sonido que escucharás.  Esta escala por lo general se mide en decibeles (dB).  Los decibeles van desde cero (0dB) siendo el sonido de menor intensidad perceptible por el oído humano (a 1kHz), a 194dB que es el sonido de mayor intensidad que se puede crear en la atmósfera de la Tierra.  Algunos ejemplos: una respiración camada produce un sonido de 10dB, una conversación típica es de 40-60dB, un TV a un nivel normal es de 60dB, un carretera con mucho tráfico llega a 85dB, un martillo perforador llega a 100dB, el motor de un avión jet es de 130dB, y un disparo de rifle es de 160dB.

Advertencia sobre daños auditivos:
Sonidos muy altos, especialmente cuando se escuchan por largos periodos de tiempo, pueden dañar permanentemente parte del oído humano.  Si pasas largos periodos de tiempo (8-10 horas al dia por 6 meses) cerca de una carretera de mucho tráfico o si pasas sólo algunos minutos cerca del motor de un jet, puedes ocacionar daños serios y permanentes a tu audición.

Para ver un ejemplo de cómo diferentes intensidades de sonido se presentan en una gráfica, veamos esta pista de audio, del trailer de la películar de código abierto Sintel, en Audacity.  Mientras escuchas el archivo, puedes ver las partes más altas mostrando cimas (peaks) más altos (hacia arriba y hacia abajo del centro) en la escala de intensidad.  Si quieres primero ver el video que va con el audio, lo puedes encontrar aquí.

Modulación de Códigos de Pulso (PCM) - Propiedades de Ondas

Cuando las ondas de sonido, o las ondas de cambios de presión de aire, se mueven a través del aire, siempre varían levemente.  Nunca hay saltos instantáneos de presión, sino sólo cambios leves de presión que ocurren en cantidades de tiempo increíblemente cortas.  Si nos aceracamos a una duración de tiempo lo suficientemente corta, siempre va a haber una curva suave y leve, como las que vimos arriba.  Matemáticamente esto se llama una curva continua (tanto en tiempo como en frecuencia).

Por ejemplo, la siguente es una curva de sonido posible (y hasta típica):
ContinuousGraph.png



Por el contrario, la siguente curva es imposible, porque la presión no puede saltar instantáneamente de un valor a otro:
PressureJumpGraph.png



La siguente curva también es imposible: siempre debe haber alguna cantidad de presión (aunque sea cero); la presión nunca puede simplemente desaparecer:
TimeJumpGraph.png


Conversión Análogo a Digital

Cuando hacemos una grabación análoga de un sonido, digamos en un casette o en un disco de vinil, estamos grabando los cambios de voltaje enviados por el micrófono que capturó los respectivos cambios de presión de aire.  Sin embargo, equipos digitales (CDs, computadores, teléfonos móviles, etc) no son capaces de almacenar esta data continua.  Para un equipo digital, todo debe ser separado y convertido a números (unos y ceros). De modo que un equipo digital puede grabar un número indicando la cantidad de voltaje emitida por el micrófono.  El único problema es que no puede hacer esto en cada instante, dado que tiene un número limitado de veces por segundo en las que puede hacer una lectura del voltaje y grabar su valor como un número.  El térmio general usado para este proceso es una conversión análoga a digital (Analog to Digital Conversion) (A to D, A-D, ADC).

Afortunadamente, los equipos eléctricos modernos son muy poderosos, y pueden fácilmente hacer una de estas conversiones análoga a digitales varios miles de veces por segundo, con cada conversión llamándose un "sample".  De hecho, son capaces de grabar tan rápidamente que el oído digital no puede ni siquiera distinguir que el sonido ha cambiado de análogo a digital!  Lo mismo pasa cuando escuchamos audio digital.  El equipo digital hace una conversión digital a análoga (Digital to Analog Conversion)  (D to A, D-A, DAC) para determinar los números de voltaje almacenados de vuelta a voltajes reales eléctricos.  El voltaje entonces se transmite a un parlante o bafle (o a bocinas pequeñas dentro de audífonos), que usan los cambios de voltaje para activar un equipo que puede crear cambios rápidos de presión de aire...y nosotros escuchamos sonido.

Estas conversiones análogo-a-digital y digital-a-análogo son absolutamente esenciales para todo audio, pero también se pueden aplicar a muchas otras cosas.  De hecho, cualquier cosa que se pueda representar en términos de voltaje eléctrico se puede convertir y usar como una señal digital.  Estas señales pueden ser de algo tan simple como establecer el nivel de luz en una habitación, o tan complicado como controlar el motor de un auto cuando se presiona el pedal de aceleración.

A-D-A_Flow.png

Para más información sobre estas conversiones A-D y D-A puedes ver estos artículos:

http://en.wikipedia.org/wiki/Analog-to-digital_converter
http://es.wikipedia.org/wiki/Conversión_analógica-digital
http://en.wikipedia.org/wiki/Digital-to-analog_converter
http://es.wikipedia.org/wiki/Conversor_digital-analógico

Así que una vez una grabación digital ha capturado una señal de voltaje y hecho una conversión análogo a digital, necesita almacenar esta data digitalmente, aunque sea sólo por un momento mientras la transfiere a otro equipo.  En general a seto se le llama cuantificación digital (Quantization)  (http://en.wikipedia.org/wiki/Quantization_(signal_processing) http://es.wikipedia.org/wiki/Cuantificación_digital). Hay muchas maneras de hacer esto, pero la más común usada para audio es la Modulación de Códigos de Pulso (Pulse Code Modulation o PCM).
http://en.wikipedia.org/wiki/Pulse_code_modulation
http://es.wikipedia.org/wiki/Modulación_por_impulsos_codificados
El PCM toma un "sample" a una cierta velocidad (un conjunto de pulsos cada X microsegundos) y los almacena como un "código" en una escala.
Pcm.png
Aquí puedes ver un ejemplo de una curva de voltaje en color rojo.  La línea en gris simboliza la codificación respectiva para la señal (en una escala de 0-15, 4-bit).  Cada marca en el extremo de abajo es una unidad de tiempo.

Aquí hay otro ejemplo, esta vez usando el mismo tono de 2kHz que usamos arriba.  Esta vez la gráfica es sólo 1/1000mos de segundo (0.001 segundos).  Cada punto que vez en la gráfica es donde un sample de audio se tomó.
2kHzPCM.png

Bits Por Sample

Uno de los factores que determina la calidad auditiva de un archivo de audio digital es el número de bits que se usan para almacenar el valor del voltaje que se convirtió a señal digital.  A esto se le refiere comúnmente como la profundidad del sample.  Cuando trabajamos con imágenes en este curso, usamos 8-bits para cada uno de los tres canales de color (24-bit color).  En audio, el formato más común que verás es 16-bit, que nos da 2^16 o 65,536 posibles valores para cada conversión A-D.  Esto es lo que se usa en medios como CDs y iPods.  Sin embargo, cuando profesionales de audio trabaan en estudios de grabación, muchas veces usan valores de 24-bit (2^24 o 16,777,216 valores posibles) para sonidos más enriquecidos.  El usar menos bits a veces causará que el audio no reproduzca los sonidos muy bien porque todo lo que esté por fuera del registro de valores posibles se recortara (clip).

Aquí hay un ejemplo de un recorte (clipping):
500px-Clipping.svg.png
Puedes ver que la data que está por fuera de los valores que pueden ser representados no se reproduce correctamente.  Esto puede sonar como ruido o como sonidos mudos en tu grabación de audio. 

Además de almacenamiento de 16 y 24-bits, hay otro método de almacenamiento llamado "punto flotante".  Un punto flotante toma 32 bits por cada sample, pero se usa de forma diferente.  24 bits de esa data se usa para almacenar un valor para el sample; los otros 8 bits se usan como un exponente.  esto significa que los valores de un punto flotante pueden representar cambios de valor extremadamente pequeños, hasta cerca de cero. También significa que efectivamente no hay ningún límite superior en la escala tanto en dirección positiva como negativa).  Un ejemplo de esto se puede encontrar en la imagen del tono de 2kHz arriba en la sección de PCM.  Nota que a la izquierda, la escala va de -1.0 a +1.0, en vez de algo como 0 a 65,535.  Esta es la forma típica en la que se escriben los valores de un punto flotante.  En el formato de puntos flotantes, la señal puede aumentar sobre 1.0 o debajo de -1.0 sin pérdida (no hay recorte en puntos flotante).  Por esto, los valores de puntos flotantes se usan muy a menudo durante el proceso de grabación y edición de audio.

Frecuencia de Sample

El otro componente importante que afecta cómo suena una grabación de audio digital es la cantidad de samples A-D que se toman en cada segundo, también conocido como la frecuencia.  este número usualmente se denota en Hertz (Hz), que simplemente significa "ciclos por segundo".  El aspecto más  importante al escoger una frecuencia de sample es el teorema Nyquist.  Este teorema indica que para reproducir un sonido con precisión, necesitas tener una velocidad del sample que sea dos veces tan alta como la frecuencia más alta que haya que reproducir.  Como ya aprendimos, el oído humano típicamente puede escuchar frecuencias hasta alrededor de 20,000Hz o 20kHz.  esto significa que la frecuencia mínima que necesitamos para reproducir un sonido con precición es 40kHz (20kHz multiplicado por 2).  Sin embargo, también debe haber un poco de espacio extra para filtrar cualquier frecuencia no audible, así que las frecuencias de grabació más comunes son 44.1kHz para audio de CD, y 48kHz para un audio digital típico.  También hay algunos formatos designados especialmente para grabación que llegan hasta 96kHz y aún más allá.  Estos permiten crear filtros aún mejores para las frecuencias no-audibles.

Solo porque haga falta al menos 40kHz para poder grabar todo lo que el oído puede escuchar no significa que las frecuencias menores no tengan uso.  Por ejemplo con los teléfonos, cada vez que una llamada de un teléfono fijo sale del vecindario, o cada llamada de teléfono móvil se digitaliza a 8kHz. Esto suena bien cuando todo sólo hace falta escuchar lo que la persona al otro lado está diciendo, pero sonaría terrible si trataras de escuchar un concierto musical digitalizado a 8kHz. En nuestros diás, sin embargo, un ingeniero de audio podría atreverse a usar una frecuencia menor de 40kHz si hubieran severas limitaciones de ancho de banda o de espacio para almacenamiento.  Para este curso usaremos a lo mínimo audio de 44.1kHz o 48kHz.

Endianidad (Endianness)

La endianidad (endianness) es un artefacto del crecimiento de las tecnologías de sistemas en diferentes organizaciones simultáneamente. Esto tiene que ver con la manera en que los bytes se almacenan en la memoria de un computador. Los detales de esto no son importantes para la creación de audio digital, sólo importa saber que hay dos formatos diferentes: el Big-Endian y el Little-Endian. No son compatibles por sí solos, pero programas de software pueden convertirlos fácilmente.

Canales

Los canales (channels) usados en audio digital son diferentes de como los canales se usan en imágenes. En este caso, cada canal es una grabación completamente separada, que simplemente se ajustá para que se escuche (y muchas veces se grabó) a la misma vez. Los canales usualmente se usan para representar la dirección de la cual puede provenir el audio (desde la derecha o desde la izquierda, por ejemplo).

El audio estéreo tiene dos canales, un canal izquierdo y un canal derecho. Esto permite crear sonidos que parece que provenieran de una dirección o de la otra. Los CDs y la radio FM usan sonido estéreo. (http://en.wikipedia.org/wiki/Stereo_sound http://es.wikipedia.org/wiki/Sonido_estereofónico)

El formato más avanzado se llama sonido envolvente (surround sound), que por lo general se describe como si tuviera 5.1 canales. Los cinco canales principales son delante-izquierda y delante-derecha (igual que en estéreo, y se usan cuando sólo hay salidas estéreo disponibles), delante-centro, detrás-izquierda, y detrás-derecha. El 0.1 canale es llamado el canal de efectos de baja frecuencia y está diseñado para uso con sub-woofers que sólo producen sonidos de 3-120Hz.  dada esta baja frecuencia, es posible usar una frecuencia de sample mucho más baja con este canal. Sin embargo, la mayoría de los equipos de computador sólo tratan este canal como su propio canal separado, y por eso los computadores que usan surround sound se suele decir que tienen sies canales en vez de sólo 5.1,  (http://en.wikipedia.org/wiki/Surround_sound http://es.wikipedia.org/wiki/Surround)