El tema del audio en el tema retro no lo he comentado hasta ahora pero me ha parecido importante hacer un parentesis y explicarlo de manera general y no centrandome en un solo sistema.

#1 Notas, Ritmo, Ondas y Frecuencia

¿Que es lo que convierte un sonido en una nota o en un ruido y donde se diferencian? La respuesta esta en el comportamiento de la onda de sonido en el tiempo y es que una nota es un patrón extremadamente regular en la gráfica frecuencia/tiempo.

maxresdefault.jpg

Las notas musicales son ondas de sonido cuyo comportamiento respecto al tiempo es el mismo que el gráfico del seno. graph_sin_x.png

¿Y que es el seno?

En matemáticas, el seno es una función impar y continua con periodo 2π

¿Que entendemos como periodo?

El Periodo o período​  se utiliza regularmente para designar el intervalo de tiempo necesario para completar un ciclo repetitivo.

El periodo 2π tiene relación con el diametro de la circunferencia cuya formula es precisamente 2π*radio y si nos desplazamos por el diametro de una circunferencia veremos que iremos a parar al mismo punto de manera continuada como es obvio. Pero si cogemos la señal del sonido de una nota es un osciloscopio no nos sale una circunferencia, esto es porque la función seno se repite en cada uno de los cuatro cuadrantes de la circunferencia (0º, 90º, 180º, 270º) pero con el signo cambiado en cada cuadrante.

sine

Por ejemplo el seno de 120º es el seno de 30º pero en negativo, por lo que si estamos recorriendo el radio de una circunferencia a travé de una función seno es completamente natural que esta sea la curva de la onda y con esto tenemos separado lo que es una nota del ruido.

Ahora bien, ¿como diferenciamos una nota de otra y cuantas hay? Tenemos un total de 12 notas distintas que son: Do, Do#, Re, Re#, Mi, Fa, Fa#, Sol. Sol#, La, La# y Si. La distancia en frecuencia de un semitono a otro de manera ascendente se puede calcular tomando la nota base y multiplicando por 12√2 que por  cierto es un número irracional, si queremos bajar un semitono entonces hemos de dividir la frecuencia por 12√2. Ahora bien… ¿Como es que solo son 12 notas? Si tomamos la frecuencia de una nota y la subimos unos 12 semitonos tienes que hacer frecuencia*(12√2)12 Y por si no os han enseñado en la escuela vuestros docentillos entonces deberías saber que una raiz n es la inversa a una potencia en por lo que… frecuencia*(12√2)12 se convierte en frecuencia*(122)12 y por tanto unos 12 semitonos más arriba acabaremos con el doble de frecuencia. ¿Y que ocurre cuando tenemos dos notas donde un nota es el doble que la otra? Pues que realmente tenemos la misma nota pero más aguda, a ese salto se le llama una octava. ¿Y por qué una octava si son 12 notas? Pues porque en realidad recorrer las 12 notas son 8 tonos completo, recordad que Mi, Fa y Si no tienen sostenido por lo que son 3 semitonos menos.

Bueno, que al grano, que aquí tenemos una interesante tabla de la frecuencia de las notas.

fig_2_1.png

Pero nos queda la otra parte de la gráfica, he hablado de la frecuencia y ahora nos toca hablar del tiempo. El tiempo tiene que ver con el pulso y este es el tiempo en que dura una nota base. Necesito que tengais en mente una partitura y la veaís como una linea de tiempo pero no voy a entrar en detalles sobre como funciona una partitura, solo en el tema del tiempo. ¿Cuanto dura una nota? Pues dependerá de la velocidad de pulsos/segundo que es variable según una canción, supongamos que la duración de un pulso es una nota negra.

Metric_levels.svg.png

A partir de ahí podemos saber el tiempo de cada nota donde de manera ascendente la duración de una blanca son dos pulsos de tiempo, la redonda cuatro pulos. De manera descendente una corchea es 1/2 pulso y una semicorchea 1/4 de pulso. Con esto ya tenemos explicados lo que son las notas y el ritmo y tenemos una versión muy simplificada de lo que es una onda.

No obstante se ha de aclarar que cada instrumento de la vida real no reproduce la onda de sonido de manera matematicamente perfecta sino que añade una serie de perturbaciones en el sonido que son tipicas de cada instrumento y le dan su personalidad o mejor dicho su forma de sonar propia.

#2 Tipos de Onda, Polifonia y Chips de Sonido

¿Que pasaría si os dijese que a partir de la onda «seno» podemos derivar difentes tipos de ondas periodicas como esta y y cuyo uso en el audio de los juegos antiuos es producto de la falta de precisión numerica de los procesadores antiguos?

Types_of_Soundwaves.jpg

La onda seno que es la onda natural de las notas no podía ser alcanzada por los procesadores de sonido antiguos por lo que se utilizaban aproximaciones que curiosamente daban la sensación de sonar como diferentes instrumentos realmente. En el siguiente video se puede ver el sonido de The Legend of Zelda desglosado en ondas y en diferentes canales de sonido.

Como podéis ver tenemos unos cuatro canales distintos, el cuarto es un canal que añade ruido pero cada uno de ellos tocan su parte de la melodía como si fuesen una orquestra, cada uno de ellos tiene una onda distinta asignada. A esto se le llama polifonía y hay que tener en cuenta que en la música real se suelen utilizar acordes que son combinaciones concretas de tres o más notas concretas. Es por ello que la música en los videojuegos no empezó a tener importancia al menos a nivel de sistemas domésticos hasta que los chips no tuvieron la posibilidad de hacer una polifonia de tres o más canales, por eso la música del VCS nadie la recuerda, solo tenía dos canales y suena horrenda.

En los primeros ordenadores y consolas no había chip de sonido por lo que era la CPU la que tenía que ir procesando el sonido a tiempo real y esto hacía que los ciclos de reloj de la CPU se consumieran enormemente. ¿La solución cual fue? Añadir chips dedicados para la generación del sonido, los primeros fueron los Programmable Sound Generators que lo que hacían era poder controlar la frecuencia y el tiempo de un tipo de onda en concreto en cada canal.

Pero el primer cambio importante se produjo con el chip SID del C64, el cual no tiene asignado un tipo de onda en sus tres canales sino que esta puede ser cambiada al vuelo, permitiendo virguerias de sonido que eran imposibles en otros sistemas de 8 bits.

Fijaos como el tipo de onda va cambiando al vuelo en cada uno de los canales de sonido. El SID esta considerado como el primer chip de sonido FM de la historia en un sistema doméstico. Pero el chip FM más importante de la historia de los videojuegos fue el Yamaha YM3812 utilizado en las miticas Sound Blaster que tenía 9 canales de sonido.

La mayoría de sistemas de 8 y 16 bits utilizan o chips PSG (sin capacidad de variar el tipo de onda reproducida en un canal) o chips FM (con capacidad de variar el tipo de onda de un canal). En realidad estos son interpretes y lo que hacen es reproducir un programa que les dice como tienen que «tocar» y dicho programa se encuentra en una memoria asociada o en su defecto se encuentra en el cartucho de la consola. El sonido de 8 y 16 bits esta limitado por el hecho que el formato de almacenamiento no permite almacenar muchos datos y tampoco puede procesar con mucha información pero gracias a la recurrencia y la repetición era posible reproducir música pero había una limitación muy importante.

#3 La llegada del CD y la estandarización del sonido PCM

El CD trajo consigo un aumento enorme de la capacidad de almacenamiento y con ello la capacidad de almacenar pistas de audio muy complejas en comparación con lo que se tenía con anterioridad. Durante años por motivos de coste se asignaban unos pocos KB de memoria al sonido en las consolas provocando unas diferencias auditivas enormes en las conversaciones desde las recreativas donde el coste de la memoria era algo sin importancia.

Ya no era necesario que los chips de sonido reprodujeran una «partitura/progama» de una determinada manera sino que reprodujeran el sonido de manera analógica en un dispositivo digital. Y si, la música tocada por un instrumento real no es digital sino analógica.

1200px-Orquesta_Filarmonica_de_Jalisco.jpg

La reproducción fidedigna de cualquier sonido de la realidad en un chip del tipo PSG o del tipo FM de la época no se puede hacer porque estos chips carecen de la memoria y la precisión necesarias. De manera extremadamente simplificada lo que es el PCM es la conversión de la frecuencia de un sonido en valores digitales.

Pulse-Code-Modulation.jpg

No le estamos diciendo al chip de sonido que vaya variando la frecuencia sino que vaya simplemente re-convierta los valores que va leyendo que son digitales en ondas analógicas. Un chip PCM y derivados no modula la frecuencia ni entiende de tipos de onda de sonido sino que convierte los datos que va leyendo en señales analogicas a tiempo real. Y al igual que con los chips PSG y FM podemos tener varios canales de sonido distintos al mismo tiempo, pero la gran ventaja es que podemos reproducir de esta manera incluso ruido de manera precisa y cuando digo ruido me refiero a cualquier sonido no musical como ahora la voz humana.

El primer chip de Audio en un ordenador con la capacidad de reproducir audio en formato PCM fue Paula que era uno de los custom chips del Amiga original. Este podía reproduir hasta unos 4 canales de sonido PCM divididos en dos canales por cada uno de los altavoces por lo que podía reproducir sonido en estereo. Durante años en sonido PCM el Amiga estuvo por encima de la Sound Blaster por el hecho de que esta solo podía reproducir un canal PCM (Mono) pero a medida que la tecnología fue avanzando en PC con nuevas tarjetas de sonido este pudo alcanzar el amiga.

El primer chip del tipo PCM que aparecio en una consola doméstica fue el SPC-700 diseñado por Ken Kutaragi para la SFC/SNES que desde un principio se penso con la idea de la nunca lanzada pero inicialmente planeada unidad CD-ROM.

440px-S-DSP_A_01.jpg

El SPC-700 podia reproducir hasta 8 canales ADPCM (un formato más preciso del PCM y por tanto derivado). Todos y cada uno de los sistemas de sonido actuales se basan en el PCM que con el tiempo han ido ampliando la cantidad de canales, la frecuencia máxima de muestreo pero la teoria en general es esa. Incluso hoy en día que cuando reproducís una canción MP3 en realidad lo que estáis reproduciendo en un formato comprimido de base sonido PCM. El sonido PCM tiene una mayor calidad de sonido que el FM y el PSG pero la contrapartida es que necesita una cantidad de datos enorme de almacenamiento que aumenta de manera considerable a medida que vamos añadiendo canales de sonido y haciendo más compleja la polifonía hasta el punto en que el sonido PCM es imposible en un sistema de cartuchos o disquetes si no es limitando enormemente la cantidad de canales de sonido.

Por ejemplo, el Amiga que solo tenía 4 canales PCM le sonaban mucho mejor cada uno de estos canales por separado por el hecho que el PCM permite mayor precisión de sonido que el PCM.

Pero si afináis el oido en comparacion con la versión para Sound Blaster que utilizaba los 9 canales FM del YM3812 veréis que faltan instrumentos. Es decir, los cuatro existentes suenan muy bien pero la contrapartida es que se pierden instrumentos.

Pero el PCM es ahora mismo el estandar y ha ido evolucionando hasta dejar por completo atrás el sonido FM hasta llegar a la actual calidad de sonido.

Pero para ello se necesitan cantidades de memoria, procesamiento y ancho de banda que antaño no estaban disponibles. Como curiosidad la mayoría de sistemas PCM y PSG solian tener un canal dedicado a la reproducción de sonido PCM. Por ejemplo Famicom/NES tenía un canal dedicado al PCM y dado que el PSG se encontraba en la CPU podía acceder a la memoria del cartucho, obviamente el PCM ocupaba demasiado espacio y se usaba solo para sonidos puntuales en dicha consola. Fijaos en el canal DMC que es el encargado de reproducir la pequeña pista PCM.

Volviendo al caso de las consolas de 16 bits, Genesis/Mega Drive utilizaba un chip FM con solo 6 canales FM. el YM2612 (OPN-2) pero como disponia del PSG de la Mark III/Master System lo podía utilizar para añadir algunos canales de sonido adicionales pero de onda no variable. ¿La particularidad? Podia sustituir uno de los canales FM por un canal PCM. El siguiente ejemplo aunque no es de un juego es la reproducción de la canción Beat It de Michael Jackson en la Genesis/Mega Drive, fijaos como utiliza el canal de ruido del PSG heredado de Mark III/Master System por un lado y por el otro el unico canal PCM para la voz.

Por otro lado fijaos como la calidad del sonido en los canales FM no es tan buena como la pista original en CD, en realidad lo que han hecho es coger la pantalla del titulo del Moonwalker y utilizar el canal PCM para añadir la voz quitando un canal PCM. ¿Seria posible esto en una Genesis/Mega Drive? La pista de voz ocuparía una barbaridad en el cartucho si se reprodujera desde el mismo y por otro lado solo tenemos 8KB de memoria para audio asignados al  YM2612 (OPN-2).

SNES por otro lado utilizaba el SPC-700 como he comentado antes, este no era chip FM sino que que el igual que Paula era un chip capaz de reproducir pistas del tipo PCM, ADPCM para ser más concretos. La contrapartida en costes para SNES es que necesitaba unos 64KB de RAM para el sonido y pese a tener mayor capacidad de memoria esto limitaba enormemente la longitud de las pistas de audio utilizadas porque no accedia al cartucho para reproducirlas sino que estas se volcaban en la S-RAM asignada al SPC-700.

A partir de las consolas de 32 bits basadas en formato optico (CD-ROM) en adelante se paso de la musica reproducida por FM a música reproducida via PCM y derivados y asi ha seguido hasta nuestros días.

#4 MIDI como música para videojuegos.

Primero de todo necesitamos definir que es el MIDI y de que se diferencia del sonido via FM y el sonido PCM.

El formato MIDI (Musical Instrument Digital Interface = Interface Digital para Instrumentos Digitales) en realidad no es el resultado de la digitalización de un sonido analógico como ocurre en el PCM sino que al igual que el FM es un sonido procedural pero no se encarga de ir manipulando el tiempo y la frecuencia. Un archivo midi almacena secuencias de dispositivos MIDI (sintetizadores) donde se recoge qué instrumento interviene, en qué forma lo hace y cuándo. Es decir, el formato MIDI es lo más cercano que tenemos a una partitura.Da-15_port.PNG

El puerto MIDI es donde se conectan los instrumentos, era muy importante en los años 80 y principios de los 90 donde la memoria de almacenamiento era escasa y en vez de almacenar una pista PCM de la canción tocada por un instrumento lo que se hacía era crear una pista MIDI. Dicha pista MIDI es intepretada por el procesador de sonido que genera la canción a partir del archivo reproduciendo el comportamiento de la onda de cada instrumento.

Waveforms-of-different-instruments-at-a-particular-frequency.png

Esto significa que el MIDI ha de ser leido y procesado por un procesador que sea capaz de generar el tipo de onda correspondiente al instrumento en cuestión que tiene que reproducir. El MIDI no era muy común en consolas de videojuegos pero se popularizo en los ordenadores a partir del Atari ST, el cual traía consigo un puerto MIDI de serie lo que popularizo al ordenador de 16 bits de Atari para la producción de sonido. De manera directa y sin un hardware extra era posible conectar un teclado MIDI al Atari ST y utilizarlo para la producción de música.

Un sintetizador es un instrumento musical electrónico que genera señales eléctricas que luego son convertidas a sonidos a través de altavoces o auriculares. Los sintetizadores pueden imitar otros instrumentos o generar nuevos timbres. Usualmente son ejecutados a través de un teclado, pero pueden ser controlados con varios tipos de dispositivos de entrada, incluyendo secuenciadores, controladores, fingerboards, sintetizadores de guitarra, instrumentos electrónicos de viento, y baterías electrónicas. Los sintetizadores que no cuentan con algún tipo de controlador son llamados «módulos», y son controlados a través de MIDI o control de voltaje.

Los sintetezadores necesitan tener en memoria el tipo de onda del instrumento a reproducir y como os habréis dado cuenta no son posibles de reproducir en sistemas de sonido puramente FM donde los tipos de onda son fijos. En las consolas de 8 y 16 bits como no se iban a utilizar para la producción musical se les quito la capacidad de reproduir MIDI pero hay una consola posterior que por problemas de almacenamiento abuso de este formato.

N64-Console-Set

El RSP de la N64 no solo se encargaba de la geometria de la escena sino también del audio de la escena, soportaba hasta 100 canales MIDI a razón de un 1% de la potencia del RSP por canal. Dado que el RSP es un clon modificado del R4300 que es la CPU algunos desarrolladors utilizaban la CPU como sintetizador MIDI. N64 no podía utilizar PCM por la enorme cantidad de datos que estos necesitaban para su almacenamiento.

En el PC el MIDI se hizo muy popular en los juegos a principios de los 90 gracias al olvidado Roland MT-32.

roland_mt32_angle.jpg

El Roland MT-32 era un sintetizador MIDI externo con la capacidad de sintetizar y reproducir sonido MIDI con una calidad de sonido que superaba de lejos lo visto en pistas PCM y por tanto acercarse a la calidad CD-ROM sin tener que comprar un por aquel entonces extremadamente caro CD-ROM.

Cuando el CD-ROM se estandarizo se dejo de utilizar el formato MIDI dado que era una tontería y la mayoría de juegos empezaron a ir adoptando poco a poco el audio en formato derivado de los PCM como es el ADPCM, tradición como he dicho antes continua hasta nuestros días.

Y con esto termino esta entrada, ya sabéis, correcciones que me tengáis que hacer a los comentarios y recordad que este blog tiene canal de Discord. Podéis encontrar el enlace a en la primera pagina del blog.