Charla tecnológica de Paul – LSDj 5.3.5_4x. Parte dos: Lija VS. tímpanos

- Posted October 5th, 2018 by

Artículo Original de PainPerdu. Traducción al Español de Pixel_Guy.

¡Hola y gracias por leer la Charla tecnológica de Paul en el blog de Chiptunes = WIN!

Esta es la segunda parte de una entrega sobre el interesante tema de hacer overclocking al PSG de un chip. En la primera parte profundizamos en la teoría básica de los alcances de utilizar esta práctica en la NES, cuando los ticks aumentan su velocidad para alcanzar el rango audible. Hoy trataremos de ser más específicos poniendo algunos ejemplos prácticos en un Gameboy.

Mientras que los rangos de velocidad de audio pueden ser alcanzados a tempi altos en versiones regulares de LSDj, nosotros trataremos de ir más allá, gracias a la única e irrepetible versión de prueba del LSDj: LSDj versión 5.3.5_4x, la cual multiplica el tempo por CUATRO.

¡Profundicemos en ello!


Precauciones y facilidad de uso

Como ya dije al final de la parte uno: la versión 5.3.5_4x es una versión muy temperamental y no ha sido probada a profundidad. Aquí hay algunos consejos que les pueden servir antes de probar el ROM a fin de que se adapten a su muy diferente ritmo de trabajo.

Esta versión usa software overclocking, lo que quiere decir que LSDj corre al cuádruple de su velocidad regular, mientras que el CPU permanece intacto. Como medida de precaución; yo recomiendo que usen un emulador para probarlo. No es como que tu hardware pueda resultar dañado, pero quién sabe; además, los archivos de guardado corruptos nunca son divertidos. Si quieres probarlo en hardware no uses un DMG, es preferible que se use un Gameboy Color.

Cuando empieces a trabajar con el sonido; recomendaría que inicies con un tempo de 80 y comiences a subirlo hasta que sientas que el GB comienza a trabarse. De no ser así el ROM o se pegará o comenzará a ir más lento hasta que sea necesario que lo reinicies. Otra cosa que puedes hacer para ayudar a reducir la carga del CPU es trabajar en un con un solo canal o silenciar los otros (utilizando B+select) mientras ajustas tus configuraciones.

B+select silenciará cada canal individualmente. Presiona B para que vuelvan a sonar.

Ahora hablaremos a profundidad de técnicas para un uso intensivo del CPU en un ROM diseñado para un uso intensivo del CPU, así que procederemos con calma. Los comandos V en modo de alta frecuencia son una fantástica forma de jugar con sonidos similares a síntesis FM y con técnicas de oscilador dual, pero son muy demandantes en términos de poder de procesamiento. Yo sugeriría que lo piensen dos veces antes de que los utilicen junto con algunas otras técnicas de osciladores extra y, si lo hacen, traten de mantener una configuración de tempo baja.

Para finalizar, aquí les dejo una recomendación en cuanto a ritmo de trabajo que pienso que se puede aplicar al LSDj en general, pero que podría resultar más útil para esta versión: usen los grooves a su favor. Lo que sugeriría es que traten de hacer un mapa en el que se pueda encontrar la relación de cada groove con su contador de ticks respectivo. Groove 01 entonces sería un tick por celda; Groove 02sería dos ticks por celda y así sucesivamente hasta llegar a F. Aún puedes disponer de un montón de grooves personalizables después de esos por si quieres jugar con partes irregulares o agregar swing.

Usando C (12) ticks por celda como tu groove principal en lugar de seis también podría ayudarte a navegar entre phrases con mayor facilidad. Para terminar, encontrarás que a esas velocidades los ticks pueden exceder la tasa de actualización de la pantalla y la tables pueden terminar por ser muy difíciles de seguir. Usar comandos G en las tables para controlar su velocidad te ayudará enormemente.

Bajo de onda de pulso con oscilador extra: el tema en cuestión

Muy bien, suficiente parloteo. Entremos en materia. A continuación les mostraré algunas asombrosas técnicas que pueden usar en la versión 5.3.5_4x. Primero enfoquémonos en los canales Pulse.

De forma muy similar a lo que hicimos en la primera parte de este articulo usando el Famitracker; podemos crear un sonido más bajo en LSDj para hacer un oscilador extra con ticks y clics. Para hacer un cálculo aproximado de la frecuencia de los ticks en Hertz, se puede multiplicar el tempo por 0.4. A un tempo de 80, el LSDj de hecho estará trabajando a 320 «BPM», esto quiere decir que los ticks tendrán una frecuencia base de 128 Hz, solo un poco debajo de do3 (C3).

Crea un instrumento básico en un canal Pulse con un duty cycle de 50 % y pon una nota do3 en una phrase en blanco. Ahora asigna una table a dicho instrumento.

Aquí hay unos cuantos ejemplos de tables que puedes utilizar. La idea base es crear un oscilador extra haciendo que una onda de pulso se coloque por encima de su propia nota lo suficientemente rápido para que entre en el rango audible de sonido. Un comando O hará un hard panning o puedes usar un comando W para cambiar el duty cycle, esto puede funcionar bien; es cuestión de que experimentes un poco. Yo he encontrado que de 25 % a 75 % se encuentran los clics más ruidosos, ya que cambiamos entre fases inversas muy rápido.

Puedes tratar diferentes configuraciones aparte de esos ejemplos, pero esto es lo que yo he encontrado más interesante. Usen la table del comando O y dejen que su sonido se siga reproduciendo, en do2 o do3, después bajen el volumen de su instrumento gradualmente. Escucharán como el do se desvanece, pero el ruido extra permanece ahí. Esto te puede ayudar a moldear cada oscilador de forma individual y mezclarlos de forma más fácil. Añadir un comando lento V01 también puede dar resultados de sincronización interesantes (o muy sucios).

Ideas básicas de tables para configurar un oscilador extra. Básicas, pero muy poderosas.

Ahora hablemos un poco del tempo y la frecuencia. Deja que tu sonido se manifieste y aumenta el tempo hasta 160 (640) gradualmente. Deberías de oír el ruido del oscilador extra aumentar de tono y colocarse cerca de una octava arriba. Si tu nota base todavía es do (dale una oportunidad en cuanto a las octavas también), puedes incrementar o disminuir el tempo de a un BPM para ajustar el nivel de desafinación entre tu do y tu oscilador extra. Jugar con la configuración de Finetune de los instrumentos en el canal Pulse o añadir un comando [F] también es una buena idea.

Todo esto es divertido y esas cosas, pero comenzarás a pensar que está algo limitado. Ya que el tempo determina la altura del oscilador extra, estarás o atrapado con una sola nota o en un solo tempo, ¡que no se adaptará a tu concepción de la canción en lo absoluto! Controlar el BPM que se percibe no es tan complicado si usas diferentes grooves, pero alterar la altura de la nota extra sin cambiar el tempo parece ser un desafío. Veamos si podemos librarnos de él.

Controlar la altura de la nota del oscilador extra sin cambiar el tempo

Aumenta el tempo hasta 255 (1020). Asegúrate de que estas en Song Mode. Usa un comando O en la table y haz que tu instrumento en Pulse tenga un volumen bajo, así podrás oír el sonido extra más fácilmente. Ahora trata de cambiar el comando H a valores más bajos y juega con eso. ¡¡Magia!!

Nota base, una quinta más abajo, una octava más abajo y así sucesivamente.

Con la primera table, la nota del oscilador extra es tan aguda como se puede alcanzar en el canal Pulse. Un tick encendido, un tick apagado; estamos recreando una onda de pulso con un pulso cada dos ticks. En el segundo ejemplo con un pulso cada tres ticks la altura de la nota extra es disminuida aproximadamente una quinta perfecta. En el tercer ejemplo con un pulso cada cuatro ticks la nota extra está cerca de una octava más abajo que la primera, ya que su pulso debería de estar exactamente dos veces más lento. Y así sucesivamente.

Con este modelo de table a un tempo de 255 (1020), podemos tener, aproximadamente, las siguientes notas en nuestro oscilador extra:

  • H en row 2: sol#4 (G#4)
  • H en row 3: do#4 (C#4)
  • H en row 4: sol#3 (G#3)
  • H en row 5: mi3 (E3)
  • H en row 6: do#3 (C#3)
  • H en row 7: la#3 (A#3)
  • H en row 8: sol#2 (G#2)
  • H en row 9: fa#2 (F#2)
  • H en row A: mi2 (E2)
  • H en row B: re2 (D2)
  • H en row C: do2 (C2)
  • H en row D: si1 (B1)
  • H en row E: la#1 (A#1)
  • H en row F: la1 (A1)

Esto está muy lejos de ser lo ideal, pero tengan en mente que esto es con la configuración de tempo más alta; así que a tempi más bajos pueden alcanzar notas más bajas, lo que les ofrecerá retornos decrecientes. Aún así es útil saber que puedes, al menos, tener un poco de control en cuanto a las alturas de las notas de tu indomable ruido extra —sin tener que hacer cálculos complejos de relación tempo-afinación de la nota—. Es un hecho que la escala disponible es muy corta, pero ¡es un buen reto de composición el intentarlo! Y por último pero no menos importante: ¡hemos conseguido que nuestro canal Pulse alcance notas más bajas de las que se supone que debería!

Hacer overclocking en el canal WAV: la caja de Pandora

El concepto a probar en el canal Pulse descrito anteriormente crea un oscilador extra al alternar un sonido fuerte y silencio cada dos ticks. Gracias a que el canal WAV puede generar clics de forma natural cuando cambia de frame es que podemos utilizar los modos LOOP o PINGPONG para hacer que nuestro oscilador extra tenga un clic por cada tick; lo que lo hace el doble de rápido y le aumenta una octava. A un tempo de 80 (320) el oscilador extra a una velocidad de un tick estará solo un poco por debajo de do3. A un tempo de 255 (1020), será catapultado hasta sol#4.

La siguiente configuración para un instrumento en el canal WAV debería de darnos un buen ejemplo de la Modulación del Ancho de Pulso. Pongan un tempo de 80 y mantengan la configuración de SPEED en valores altos por ahora para hacer más lentos a los frames y mantener un espacio entre los clics de cada frame.

Ahora crea una phrase con la nota do3 y gradualmente baja el parámetro de SPEED hasta uno. Ahora deberías de tener un sonido como el de una onda de sierra.  Sube tu tempo gradualmente hasta 160, el oscilador extra se moverá una octava hacia arriba. Este es un buen punto de partida para comenzar a experimentar. Juega con los parámetros de LENGTH y SPEED, puedes añadir más capas de rugosidad a tu sonido, por ejemplo. ¡Aún hay más cosas que puedes hacer! No dudes en cambiar ligeramente el tempo para jugar con la sincronización, cambia las notas para generar interesantes tonos envolventes, cambia los instrumentos de SYNTH, haz arpegios, añade vibrato, etc.

Es gracias a que el canal WAV puede generar clics de forma natural que realmente no necesitas depender del volumen o del panning para crear osciladores extra. Los únicos límites están en tu imaginación, y en el CPU. Aquí hay un enigmático sonido que logré al jugar con los parámetros de LENGTH y SPEED y añadiendo un comando de pitch.


A propósito de este breve artículo —si al igual que yo le puedes llamar así— parece que el contador de palabras está yendo demasiado alto para mí como para entrar en detalles sobre eso, así que daré una conclusión rápida.

Esta versión en particular del LSDj es una cornucopia para experimentos sobre el diseño de sonido. No estoy seguro de que sea factible el poder hacer una canción en ella, pero, si existe la posibilidad, ruega por ser estudiada a fondo. Su potencial poco trabajado demanda ser explotado y encausado por ustedes, ¡exploradores del sonido que no tienen miedo, pero sí una insaciable sed de peligro! Dejando de lado las expresiones de Calabozos y dragones, los ejemplos que he dado aquí son lo básico, son piedras de apoyo para que vayan y se sumerjan en esas aguas inexploradas. Solo hablé de los canales Pulse y WAV, pero ¿y qué si hubiera una forma de hacer, por decir algo, un bajo en el canal Noise? (Una pista: la hay). ¿Qué hay de los kits? ¿Qué hay de todo lo que no ha sido intentado? ¿Qué otras limitantes harán que se pegue o deje de funcionar?

Eso es lo que tienen que descubrir ustedes, y les deseo un viaje muy placentero. Yo sé que aún me divertiré con esto.

Parece que Johan ha estado ocupado una vez más, así que en la siguiente entrega cubriré la siguiente ola de actualizaciones del black metal feminista post rock LSDj.

Nos vemos pronto.

Dig this article? Then consider supporting us on Patreon!