| Artículos | 01 DIC 1995

Sonido Digital : Formato MOD

Tags: Histórico
Construcción de un player
Jorge Pascual.

Uno de los componentes básicos de cualquier producción multimedia es el sonido y, aunque en el horizonte se ve como realidad de futuro la Virtual Reality, el sonido digital seguirá siendo una de las piezas clave.

¿Qué programador no se ha preguntado alguna vez cómo incluir sonido en sus aplicaciones? La verdad es que la gran mayoría nos hemos planteado esta posibilidad en alguna ocasión, sin embargo, a la hora de dar una solución al problema hemos visto que no era nada fácil, sobre todo si se deseaba una calidad mínima en el sonido.

En el presente artículo se analizará uno de los formatos clásicos para almacenar música, no sólo en plataformas PC, sino en ordenadores de diversos tipos. Al finalizar el artículo habrá aprendido los conceptos básicos para leer un archivo con formato MOD, aunque para facilitarle la tarea se han incluido en el disco del mes todos los fuentes y ejecutables de un programa reproductor (player) que le sirve de ejemplo para incluir en sus programas las rutinas de reproducción de sonido MOD.

Introducción

El sonido, como ente analógico, es necesario digitalizarlo para poder manejarlo desde un ordenador. La digitalización consiste en ir tomando muestras a lo largo del tiempo de la onda que conforma el sonido. Cuantas más muestras se tomen, mejor aproximación digital se tendrá. El mayor o menor número de muestras se mide en hertzios, siendo un hertzio igual a una muestra por segundo, por ejemplo, un sonido a 44,1 KHz equivale a 44.100 muestras por segundo (que es la calidad que se alcanza en el sonido CD).

Existen básicamente dos formas de almacenar sonido dentro de un ordenador: digitalización directa y descripción numérica. La digitalización directa consiste en tomar la onda y digitalizarla a través de un número de muestras según se ha indicado más arriba. Este tipo de digitalización es el que se utiliza en los formatos WAV, VOC y otros muchos. La gran pega de éste tipo de digitalización es el tamaño que ocupa. Supongamos que se desea digitalizar una canción que dura tres minutos. Si deseamos hacerlo con calidad de CD se deberá digitalizar con una resolución de 16 bits y 44,1 KHz de frecuencia. Esto nos indica que se realizarán 44.100 muestras por segundo y cada muestra será de 16 bits (2 bytes). Con una simple cuenta se deducirá que el tamaño requerido en el disco duro será de unos 16 MB.

Una alternativa a este tipo de digitalización es la descripción numérica del tema. En este caso, en vez de digitalizar el sonido, se digitalizan las partituras de cada instrumento que interviene en el tema. Aunque a priori pudiera parecer que no se ahorra demasiado, la realidad nos indica que con menos de 100 KB sería posible interpretar el tema del ejemplo anterior. Este es el caso de los ficheros de sonido MIDI que se apoyan en dicho estándar para representar las instrucciones de los sonidos MIDI incluidos en las tarjetas de sonido.

Cada tipo de digitalización tiene sus ventajas e inconvenientes, ya que por ejemplo, mediante descripción numérica es muy difícil reproducir la voz humana. El equivalente gráfico de lo que se esta diciendo serían los gráficos TIFF (procedentes de digitalizaciones mediante escáner) y los gráficos DWG, o gráficos vectoriales (como por ejemplo los creados por AutoCAD). El formato MOD no es más que la fusión de ambas técnicas de digitalización, pues se guardan como digitalización directa aquellas partes del tema que no se pueden describir de forma numérica.

Antes de entrar a explicar el formato MOD conviene dar algunas definiciones que nos serán de gran utilidad. En primer lugar se entenderá por sample o muestra una secuencia de bytes que provienen de una digitalización directa. Estos bytes se corresponderán con la onda de un determinado sonido. Se entenderá por nota una serie de bytes que identifican la frecuencia, instrumento y efecto asociados a una nota musical. Un canal será una ristra de 64 notas, un pattern o patrón será una colección de canales (en nuestro caso 4) y una serie de patterns darán lugar a un módulo o canción.

El formato MOD

El formato MOD nace en el ordenador AMIGA como solución al manejo de sonido de calidad sin necesidad de demasiados recursos. El espíritu del MOD es el siguiente: si se tiene una determinada cantidad de instrumentos que componen una canción y, además, se posee la partitura de la misma, lo que se hace es digitalizar tan sólo una nota de cada instrumento y después, por interpolación, se extraen todas las demás. Con esto se consigue un gran aprovechamiento de los recursos del ordenador, ya que las interpolaciones dan una aproximación muy buena cuando las variaciones de las notas con respecto a la original no son demasiado grandes.

De ésta forma, si por ejemplo tenemos un tema con un piano, una trompeta y una caja, se tendrá digitalizada una nota de cada instrumento, por ejemplo el Do-5. Así se tendrían tres digitalizaciones que no ocuparían demasiado, ya que la duración de una nota no suele ser excesiva. Estas digitalizaciones es lo que hemos llamado samples o muestras. Como el formato MOD que se maneja aquí tan solo tiene cuatro canales (MOD original), se podrán hacer sonar cuatro instrumentos de manera simultánea.

La organización de un fichero MOD se establece del siguiente modo: por un lado se guardan los samples de los instrumentos (que en el MOD original son 31 como máximo) y por otro lado se tiene la digitalización de la partitura dividida en patrones (patterns), canales y notas. Querer dar una aproximación de partitura a lo que realmente se guarda en un MOD, es quizás algo exagerado, pero aunque no es una partitura como todo el mundo lo entiende, es algo que se le parece mucho.

La partitura de un MOD

Realmente una partitura es un lugar donde se almacenan unos símbolos que representan las notas y las duraciones de cada nota que componen una canción. Algo muy parecido a esto se tiene en un MOD, aunque no es exactamente igual. En un MOD se tienen diversos patrones, cada patrón tiene asociados cuatro canales y cada canal tiene asociadas 64 notas. Un canal de un patrón se puede asemejar a una partitura, ya que en él se guardan las notas y las características de las mismas. Es ésta precisamente una de las diferencias con respecto a la partitura, el hecho de que se almacenen las características de cada nota. Mientras que en una partitura se guarda la nota y la duración, en un canal se almacenan notas y, además, a qué instrumento pertenecen así como el tipo de efecto que tiene asociado. De éste modo se puede tener en un canal en la posición 1 un Do correspondiente a la trompeta y en la posición dos un Mi correspondiente al piano y con un efecto de vibrato de valor cuatro.

Puesto que tenemos cuatro canales, en nuestro ejemplo podemos asignar cada canal a un instrumento y, por lo tanto, cada canal se correspondería con la partitura del instrumento correspondiente.

Un canal, como ya se ha citado, tiene una capacidad máxima de 64 notas. La separación entre notas dará lugar a la duración de cada una.

En cada patrón se almacenará un trozo de tema. La interpretación de los diversos patrones dará lugar a la interpretación del tema completo. Hay una ventaja importante en la discretización del tema en patrones y es que el estribillo, por ejemplo, se puede almacenar en uno o varios patrones y de este modo simplemente se hará referencia a los patrones del estribillo cada vez que se tenga que interpretar éste, sin necesidad de repetir información dentro del fichero. Por supuesto, existe un lugar del MOD que indica en que secuencia se deben de reproducir los patrones. Por ejemplo, si el estribillo se ha almacenado en el patrón cinco, el inicio del tema en el patrón uno, el cuero del tema en los patrones dos, tres y cuatro y el final del tema en el patrón 6, la secuencia de patrones podría ser la siguiente : 01 02 05 03 05

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información