Un componente dedicado llamado Audio Processing Unit (APU, o 'Unidad de Procesamiento de Audio') ofrece este servicio . Ricoh lo incorporó dentro del chip de la CPU presumiblemente para evitar la clonación no autorizada de la CPU y la APU.
Funcionalidad
Este circuito de audio se conoce comúnmente como Generador de Sonido Programable (PSG, del inglés 'Programmable Sound Generator'), lo que implica vagamente que solo puede producir un conjunto predefinido de formas de onda, lo cual es mayormente cierto en este caso. La APU secuencia datos de audio sobre cinco canales de audio, cada uno reservado para una forma de onda o señal específica. Cada canal contiene diferentes propiedades que alteran la altura, el sonido, el volumen y/o la duración de la forma de onda. Se mezclan continuamente y se envían a través de la señal de audio de salida.
La funcionalidad de la APU se expone a través de direcciones de memoria, la CPU lee los datos relacionados con la música encontrados en la ROM de programa y programa la APU en consecuencia.
Además, en el modelo Famicom en particular se proporcionan pines en el cartucho que envían la señal de audio mezclada al cartucho, para que este último pueda mezclarla con canales extra (requiriendo chips adicionales) .
Repasemos ahora los cinco canales que proporciona la APU :
Pulso

(Video) Osciloscopio del canal de pulso 1.

(Video) Osciloscopio del canal de pulso 2.

(Video) Osciloscopio de todos los canales de audio.
Los primeros dos canales producen ondas de pulso . Cuando se escuchan, exhiben un sonido beep distintivo que se utiliza principalmente para melodía o efectos de sonido. El secuenciador respectivo puede generar tres tipos de ondas de pulso, hechas a partir de variar el ancho de pulso (a.k.a. ciclo de trabajo). Los circuitos también están conectados a una unidad de barrido (permitiendo doblar el tono) y a un generador de envolvente para reducir el volumen con el tiempo (también conocido como decadencia).
La mayoría de los juegos utilizan un canal de pulso para la melodía y otro para el acompañamiento. Cuando llega el momento de ejecutar un efecto de sonido, normalmente el juego reemplaza el canal de acompañamiento para reproducir el efecto y luego lo devuelve al acompañamiento, lo que permite mantener la melodía sin interrupciones.
Creo que es justo decir que las ondas de pulso son unos de los emblemas de esta generación de consolas. Asumo que su adopción se realizó puramente por razones de rentabilidad: la (limitada) CPU solo puede procesar tantos datos a la vez, y las ondas de pulso son ideales en el sentido de que no requieren muchos parámetros para reproducir melodías simples (lo que, a su vez, libera ciclos de CPU para otras operaciones).
Triángulo

(Video) Osciloscopio del canal de onda triangular.

(Video) Osciloscopio de todos los canales de audio.
Una de las especialidades de la APU, en comparación con la competencia, es la capacidad de producir ondas triangulares. A menudo se usan como una línea de bajo para la melodía. Además, al modificar su tono dramáticamente también se puede usar para percusión.
La APU tiene un canal reservado para este tipo de onda. Detrás de escena, un secuenciador dedicado toma 32 ciclos para generar una señal triangular , esta limitación hace que la forma de onda triangular resultante tome la forma de una escalera.
Por otro lado, el circuito respectivo no proporciona control de volumen. En cualquier caso, algunos juegos encontraron otras formas jugando con el control de volumen del mezclador.
Ruido

(Video) Osciloscopio del canal de ruido.

(Video) Osciloscopio de todos los canales de audio.
El concepto de 'Ruido' se atribuye a una serie de formas de onda que no siguen ningún patrón u orden. A su vez, nuestros oídos lo interpretan como estática blanca. Dicho esto, la APU asigna un canal que puede reproducir diferentes tipos de ruido.
Detrás de escena, el generador de ruido depende de un generador de envolvente (similar al canal de pulso) que se silencia aleatoriamente por una puerta OR . La condición para silenciar depende del valor de un registro de desplazamiento de 15 bits conectado a un bucle de retroalimentación. En resumen, esto hace que el circuito genere una señal con patrones pseudo-impredecibles, y por lo tanto, ruido.
En términos de control, 4 bits alteran el período del generador de envolvente y un bit altera el 'Modo' del registro de desplazamiento. Eso deja 32 preajustes de ruido disponibles. La mitad (16) de estos preajustes producen estática limpia, y la otra mitad produce estática robótica.
En términos generales, los juegos utilizan el canal de ruido para efectos de percusión o ambiente.
Muestra

(Video) Osciloscopio del canal de muestra.

(Video) Osciloscopio de todos los canales de audio.
Los "Samples" son porciones de música grabadas que pueden ser reproducidas. Como puedes ver, los samples no se limitan a una sola forma de onda, pero consumen mucho más espacio.
La APU tiene un canal dedicado a samples. Aquí, las muestras están limitadas a una resolución de 7 bits (codificadas con valores de 0 a 127) y una frecuencia de muestreo de ~15,74 kHz . Para programar este canal, los juegos pueden transmitir valores de 7 bits (lo que roba muchos ciclos y almacenamiento) o usar modulación delta para codificar únicamente la variación entre la siguiente muestra y la anterior.
La implementación de modulación delta en la APU solo recibe valores de 1 bit, esto significa que los juegos solo pueden indicar si la muestra aumenta o disminuye en 1 cada vez que el contador se activa. Entonces, a costa de la fidelidad, la modulación delta puede ahorrar a los juegos tener que transmitir valores continuos a la APU.
Dado que programar este canal lleva más espacio y ciclos de CPU, los juegos normalmente almacenan pequeñas piezas (como muestras de tambores) que pueden reproducirse repetidamente. Sea como sea, a lo largo de la vida útil de la NES, numerosos desarrolladores han ideado usos ingeniosos para este canal.
Secretos y Limitaciones
Si bien la APU no alcanzó la calidad de un vinilo, casete o CD, los programadores encontraron diferentes maneras de expandir sus capacidades, principalmente gracias a la arquitectura modular de la NES.
Canales extras

(Video) Osciloscopio de Castlevania III (USA/Europa, 1989).

(Video) Osciloscopio de Akumajō Densetsu (versión japonesa de Castlevania III, 1989).
¿Recuerdas que el Famicom proporcionaba pines exclusivos en el cartucho disponibles para la expansión de sonido? Bueno, juegos como Castlevania 3 aprovecharon esto y añadieron un chip extra llamado Konami VRC6, que añadía dos ondas de pulso adicionales y una onda de diente de sierra a la mezcla.
Echa un vistazo a los dos ejemplos que muestran la diferencia entre las versiones japonesa y americana del juego (esta última se ejecuta en la variante NES, que no proporcionó capacidades de expansión de sonido).
Tremolo

Video - Vista de osciloscopio de Final Fantasy III (1990).
En lugar de incrementar los costes de los cartuchos, algunos juegos priorizaron la creatividad sobre la tecnología para añadir más canales.
En este ejemplo, Final Fantasy III recurrió a efectos de trémolo para dar la sensación de canales adicionales.
Una observación más refinada
Ahora que has echado un vistazo a lo que la APU es capaz de hacer, déjame mostrarte un método alternativo para observar cómo se comporta su sonido. Esto no solo complementará lo que ya sabes sobre la APU, sino que también proporcionará un examen más objetivo, especialmente porque ya no dependerá de tus oídos.
Primero lo primero, comencemos con una rápida introducción a la teoría del sonido.
Gracias a los principios del Análisis de Fourier, podemos descomponer cada sonido que escuchamos en una suma de ondas sinusoidales de diferentes frecuencias y amplitudes . La onda sinusoidal más grave (a la frecuencia más baja) se llama fundamental y el resto se llaman sobretonos. Si añades la onda fundamental y sus sobretonos, obtienes el sonido original de vuelta. Dicho esto, con los sonidos que tienen un tono reconocible, encontrarás que la mayoría (si no todos) de los sobretonos tienen frecuencias que son múltiplos de la frecuencia fundamental. Por lo tanto, estos sobretonos se llaman armónicos .
Los armónicos se convertirán en un tema recurrente en esta sección, ya que las formas de onda como los pulsos, triángulos y dientes de sierra siguen una fórmula que dicta los armónicos que contienen. De lo contrario, estas formas de onda pueden desviarse de su forma 'perfecta'.
Introducción a los espectrogramas
Dado que las ondas sinusoidales son ahora el ingrediente clave que puede componer cualquier sonido, ahora podemos analizar los sonidos que escuchamos por sus ondas sinusoidales. Ahora, para cualquier tipo de análisis de datos, no hay nada más conveniente que dibujar un gráfico para organizar grandes cantidades de información. Pues bien, en el caso del análisis de sonido, tenemos espectrogramas. Estos codifican toda la información de una muestra de audio en una sola gráfica. El eje X denota el tiempo (en segundos), el eje Y denota las frecuencias (en Hz) de las ondas sinusoidales producidas durante ese tiempo y el eje Z (brillo del color de cada punto) denota la potencia/volumen (en decibelios) de cada frecuencia.

Video - Ejemplo de espectrograma visualizando seis segundos de un canal de pulso.
Como puedes observar en este ejemplo, cada línea horizontal (también conocidas como secuencias de puntos) corresponde a una onda sinusoidal (la más baja es la fundamental, mientras que el resto son los armónicos) y su brillo indica la amplitud. Con esto en mente, podemos extraer la siguiente información:
- Con el tiempo, las líneas horizontales tienden a desplazarse drásticamente. Ese es el tono del canal de Pulso cambiando.
- El inicio de cada nota es fuerte (los puntos son brillantes) seguido de un rápido apaciguamiento. Esa es la envolvente de la APU en acción.
- Además, al final del período de decadencia, aparece una línea vertical brillante. Es bastante breve, por lo que no es fácilmente audible, pero, en cualquier caso, eso es ruido (un sonido de golpe corto) y sospecho que es una deficiencia de la APU.
- Mantener una nota por más de 0.25 segundos hace que emerja el vibrato (fluctuaciones continuas en el eje Y). No estoy seguro si eso es intencional (usando la función de barrido) o un efecto adverso de la APU.
Nota cómo la mayoría de estas observaciones no son fácilmente derivadas simplemente escuchando una muestra de audio, esta es la razón de escribir esta sección.
Trazando la APU
Para estudiar la APU de la NES, he compilado cinco espectrogramas, cada uno correspondiente a un canal de la APU usando los ejemplos anteriores. Junto a ellos, encontrarás mi intento de desentrañar lo que los datos están mostrando.
Antes de empezar, debo confesar que para poder recopilar los datos sin inexactitudes (como ruido extra), ha habido algunos compromisos. Las grabaciones se obtuvieron utilizando un programa de Windows llamado 'towave', que utiliza síntesis limitada por banda para resolver un problema fundamental con la emulación de chips de audio basados en PSG. Básicamente, los pulsos, triángulos y dientes de sierra están formados por armónicos infinitos. Sin embargo, eso no se mezcla bien con las tarjetas de sonido modernas que están limitadas a muestras de 44.1 kHz. Entonces, se utiliza una técnica llamada 'síntesis limitada por banda' para elegir los armónicos correctos dentro del límite de la tarjeta de sonido. En resumen, esta técnica proporciona un equilibrio factible entre rendimiento, precisión y prevención de aliasing. Sin embargo, los datos pueden no ser idénticos al 100% a su contraparte analógica (que, por el contrario, también introduciría otros problemas, como el ruido del equipo de grabación), pero creo que es aceptable y, lo más importante, cumple la función para esta sección del artículo.
Dicho esto, seguimos con el análisis.
Pulso

Espectrograma del canal Pulse 1.
La teoría dice que un tono de pulso solo contiene armónicos impares. En otras palabras, el fundamental se combina con su tercer armónico, el quinto y así sucesivamente. Además, cada armónico disminuye su amplitud cuanto más lejos está del fundamental. La fórmula de amplitud es amplitud = 1 ÷ número armónico .
Por lo tanto, observa cómo la luminosidad de cada armónico en el espectrograma se atenúa cuanto más alto está en el eje Y. Sin embargo, las ondas de pulso del APU también parecen exhibir el mencionado efecto vibrato que aumenta con cada número de armónico. Además, las áreas del espectrograma que deberían estar vacías de cualquier sonido contienen tonos apagados (posiblemente el resultado de ruido y otras imperfecciones).
Triángulo

Espectrograma del canal Triángulo.
Una onda triangular también está formada por armónicos impares pero con una disminución más rápida de su amplitud (donde amplitud = 1 ÷ número armónico² ).
Sin embargo, esto no es lo que se muestra aquí, la forma de escalera del triángulo que produce el APU lleva a armónicos adicionales y amplitudes aumentadas.
Ruido

Espectrograma del canal Ruido.
Naturalmente, el ruido no se ajusta a las reglas de los armónicos y puede llenar aleatoriamente todo el espacio de frecuencia, de ahí la falta de un tono fácilmente reconocible.
Aunque, siguiendo la línea de tiempo, puedes diferenciar los diferentes preajustes de ruido que proporciona el APU, cada uno exhibiendo un conjunto distinto de armónicos.
Muestra

Espectrograma del canal de Muestra.
A diferencia de los canales anteriores, el canal de muestra solo reproduce la grabación de baja resolución que el desarrollador alimenta al APU. Considerando que el ejemplo reproducía un kit de batería, no puedo ver ningún rasgo identificable en el espectrograma (aparte de similitudes con el ruido blanco).
Diente de sierra

Espectrograma del canal Diente de Sierra del VRC6.
Como un extra, vamos a revisar también el canal de Diente de Sierra de la expansión VRC6. Para empezar, una onda de diente de sierra perfecta está compuesta por todos los armónicos y cada uno exhibe amplitudes decrecientes (donde amplitud = 1 ÷ número armónico ).
Esto es todo un requisito para el equipo digital y, de hecho, es inasumible para un cartucho de juego (que puede que ni siquiera necesite tal perfección). Así que, al igual que las ondas triangulares del APU, el VRC6 secuencia ondas de Diente de Sierra en 7 ciclos (y por lo tanto produce efectos de escalera similares).
En consecuencia, el respectivo espectrograma es muy desordenado, las técnicas de aproximación del VRC6 llenan la onda con armónicos adicionales en muchos lugares.
Conclusión
Bueno, parece que las formas de onda sintéticas de la NES no se parecen en nada a lo que dicta la teoría. ¿Significa esto que el APU está defectuoso? ¡No! El diseño de la APU terminó otorgando a esta consola sonidos únicos e identificables - y estas propiedades, intencionadas o no, hicieron que los espectrogramas mostraran resultados inusuales.
Como nota al margen, la geometría perfecta puede ser agradable a la vista, pero curiosamente, ¡nuestros oídos no son particularmente aficionados a las formas de onda con bordes perfectos! (puedes empezar a escuchar ruidos de chasquidos).
Mirando hacia adelante, el análisis de sonido utilizando espectrogramas será útil en otros artículos, ya sea para un análisis simple o para hacer comparaciones con otros sistemas. Ten en cuenta que estos gráficos no son, ni mucho menos, la herramienta definitiva, especialmente con muestras de sonido que se han mezclado con demasiados canales/instrumentos (dificultando en gran medida su descomposición). Pero creo que proporcionarán un buen comienzo para cualquier tipo de estudio objetivo.