This lesson covers some background information about trackers and hexadecimal numbering. It also gives you a map of the entire LSDj program and explains how to navigate it.

Then for some fun stuff: you'll create some instruments from scratch and use them to contruct your first loop using all four sound channels of the gameboy. At the end of this lesson is a legend of key presses for commands like copy and paste that will help you work faster.


A Brief History of Trackers

In the begining, c64 demo sceners would write music by hacking away in assembly. Hackers are lazy, so it's no surprise that sceners started building tools so they could develop radder demos with less effort. These early music sequencers featured inovative tracker-like interfaces that made it possible to access the sound chip in musical terms.

I say tracker-like because sample tracking itself didn't come about until commodore released the amiga, but the interface for these first sample trackers was built on the foundation of c64 music editors like Rock Monitor. However, from here on out, I'll refer to all of these softwares as trackers because they share more similarities than differences.

One distinct characteristic of trackers is that time occurs over the y-axis, i.e. up and down. In LSDj's song screen, that means that each row (numbered in the shaded column on the left) is a different position in time, starting at the top (00). The four columns filled with sets of dashes are channels--each of which is a monophonic synthesizer. In other words, each channel is an instrument capable of producing only one sound at a time. While this may seem limiting, it is possible to get complex and interesting sounds out of each monophonic channel by heavily modulating them.

Keyboard shortcuts are another common feature of trackers that allow work to be done very quickly. tracker:choonz as vi:text. While learning all of the key commands is a daunting task, once remembered they allow users to compose very quickly. While LSDj has no keyboard, the concept is the same: everything can be done quickly through different key presses. Here is the general notation used for describing them:

  • "SELECT + A" - tapping A while holding SELECT
  • "SELECT + (B, B)" - tapping B twice while holding SELECT

if you have a gameboy, you may already be familiar with these buttons:

  • "A" - A button
  • "B" - B button
  • "START" - start button
  • "SELECT" - select button
  • "LEFT", "RIGHT", "UP", "DOWN" - directional arrows on the cross pad
  • "DIRECTION" - any direction on the cross pad

LSDj, like other trackers, uses a hexadecimal numbering system (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 is written as 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F). It is a compromise between the binary counting system that machines use and the decimal counting system most people are familiar with. Not knowing the exact decimal representation of a hexadecimal value isn't a problem, it's just important to remember 0 is low, 8 is around the middle and F is highest.

Structure and Navigation

LSDj's environment is broken down into several screens, each of which allows you to tweak different parameters. It's easy to tell which screen you are on at any time because of the built in map in the lower right hand corner (note the highlighted S for SONG in the screen shot). The name of the screen you are on appears in the upper left hand corner. Navigate between screens by holding SELECT and tapping in a DIRECTION. Here is a labeled version of the on screen map:

   _______________________________________
  |               |       |       |       |
  |    PROJECT    | WAVE  | SYNTH | TABLE |
  |_______________|_______|_______|_______|
  |       |       |       |       |       |
  | SONG  | CHAIN | PHRASE| INSTR | TABLE |
  |_______|_______|_______|_______|_______|
  |                                       |
  |           G  R  O  O  V  E            |
  |_______________________________________|

Don't dispair if the map appears daunting, you'll become intimate with each of these screens one by one as they become useful. To describe them briefly: INSTRUMENT, SYNTH, and WAVE are places for you to synthesize your own instruments. GROOVE lets you change the swing to get funky beats. The TABLE screen is for advanced synthesis and allows you to program powerful effect macros. General program and project settings are edited in PROJECT.

The SONG, CHAIN and PHRASE screens are where you arrange your composition. LSDj's structure is very modular--The SONG is made of CHAINS and CHAINS are made PHRASES. CHAINS and PHRASES are identified by hex values, so you could say the CHAIN highlighted in our screen shot is "A CHAIN known as 01".

If you have your cursor over a CHAIN in the SONG screen, pushing "SELECT + RIGHT" will take you to the screen for editing that CHAIN. If your cursor is over a blank space, indicated by the dashes, "SELECT + RIGHT" will take you to the last CHAIN you were editing. The same paradigm works for moving between the CHAIN and PHRASE screens.

Synthesis Stubbing

It would be nice to write your first loop without diving into synthesis, so I'll quickly run you through parameters for some workable sounds. Navigate to the INSTRUMENT screen with "SELECT + DIRECTION". If you didn't go through the quick start guide, make an instrument like 3PERK. All parameters and fields in LSDj are edited by either tapping "A" or "A + DIRECTION".

Use "B + DIRECTION" to switch between INSTRUMENTS. Find a blank INSTRUMENT (without a name) and set it up like 12BAS.

Use "B + DIRECTION" to find another blank INSTRUMENT. Set it up like 4HIT.

Hello Loop

Now we can concentrate on composing. While working, keep in mind that all editing is done directly on the data of your song. Be careful, because there isn't an undo command!

Fill a row up with CHAINS. "A, A" will place an unused CHAIN at any position, even one where a CHAIN already exists.

Check out the upper right hand corner of the screen. It indicates which channel your cursor is on. In LSDj, each channel is a different type of synthesizer. The leftmost channel is a sweepable pulse (PU1). The next one over is a non-sweepable pulse (PU2). The next column right is the wave playback (WAV) channel, and the rightmost column is the noise (NOI) channel. It's important to remember that each channel is a different type of synthesizer because each one is meant to play INSTRUMENTS of different types. LSDj is versitle and allows you to mismatch INSTRUMENT types and channels but the result will sound strange.

Move the cursor over the number in the NOI column (04 in this example) and push "SELECT + RIGHT". You are now editing that CHAIN. Notice that the title in the top left corner of the screen displays the number of the CHAIN you are editing. Each chain can contain up to 16 PHRASES. Just like positions in the SONG screen, chain positions are labeled on the black, leftmost column. The column to the right of the positions shows the PHRASES that make up the CHAIN. Press "A, A" to add a PHRASE at the first position in that CHAIN.

If you push "START" in the CHAIN screen, only the CHAIN you are editing will be played and you won't be able to hear anything on the other channels. Currently there isn't anything on the other channels anyway, but this can be useful if you want to isolate a channel while you are composing.

With your cursor over the new PHRASE you created, push "SELECT + RIGHT". If you didn't stop LSDj from playing, you will see the position arrow scrolling down the steps of your PHRASE. Just like the CHAIN screen, the PHRASE screen displays the PHRASE you are editing in the upper left hand corner. PHRASES have 16 steps (numbered 0-F on the leftmost column).

Each step can contain note data. Push "A" to insert a note. The column filled with I's is a reminder that the column to it's right displays the INSTRUMENT number of the note being triggered on that row. Highlight the INSTRUMENT number of the note you made and use "A + DIRECTION" to find the INSTRUMENT named 4HIT. Notice that as you use "A + DIRECTION", the name of the INSTRUMENT number is displayed in the bottom right hand corner.

Insert a few more notes and use "A + DIRECTION" to change their values. With NOISE INSTRUMENTS, it's often possible to get distinct sounds out of one instrument by changing octaves, but not by changing the letter of the note. Changing octaves is done by pushing "A + UP or DOWN" and changing the letter of the note is done by pushing "A + LEFT or RIGHT".

Navigate back to the SONG screen using "SELECT + DIRECTION". While you are there, stop playpack of the NOISE channel CHAIN by pressing START, then initiate playback of all the chains in row 00 by pushing START while one of the CHAINS in the row is highlighted. Notice the two PULSE colums don't have play arrows next to their chains. LSDj knows that the SONG positions do not contain CHAINS and will not play them!

If you are continuing from the quick start guide, you can skip to the next step. Otherwise, edit the CHAIN in your WAV column ("SELECT + RIGHT"). Create a new PHRASE ("A, A") and edit it. Insert a note ("A") and change it's INSTRUMENT to 3PERK ("A + DIRECTION"). 3PERK is a KIT TYPE INSTRUMENT which can be played on the WAV channel. KIT INSTRUMENTS cause the PHRASE screen to change appearance because they allow you to play two samples on every row. The sample being played back can be changed with "A + DIRECTION" like any other note value. Lay a beat down!

Create a PHRASE in the first position of the CHAINS on the PU1 and PU2 channels. Find the INSTRUMENT named 12BAS and add a melody or bass line to your loop. If you can't hear what you're editing in a PATTERN just push START twice (to stop, then start playback of just that PATTERN).

Return to the song screen and press "START" with your cursor on the same row as your CHAINS. Just as the pins on a rotating cylinder in a music box pluck notes, the song position arrow in LSDj checks every row of the song to see what sounds to play. The position arrow will proceed down the rows until it encounters blank space. It will then wrap back to the top of the block of CHAINS it was playing. Since your CHAINS are at the top of themselves and the position arrow will keep finding blank space below them, LSDj will keep looping over your CHAINS.

Now that you've got one loop down I'm sure you'll want to make another ;D ... go ahead, just leave at least one row of dashes in between your new loop and your old one. Take note that if you try and play blank space or a CHAIN without a PHRASE in it, LSDj will play the first CHAIN containing a PATTERN it finds (starting from SONG position 00).

LEGEND OF KEY COMMANDS

Now that you're making loops, you may want to learn a few new key commands to increase productivity. Here is an overview of the key presses valid in the PHRASE screen. The key pressing philosophy expressed here is used as consistently as possible throughout the entire program.

Data entry and editing:
"A": insert note on empty step

"A + RIGHT": note up
"A + LEFT": note down
"A + UP": octave up / 10 up
"A + DOWN": octave down / 10 down

Cutting and pasting:
"B + A": cut note to clipboard
"SELECT + (B, B, B, B)": copy the entire screen to the clipboard.

"SELECT + A": paste from the clipboard.

"SELECT + B": start marking (move cursor to expand marking)
"SELECT + (B, B)": mark column
"SELECT + (B, B, B)": mark all

After a block has been marked:
"A + RIGHT/LEFT": all marked up/down
"A + UP": all marked octave / 10 up
"A + DOWN": all marked octave / 10 down
"SELECT + A": cut marked block to the clipboard
"B": copy marked block to the clipboard

Navigation:
"B + RIGHT": edit phrase in the rightmost channel of current row
"B + LEFT": edit phrase in the leftmost channel of current row
"B + UP/DOWN": edit previous/next phrase in chain