Pure Data Algorithmic Chiptunes (Pd to ArduinoBoy to Game Boy)

Pd running MIDI to an ArduinoBoy controlling a Game Boy running trash80’s mGB software to generate triumphant RPG music in real time.

This simple(-ish) Pure Data patch generates four channels of MIDI, corresponding with the four channels of the Game Boy’s sound: two pulse waves (channels 1&2), a triangle wave (channel 3), and noise (channel 4).

The arpeggio on pulse channel 2 is just a simple sequencer, with some “echos” created with [pipe] objects. The “drums” are created by a sequencer triggering random notes on a sequence too.

The remaining channels are slightly more sophisticated. First, we select a rhythm for each measure, then trigger notes on pulse channel 1 at that rhythm. There are only five notes (from a hemitonic pentatonic scale), and each note has two or three possible harmony notes, to be played by the triangle channel.

Synthesizing Distance

How to create the illusion of distance with sounds by altering their volume, harmonic spectrum, and dry/wet reverb balance.

Spatializaton is placing sounds in a spatial location or creating the illusion that sounds are in a spatial location. We can choose a sound’s direction, where it’s coming from; distance, how far away it sounds; and also the size and shape of the space where the sound is occurring. In this video, I focus on distance, and demonstrate the steps to move something forward and back from the listener.

I demonstrate this in Pro Tools, but this process can be applied to the digital audio workstation of your choice or any other audio programming environment.