GameBoy Music Workshop: LSDJ
First, just a brief overview of the GameBoy's audio capabilities ... This is where you
find out what you have to work with, and start thinking about how to twist it
into sounding like more than it actually is!
- 4 Channels with Stereo Sound
--- each channel can be played thru the left/right/or both speakers.
- Pulse (Square) Wave Channel 1
- Pulse (Square) Wave Channel 2
--- 1 has support for volume envelope and frequency sweep function.
--- 2 has support for volume envelope only.
--- 1 & 2 both have a length counter, to cut off sound after a timer runs out.
--- 1 & 2 each can have 1 of 4 different duty cycles, as follows:
||12.5% thin raspy sound
||25% thick fat sound
||50% smooth clear sound
||75% phase inversion of 25%
- Voluntary Waveform Channel
--- can be used to playback 4bit samples or user-defined waveforms.
--- 2bit volume control: (0)off, (1)low, (2)medium, (3)high.
- White Noise Channel
--- with volume envelope and shape functions.
LSDJ takes the Nintendo GameBoy and turns it into an excellent chiptune tracker.
The main sequencer layout features 4 vertical
columns, each representing one of the GameBoy sound channels. It provides advanced
capabilities such as a subtractive synthesizer with resonant filters for creating
instruments to be played back on the Custom Waveform Channel, as well as number of
sampled drum kits (TR707, TR808, TR909, TOM, LinnDrum, et cetera). Additionally, the
arpeggio table gives you the ability to create fairly complex instruments and effects
to combining or complementing the already existing commands such as vibrato, pitch
bend, and portamento.
Because of the limited amount of buttons present on the GameBoy, the interface for
LSDJ relies on different combinations of keypresses for navigation. The interface
is broken down into a number of different screens, as follows:
Upon starting up LSDJ you are dropped into the Song screen. By holding SELECT and
pressing a direction on the D-PAD you can move between the screens, for example
pressing SELECT+UP will bring you to the Project screen (you can set the tempo of
your song here, keep this in mind so you can come back and slow things down or speed
them up once you start).
Starting a Song & Creating a Phrase
Begin by going to the first row of the first column in the Song screen and hitting
A. This will add the chain 00 to be played in the song. Next you want to actually
put something into this chain so hit SELECT+RIGHT to go to the Chain screen. Once
there hit A again and this will add an empty phrase 00 to chain 00. Now hit SELECT+RIGHT
and this will take you into the Phrase screen, this is where you will actually be
entering notes. Hitting A will enter the note C-3 into the step of the phrase the
cursor is currently located on, pressing A+LEFT/RIGHT will allow you to change the
note, pressing A+UP/DOWN will change the octave. So now you should be able to fill
in some notes in the steps of the phrase and hit START to hear them play (you can erase
notes you enter by mistake by holding B down and pressing A). At this
point this probably sounds more like a hearing test than music, so lets get onto
Hit SELECT+DOWN from the Phrase screen to get into the Instrument screen. Move your
cursor down to the envelope setting and adjust it by holding A+LEFT/RIGHT
(you can press START from this
screen also to hear the changes you make in realtime). All of the values in LSDJ
use hexadecimal notation (base16 = 123456789ABCDEF), the default envelope setting
is A8. The first number represents the attack or starting volume and the second number
represents the decay rate, the higher the longer the note will be held for. Decay
values of >7 will hold the note indefinitely. Try changing the volume envelope
to something like 84 for a nice little bleep sound. The default wave duty cycle is
12.5%, change this to the less raspy souding 50% by hitting A+RIGHT twice. Now this
one 16 step phrase looping over and over is probably getting tired. So go back to the
Chain screen by using SELECT and the D-PAD and adding another new phrase to the
chain after 00, do this the same way as you added the first one, hitting A+LEFT/RIGHT
changes the phrase number. String a couple of phrases together in this chain and
fill them up with a nice melody. Then its on to the beats!
Adding Some Drums to the Mix
This will be similar to creating the initial melody in a lot of ways. The first
thing you will have to do again is go to the song screen and go to the first row
but the third column (this is the Voluntary Waveform channel, this is where you
can use the sampled drumkits built into LSDJ). Hold A and press UP twice, this
should add chain 20 to the song in channel three, while still leaving space for
some chains you can add to the second channel later. Next go into the Chain screen
and add some phrases like you did for the melody in the first channel, then use
SELECT and the D-PAD to go into the Phrase screen. Here is where things get a little
different, move the cursor to the first spot in the column with the "I" marked
before it, this is the instrument column. Hit A hold it and press UP once, this
should set the instrument to 10.
Go into the Instrument screen and change the setting
for Type to KIT by using A+RIGHT. The Kit settings should now appear beneath the
Type and you can change these to whatever drumkits you would like to use. Play
around with the other values in here for volume, length, and speed if you like also.
Then go back to the phrase screen and start building your beat, here instead of seeing
notes appear you will see letters like BD, SD, CLP, standing for BassDrum, SnareDrum,
and Clap respectively. You will probably also notice that you have 2 columns for entering
drum beats into rather than just the one you had for entering notes into your melody.
This is because LSDJ features soft-mixing for the use of 2 samples simultaneously, in
effect giving you an extra channel to use for your drums. After playing around with the
kits for a while you will quickly figure out what all the abbreviations represent. Get
back to the song screen once you are done and hit START to hear your melody playing
backed with a beat!
But we can make this beat even better by combining the samples with some action in the
noise channel. Get over to the fourth column in the Song screen and create a chain and
fill it with some phrases, you should know how to do this by now. Once you are in the
Phrase screen try putting a C-5 on every other step starting with the first one, also
make sure you are using a new instrument number for this, 1A is good. If you listen to
this now it probably sounds like static, drop down into the instrument screen and adjust
the length to a very small value. Now you should have a closed hi-hat type sound going,
experiment with the other settings here like Shape to get some explosive sound effects.
Filling the Loop In
At this point you know all of the basics of navigating around LSDJ so you should be able
to fill in any areas that sound empty, if you have not yet done anything with the second
pulse wave channel do it now. Add a bassline a couple octaves below the melody you wrote
first or if the first melody you wrote was more of a bassline then work on your lead now.
After the basic sound for your song is reached, then you can start adding in some effects
to polish it up.
Effects Howto: Chords
In music, chords are built when atleast 3 notes are played simultaneously, this might seem
to be a problem at first when you are using something which only has 4 channels and one of
them can only produce white noise. But there is a way to simulate chords being played with
just a single channel of the GameBoy. Go back to the phrase screen for the channel that
your lead sound was on, pick a row where one of your notes is placed and go to the last
column, this is the effects column. Hit A to place an effect, it should say A00, this is the
command to run table 00 on this note (you can change effects by pressing A+LEFT/RIGHT and
get an explanation of a note by just tapping A). Next, get to the table screen using SELECT
and the D-PAD, its DOWN and to the LEFT.
Tables are essentially sequences of transposes,
commands and amplitude changes which can be played at any speed and applied to any channel.
The first column is the envelope column, leaving it at all 00 makes it run the standard
envelope you have already setup for your instrument. Next is the second column used to
transpose notes, this is the one that you will use for creating chords. In the first step
of the column leave 00 this is because you want the note you entered to be heard within the
chord (lets assume for this example it was C-5). Move down to the next step and hit A+RIGHT
to change this next row to 04 (transposing C-5 up four steps will give you E-5). In the third
row do the same but this time change it to 07 (giving you G-5, this is 7 steps up from C-5).
Now to make these three pitches loop very quickly, move to the right one column (the column
with the dashes) and hit A+RIGHT until you find H, this is the command to hop to another
location in the table, leaving the column to the right of it at 00 tells the table to hop
back to the first row once it reaches the H00 command in the fourth row, so now you have
created a loop in the table. Play this back and you will hear a simulated major chord. If
you don't know much about chords then you can also give a similar texture to your instrument
by just using 00 on the first row, 0C on the second row and H00 on the third. This will
simply play an octave up from the bass note giving the instrument a little more complexity.
Effect Howto: Duty Cycle Modulation
Next up is a really nice effect for making instruments sound a lot more dynamic than just
constant tone. You might want to create a couple new phrases and fill them in with a melody
to try this out on because you don't want to overload on effects within one phrase and end
up with something that sounds like a garbled mess. Create a new instrument for this new
phrase while you are it at too, and in the instrument settings screen adjust the Table value
to be one that you have not yet used, 0A should do fine. Now hit A+LEFT once from the
Instrument screen to get to the Table. This time go straight to the third column with the
dashes that you used for the hop command before, but now hit A+LEFT/RIGHT until you get to W.
fill up the first 8 steps (00-07) with this command and then put an H00 in the following
step of the table. Try setting the first 2 steps to 50%, the next 4 to 25% and the last 2 to
12.5%. Now you have a nice duty cycle modulated instrument that sounds a lot more interesting
than a straight square wave.