Posts Tagged ‘LSDJ’

Nintendo Game Boy Synthetic Drums

August 27, 2007

Synthetic snares, bass drums, effects and percussive sounds created with LSDJ running on a first generation Nintendo Gameboy.

LSDJ is a tracker programmed for Nintendos classic hand-held gaming console by demoscener Johan Kotlinski. Kotlinski, also known as Role Model, wanted to create an easy-to-use – but still powerful – music software that could harness the possibilites that the 8 bit 4.19 MHz microprocessor could offer. In the year 2000, the first versions of LSDJ were released, but some development (mainly bugfixes) is still going on in 2007.

CPU and synthesis capability

 

The Game Boy does not contain a separate dedicated sound chip, but instead utilizes the architeLSDJ logocture of the Z80-like CPU to output 4 channels of sound. 2 channels are dedicated to square waves, with the two remaining channels tends to pseudo-random noise and wave-channel, respectively. LSDJ utilizes some clever ways of managing these channels, letting the user create sounds using crude forms of subtractive synthesis, wavetable synthesis and sample-based phoneme speech synthesis.

The square wave channels both feature volume envelope (attack/release) as well as Pulse-width modulation, but frequency modulation is only possible on the first channel, in the form of pitch bends, sweeps and vibrato controlled by a primitive LFO with several waveforms, going from slow vibrato to very fast mayhem (with wonderfully gritty results).

The user interface

All this is accessible on a screen with a video resolution of a mere 160×144 pixels with only the A, B, select and start buttons plus the directional pad to the left as controls. This clearly leaves a demand for an elegant and practical user interface. LSDJ presents us with exactly this, following in the steps of so-called “tracker” music sequencers like the legendary Soundtracker on the Amiga and Fasttracker and Screamtracker 3 on the PC.

Due to the open-ended structure of LSDJ, the user can dive into both simple and direct sounds as well as variations and complex combinations of the synthesis possibilities. The ability to program macro-events (a sort of sub-patterns that can be run in the background from the main pattern of a channel) makes it easy to produce the arpeggiated pseudo-chords recognized from for example SID tunes from the Commodore C64.

Kotlinski also made it possible for users to upload their own samples from their computer, through down-sampling and uploading to the writeable cartridge LSDJ is housed on. Of course, sample time is limited, but LSDJ lends one with enough space for many custom sample kits to please the people who prefer to upload their own rather than use the still very nice compilation of samples of classic drum machines that are originally contained in the LSDJ ROM file.

Vibrant user community

The user base of LSDJ is of course dominated by geeks, and by virtue of that, modifications of the physical hardware and new break-thinking tracking techniques routinely pops up. the most important ones are the homebrewed MIDI-interfaces which enables the LSDJ musician to sync up her or his little gray ones to their computer or hardware drum machines and synthesizers.

Other projects make it possible to example play the Game Boy sounds with a regular midi keyboard, modding your Game Boy Color to improve the sound and bass response in this later GB version. Or why not add a back light to your old grey brick? Neat!

Related links