You are on page 1of 8

UNIVERSIDAD NACIONAL DE QUILMES CARRERA DE COMPOSICION CON MEDIOS ELECTROACUSTICOS COMPUTACION APLICADA A LA MUSICA II Prof.

Oscar Pablo Di Liscia

INTRODUCCIN AL AUDIO DIGITAL

El siguiente es un resumen sobre Audio Digital basado principalmente en la 2 Seccin del libro Elements of Computer Music (F. R. Moore, Prentice Hall Inc., New Jersey, 1990). Se han omitido numerosos datos que no servan al propsito de este curso y, a la vez, se han agregado otros que provienen de diversas fuentes. Para entender los procesos empleados en la generacin y procesamiento de sonido digital se puede utilizar el recurso de pensarlos en trminos de velocidades. Al estudiar MIDI hemos visto cmo la computadora o diversos dispositivos pueden enviar rdenes de disparo y control a otros dispositivos que generan y/o procesan seales digitales. La velocidad de envo de esas rdenes no puede superar, en el caso de MIDI, los 31.250 bits por segundo y, considerando que cada comando MIDI tiene de un byte a 3 bytes, podemos decir, realizando un promedio de 16 bits p/seg. (2 bytes) que se pueden enviar aproximadamente unas 2000 ( |(31.250/16)|=1953) rdenes MIDI por segundo. No hemos dicho nada, sin embargo, acerca de cmo trabajan los dispositivos de software o hardware que generan y/o procesan seales digitales y, aunque 2000 acciones por segundo es una cifra de ejecucin impresionante, lejos del alcance de cualquier intrprete humano, en trminos de velocidad de computacin y de velocidad requerida para procesar audio digital de buena calidad es una cifra bien pequea. Una seal digital es una representacin en cdigo binario de una seal acstica. Esta representacin posibilita la realizacion de diversos procesos sobre ella y, a la vez, almacenarla en la memoria de un dispositivo digital. Al conjunto de procedimientos para el procesamiento de la seal digital se lo suele denominar DSP (Digital Signal Processing). Las seales digitales pueden obtenerse mediante procedimientos especficos (Sntesis Digital), o bien transformando una seal acstica o una seal analgica en una seal digital. DIGITALIZACIN DE SONIDO Consiste en la codificacin de la seal analgica en una secuencia numrica. El procedimiento ms usual se llama Pulse Code Modulation (PCM) y consiste en reemplazar una seal por una secuencia de bits que representan su forma de onda. Una de las ventajas de este mtodo es que la seal codificada (digital) slo tiene dos valores posibles: 0 y 1. Para reconstruir una seal, entonces, un mecanismo decodificador slo tiene que ser capaz de reconocer la diferencia entre dos valores y, como consecuencia, es menos sensible al error. La conversin de seal analgica a digital se denomina sampling (muestreo o sampleo) y se realiza por medio de un dispositivo especial denominado Analog to Digital Converter (ADC o conversor analgico a digital). El proceso inverso se realiza por medio del Digital to Analog Converter (DAC o conversor digital analgico).

El link al documento actual es: http://musica.unq.edu.ar/personales/odiliscia/papers/audig-re1.htm

MUESTREO O SAMPLING A travs de este proceso la seal analgica se transforma en una seal digital, o sea, en una secuencia de nmeros que representan la amplitud instantnea de cada punto de la forma de onda. Como consecuencia de esto, la seal digital maneja valores temporales discretos (esto es, que no tienen la continuidad caracterstica de la seal analgica) determinados por la relacin entre la cantidad de muestras y la unidad de tiempo. La llamada Frecuencia de muestreo (simbolizada de aqu en adelante con la letra R) indica cuantos valores de amplitud por segundo se toman. Una frecuencia de muestreo de 22.500Hz indica que se toman 22.500 muestras por segundo. Al lapso que separa una muestra de otra, igual al inverso de la frecuencia de muestreo (1/SR), se lo denomina intervalo de muestreo y se representa habitualmente con la letra T mayscula. La resolucin en bits indica el rango de las muestras (el rango en el que se mueven los valores de amplitud). Una seal de 8 bits usa 2^8=256 valores de amplitud. La frecuencia de muestreo y la resolucin en bits influyen en la posible calidad de sonido de la seal digital, luego veremos esto ms detalladamente. El proceso de muestreo se realiza conceptualmente en tres etapas: 1) La seal analgica es procesada por un filtro pasa-bajos que elimina cualquier componente espectral de frecuencia mayor a la mitad de la frecuencia de muestreo (R/2). Esto se establece en el Teorema de Muestreo : Para representar digitalmente una seal que contiene componentes de frecuencia hasta X Hz, es necesario usar una Frecuencia de muestreo de, al menos, 2X muestras por segundo. R/2, o la mitad de la frecuencia de muestreo se denomina a veces frecuencia de Nyquist, en recuerdo de H. Nyquist, el creador del teorema). Dicho de otra manera, si se desea muestrear una seal que tiene componentes hasta 20.000Hz, hay que usar, al menos, una frecuencia de muestreo igual a 40.000Hz. 2) Se mide la amplitud instantnea del diseo resultante a intervalos de tiempo iguales (1/SR=T). 3) El cuantizador convierte cada medicin en un valor numrico. La forma ms simple de entender el teorema de muestreo es considerar que, finalmente, una vibracin consiste en un movimiento de ida y vuelta. Para representar a ese movimiento una seal digital necesita un valor para la "ida" y otro para la "vuelta", luego la seal digital deber contener al menos dos nmeros por cada ciclo de cada componente de la seal que se ingrese. Si la seal muestreada contiene componentes cuyas frecuencias exceden la mitad de R, el proceso de muestreo no representar correctamente algunas frecuencias, dando lugar a un fenmeno denominado aliasing. Antes de comprender este proceso veremos cmo la seal analgica se reconstruye a partir de la digital. El primer paso consiste en que el DAC emite un voltaje proporcional al nmero de cada muestra. En este proceso, debido a pequeos lapsos diferentes en la operacin de los circuitos, se producen algunas variaciones de voltaje errneas (que no corresponden a la seal digital) llamadas glitches, que deben ser eliminadas por medio de un dispositivo especial (deglitcher). Finalmente un filtro pasa-bajos (con frecuencia de corte igual a R/2) es usado nuevamente con el propsito de "suavizar" las transiciones de un valor de voltaje a otro.

ALIASING La figura (1) muestra tres sinusoides a diferentes frecuencias, muestreadas a la misma frecuencia. La primera tiene una frecuencia inferior a R/2, la segunda tiene una frecuencia igual, y la ltima tiene una frecuencia superior. Los tres casos se denominan, respectivamente: sobremuestreado (ms de dos muestras por perodo); muestreado crticamennte (dos muestras por perodo) y submuestreado (menos de dos muestras por perodo). Se puede apreciar, en el tercer caso, el efecto de aliasing, al producirse en realidad un componente (marcado con lnea de puntos) que no corresponde con el original(de aqu la denominacin de"alias").

La frecuencia de un componente alias fr se puede calcular a partir de la frecuencia original del componente, f y la frecuencia de muestreo R en base a la siguiente frmula: fr = f - ( int (2 f / R)) R (int significa "la parte entera de") Los efectos del aliasing pueden clasificarse en tres tipos: 1) Distorsin de la amplitud real de los componentes: los componentes falsos (alias) pueden coincidir con los reales, modificando su amplitud y, por lo tanto la forma de onda total. 2) Batidos y distorsin no-lineal: los componentes falsos pueden ubicarse en frecuencias cercanas a las de los reales, produciendo batidos y distorsiones. 3) Frecuencias inferiores con movimientos divergentes ("heterodyning"): en los casos en los que la seal tenga componentes submuestreados con glissandos, se producirn componentes falsos con glissandos en el sentido contrario. Estos efectos pueden minimizarse cuando la amplitud de los alias es muy pequea. No obstante, es importante tener en cuenta al teorema de Nyquist antes de muestrear, porque luego es muy difcil eliminar los componentes falsos. Ya que hay algunos mtodos de sntesis (FM, por ejemplo) que producen espectros de banda-no limitada (es decir, de ancho de banda tericamente infinito), algn grado de aliasing es inevitable, pero se puede disimular y minimizar sus efectos.

CUANTIZACIN La finalidad de la cuantizacin es determinar dentro de cules rangos de amplitud disponibles (regiones) cae el valor de cada muestra. Por ejemplo, supongamos que las muestras son valores de voltaje que se manejan en un rango total de +-E volts, para un rango total de 2E volts. Para asociar un valor de N bits con cada voltaje muestreado v dentro de este rango, el cuantizador debe ubicar el rango total dentro de 2N regiones. Un mtodo de asignacin comn consiste en dividir la amplitud total en 2N regiones, cada una de 2E/2N volts. Cada regin puede ser entonces asociada pon un valor preciso de amplitud mximo y mnimo y un cdigo de N-bits nico. El cuantizador asigna cualquier valor de amplitud que cae dentro de una de esas regiones al nmero binario asociado con esa regin. A este mtodo se lo denomina cuantizacin lineal. Por ejemplo, una seal de +-10 volts puede cuantizarse en valores de 4 bits como se muestra en la figura (2). Figura 2: Cuantizacin lineal de una seal de un rango de -+10 volts en 4 bits. Si el nivel del voltaje de una muestra cae entre el valor mnimo y mximo de una regin , el cdigo binario asociado con esa regin se genera. Cada regin tiene igual tamao (1.25 volts, en este ejemplo) cdigo binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

region 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

voltaje min. -10 -8.75 -7.5 -6.25 -5 -3.75 -2.5 -1.25 0 1.25 2.5 3.75 5 6.25 7.5 8.75

voltaje max. -8.75 -7.5 -6.25 -5 -3.75 -2.5 -1.25 0 1.25 2.5 3.75 5 6.25 7.5 8.75 10

Alguna informacin se pierde en este proceso de cuantizacin, porque cualquier valor entre algn mnimo y mximo ser asignado a un nico cdigo binario. En efecto, si el DAC produce un voltage asociado con el punto medio de cada regin, por ejemplo, es evidente que un pequeo error ocurrir al generar la seal digital. A este tipo de error se lo denomina error de cuantizacin. La mayora de las veces este error es aleatorio y la dimensin mxima posible es de la mitad de la dimensin de cada regin. A causa de que el error de cuantizacin es a veces positivo, a veces negativo,

algunas veces pequeo y otras ms grande (dentro de sus lmites) se lo puede pensar como equivalente a un pequeo monto de ruido ("blanco") que se agrega a la seal durante el proceso de digitalizacin. Si comparamos la amplitud de la seal con la amplitud de este error de cuantizacin, podemos derivar una proporcin entre ambas, que se denomina SQNR (signal-to-quantization-error-noise-ratio) que es similar a la SNR (signal to noise ratio) de la seal analgica. La frmula para determinarlo en dB es: SQNR (dB) = 20 log10 2n, o sea, aproximadamente 6N Esta frmula establece que cada bit de precisin en el proceso de muestreo le agrega 6dB a la SQNR a una seal que tiene la amplitud mxima usando un proceso de cuantizacin lineal. El standard para audio digital de buena calidad es de 16 bits, que da una SQNR terica de aproximadamente 96 dB. Ntese, sin embargo, que este valor surge de comparar el error con una seal de amplitud mxima, seales de menor amplitud tendrn una SQNR menor. Por consiguiente, cuanto menor es la amplitud de la seal, ms posibilidades tiene de ser degradada por el error de cuantizacin. De manera ms general, la SQNR de cualquier seal en la cuantizacin lineal se da por la frmula: SQNR (dB) = 6N + S en donde N es el nmero de bits por muestra, y S el nivel de la seal con referencia a una escala cuya amplitud mxima equivale a 0 dB, la mitad a -6 dB, etc. Los sonidos suaves son ms severamente degradados, pero, a diferencia de la seal analgica, el ruido y la distorsin son ms fcilmente controlables y slo estn presentes cuando existe seal (A diferencia del "soplido de cinta", el silencio digital es "perfecto"...!) Otro mtodo de cuantizacin es usar regiones de dimensiones no-uniformes (las regiones son ms pequeas en la medida en que el voltaje disminuye). A este mtodo se lo denomina cuantizacin nolineal. Aunque los mtodos de cuantizacin no-lineal no sern tratados en detalle, puede decirse que tienen la ventaja de disminuir el error de cuantizacin en los niveles bajos de amplitud a costa de un pequeo aumento en los niveles altos. Esto es a menudo aceptable en la prctica a causa de la tendencia de la seal fuerte a enmascarar el ruido de cuantizacin. Es habitual usar una resolucin lineal de 8 a 16 bits. Algunos programas usan estos valores de forma "cruda" (raw) y otros de manera "normalizada", representando nmeros de punto flotante que estn en el rango de +1 a -1. De esta ltima manera se simplifican muchas operaciones matemticas a realizar en el procesamiento de seales. ALMACENAMIENTO DE LA SEAL DIGITAL Las seales digitales se almacenan en archivos con un formato caracterstico. Esto permite realizar numerosos procesamientos que van desde la edicin y mezcla al agregado de reverberacin, filtrado, modulaciones, etc. En adicin a esto tambin pueden generarse seales digitales por medio de programas realizados a tal efecto, usando cualquier tipo de sntesis. En el caso de las computadoras compatibles IBM el formato ms tpicamente usado es el Riff Wave pcm (con la extensin .wav), que tiene un header ("encabezamiento") en el que se indican caractersticas generales de la seal y del archivo, luego del cual aparecen, simplemente, los valores de amplitud de la

seal digital. Todo el software para procesamiento digital en PC compatibles acepta ese formato. El header tpico de un archivo RIFF WAVE se detalla a continuacin: 4 caracteres ("RIFF") 4 bytes (largo del archivo) 4 caracteres ("WAVE") 4 caracteres ("fmt ") 4 bytes (largo del bloque de data (habitual=16)) 2 bytes (etiqueta de formato (01)=pcm) 2 bytes (canales 1=mono, 2=stereo) 4 bytes (frecuencia de muestreo) 4 bytes (bytes promedio por segundo) 2 bytes (alineacin de bloque) 2 bytes (resolucin en bits) 4 caracteres ("data") 4 bytes (cantidad de bytes de audio) .............. (aqu siguen las muestras de audio) En el caso de una seal streo las muestras de cada canal van intercaladas, esto es: c1,c2,c1,c2,c1,c2,.....etc. Tambin existen otros formatos, tpicos de otro hardware y sistemas operativos, como los archivos *.snd nativos del sistema UNIX; los archivos AIFF, nativos del sistema operativo de las computadoras Macintosh, etc. Finalmente, es posible usar archivos "crudos" (Raw files), lo que significa que no tienen encabezamiento, y la seal puede estar codificada en nmeros de punto flotante, enteros con signo, etc. con una resolucin ms alta que la standard (32 bits, por ejemplo). En este caso el usuario debe recordar las caractersticas de codificacin de la seal y disponer, eventualmente, de programas y hardware que soporten su procesamiento. Como hemos visto, una mayor frecuencia de muestreo y resolucin en bits aumentan la (posible) calidad sonora de una seal digitalizada. Este aumento, sin embargo, produce las siguientes consecuencias: 1) Aumento del tiempo de procesamiento 2) Aumento de la cantidad de memoria de masa requerida para almacenamiento.

El primer caso es fcilmente comprensible si se piensa que el aumento de la frecuencia de muestreo produce una cantidad mayor de muestras por unidad de tiempo. Simplemente para leer una seal muestreada a 44.100 Hz, se requeriran otras tantas acciones por segundo, si consideramos que algunos procesos implican la realizacin de 10 o ms operaciones matemticas por cada muestra es fcil comprender que determinados procesos de audio digital, o deben ser realizados por Hardware especfico (que por su circuitera y diseo puede procesar en tiempo real, a costa tambin de reducir las posibilidades) o bien por computadoras multi-propsito, cuyas posibilidades de procesamiento por software son casi ilimitadas a costa de no operar en tiempo real. Para el segundo caso, la cantidad de memoria de masa (en Mb) que se requiere para almacenar un minuto de sonido en streo, 16 bits y 44.100 Hz de frecuencia de muestreo: 16 bits= 2 bytes multiplicamos por 2, porque hay 2 canales= 4 bytes multiplicamos por 44.100= 176.400 bytes/seg. multiplicamos por 60= 10.584.000 bytes/min dividimos por 10242(reduccin a Mb)= 10, 093688...Mb/min

FORMAS DE ONDA DIGITALES Si analizamos la secuencia numrica 0,1,0,-1,0,1,0,-1..., como una seal digital suponemos, a causa de su naturaleza peridica, que corresponde a algn diseo de movimiento peridico. Ya que los movimientos peridicos producen la sensacin de altura en el sonido, trataremos de determinar su frecuencia. La frecuencia de un sonido digitalizado se determina en base a: f = R / MP en donde: f= frecuencia ; R=frecuencia de muestreo y MP= cantidad de muestras por perodo. Para saber la frecuencia de este sonido, necesitamos saber la frecuencia de muestreo pero, ya que tiene 4 muestras por perodo, sabemos que esta es igual a R/4 Hz. Su forma de onda, sin embargo, es un poco menos obvia. Una simple observacin de la secuencia podra llevarnos a la observacin errnea de que se trata de una onda cuadrada a R/4Hz. Sin embargo, una onda cuadrada "perfecta" es una suma "balanceada" de armnicos impares: sus componentes estarn entonces a R/4Hz; 3R/4Hz; 5R/4Hz; etc. A causa de que un DAC posee un filtro que remueve todos los componentes arriba de R/2 todos los armnicos de nuestra aparente onda cuadrada sern eliminados y quedar, entonces, una sinusoide a R/4Hz. Si suponemos ahora que R=1760Hz, entonces nuestra secuencia numrica representa una sinusoide a 440Hz.

Figura 3: La finalidad de un filtro pasa-bajos (con frecuencia de corte de R/2) en el DAC es interpolar las bruscas transiciones de voltaje que se produciran por la discontinuidad caracterstica de la seal digital.

Raramente se examinan uno por uno los valores de una seal digital, pero es comn producirlos y/o analizarlos bajo la forma de grficos o describirlos matemticamente. Una onda sinusoidal de amplitud A, frecuencia f y fase q se describe como funcin del tiempo continuo as: f(t) = A seno(2pi*f*t + q) La descripcin de una seal digital igual es: f(n) = A seno(2pi*f*n/SR + q) (n es entero) la nica diferencia entre una y otra es que se han reemplazado los valores de tiempo continuo (t) por valores enteros discretos (n/SR) que corresponden a cada muestra. Esto posibilita, como ya mencionamos, la realizacin de un sinnmero de operaciones, entre las que se cuentan la sntesis de sonido. Una onda cuadrada, por ejemplo, puede generarse de acuerdo con la siguiente frmula: k=infinito Sq(n)= S 1/k seno (k (2pi*f*n/SR)) k=impar k=1 Sabemos que, de acuerdo con el teorema de Nyquist, no podemos construir una seal digital correspondiente a una "verdadera" onda cuadrada, ya que esta es un espectro de banda no-limitada, as que debemos substituir la palabra o el smbolo "infinito" de la sumatoria por N, cuyo valor mximo (para evitar aliasing) depender de la frecuencia de la fundamental (f) y R, de acuerdo con la siguiente ecuacin: N R/2f

You might also like