1. Foreword
    1. Disclaimer
    2. About bugs
    3. Important Precautions
    4. Requirements
    5. Compatibility List
  2. FAQ
  3. Installation
  4. How to load and play a song (free tour included)
  5. How to load samples and compose a basic track
    1. Loading samples
    2. Recording samples
    3. Composing something
  6. Mini-tutorial: It's all about samples
    1. Editing samples
    2. Looping
    3. Tuning
  7. Mini-tutorial: Tuning your instruments
    1. Multi-sample instruments
    2. Envelopes
  8. Hooking up NitroTracker to MIDI gear and software
    1. Who can NitroTracker talk to?
    2. How to connect NitroTracker to MIDI software or hardware
    3. What does NitroTracker send/receive?
  9. Reference card
    1. Tabs
    2. Song controls
    3. Editing / playback controls
    4. Pattern controls on the pattern screen
    5. Sample controls
    6. Sample editor
    7. Sample settings
    8. Loop settings
    9. Instrument controls
    10. Settings
    11. Buttons
  10. Resources
    1. Samples and example music
    2. Further reading



NitroTracker is still beta software. Therefore, bugs exist. As long as I have been playing with it now, it has behaved rather nicely. It has neither destroyed my memory card nor my DS. Anyway, if this happens to you, I won't take responsibility, i.e. you use NitroTracker at your own risk!

About bugs

If you find a bug, try to reproduce it. Then post the steps for reproduction in the NitroTracker bug reports forum. Before you post, check if it isn't a duplicate of an already posted bug! Plase include all information you can provide on the bug, if necessary including the song/sample that causes it.

Important Precautions

In seldom cases, it may happen that NitroTracker corrups your card and you loose all your songs. To prevent this, you should follow this important rule:

Save early, save often!


Regularly scan your card with scandisk or fsck!

The list of known issues / problems I'm working on can be found in the NitroTracker bug reports forum.


In order to run NitroTracker, you need
  • A Nintendo DS
  • A card adapter compatible with homebrew
  • A memory card (usually MicroSD)
As a card adapter, I recommend Slot-1 cards. The R4DS and SuperCard DS One have proven quite reliable and are reasonably cheap (about 40$/€). But everything that's green on the list below will also work. You cannot buy them in local stores though. They are only available via online Asia import shops. Just google for the cards and you'll find tons of dealers.

Compatibility List

GBAMP v2 CFWorks (.nds)
SuperCard CFWorks (.gba.nds)
SuperCard SDWorks (.gba.nds)
SuperCard miniSDWorks (.gba.nds)
SuperCard liteWorks (.gba.nds)
SuperCard Lite RumbleWorks (.nds, launch through DSOrganize)
M3 CFWorks (.nds)
M3 SDWorks (.nds)
M3 miniSD v1Works (.nds)
M3 Lite / M3 Lite perfectWorks (.nds)
Max Media Launcher/DockWorks (.nds)
M3 Simply (Slot 1)Works (.nds)
M3 DS Real (Slot 1)Works (.nds)
EZ4 liteWorks (rename .nds to .ds.gba)
EZ5Works (.nds)
NinjaDSWorks (.nds)
R4DSWorks (.nds)
SuperCard DS One (Slot 1)Works (.nds)
DS-XtremeWorks (.nds)
SuperCard DS One (Slot 1)Works (.nds)
EdgeWorks (.nds)
GBAMP v2 SDWorks, but no saving (.nds)
G6 LiteLoading/Saving does not work! (There's no FAT driver)
M3 SD slimUnknown (reports wanted!)
M3 miniSD v2Unknown (reports wanted!)
Ewin2Unknown (reports wanted!)
MK2/3Unknown (reports wanted!)
Everything elseMight work too! (with DLDI)


The official NitroTracker FAQ is located in the NitroTracker Forum.


Before using NitroTracker, you need to apply a so-called DLDI patch. This means that you have to install a driver for your specific card adapter. It's rather simple: Then, just copy NitroTracker and some XMs and/or WAVs to your card. Check out the download section for some great sources of music and samples.

How to load and play a song (free tour included)

When you first see the user interface, you might think "What the schnitzel? This looks really complicated!" But don't worry: There are not really that many controls and you can learn how to handle them quite fast. But let's first start off really simple by just loading a song.

Tap on the icon that shows three pancakes that are poked with a stick (actually I intended to draw a hard drive). This will open the file dialog.

Now navigate to the folder where you stored your XMs (or just scroll down if they are in the top folder) and tap on a file.

To load it, click the "load" button and wait for a second.

You should now see some strange numbers appearing on the top screen. You can use the d-pad to scroll. You should also see that the list on the right becomes filled. This list shows the instrument names. But alomost no XM composer uses it for that purpose any more. Instead, they put additional song info into the instrument names. Wanna see how the instruments look? Then tap on the icon next to the pancakes that looks like a sound wave.

What you see now is the sample that belongs to the instrument selected in the list on the right. You can select other instruments in the list and play them by using the keyboard. You can see some more song information by going back to the first screen (click the note icon).

The list with the strange numbers on the left is the so-called pattern order table. It defines the order in which the different parts of the song (called patterns) shall be played. On the right, the number of channels is displayed. This number may be higher than 16, but only the first 16 channels are actually played. Below the pattern order table, there are two numbers that have to do with the speed of the song: Tempo and BPM. Increasing the BPM makes the song play faster, as you might expect. But when you increase the tempo setting, the song speed decreases. Don't ask me who invented this. You can think of tempo as the coarse speed setting and the BPM as finetuning. Below the speed controls, you see the name of the song. Don't like it? Then push the "..." next to it and change it.

Did I forget something? Well, the "play" button plays the song :-)

How to load samples and compose a basic track

Loading samples

A word of warning: I may write mobile trackers in my spare time, but I'm rather musically illiterate, at least when it comes to producing music. So, this is not meant to be composing class, this is meant to explain how to track with NitroTracker.

Warning (2): Make sure that the filesystem of the memory card is consistent by checking with scandisk/fsck! Sometimes, when NDS apps write to the card, the filesystem gets corrupted although you won't realize. When saving to a corrupt filesystem you may loose your work!

First of all, we need samples. We all like retro sound, so we use this nice LSDJ sample pack from the freesound project kindly provided by starpause. Download the pack and unzip it to a new folder on your card. Then put it into your DS and start NitroTracker.

To load some samples, click on the hard disk icon.

Then select "smp". This will cause that only samples are displayed in the browser.

Now go to the folder where the sample pack lies. When you load a sample, it is loaded into the currently selected intrument bank, i.e. the highlighted item in the list on the right. Make sure, the first item is selcted, then tap on the file starting with "3044" and tap "load".

Now select the second sample bank and the sample starting with "3049" and tap "load" again.

You can play around on the keyboard to listen to the samples. Since their names are not very descriptive, you might want to rename them.

To do this, press the "ren" button under the instrument list and enter the new name with the typewriter that appears. (I use the old-fashioned term typewriter to differentiate the (computer) keyboard from the (musical) keyboard.)

Recording Samples

You can record your own samples through the internal microphone as well as through a microphone connected to the mic jack. Sadly, Nintendo chose to make the microphone jack proprietary, so you'll have to go with one of the available DS headsets found in most retail stores. If you feel adventurous you can also try slaughtering such a mic to connect a better microphone, but be warned: Some people who tinkered with the mic jack reported that their DS microphone stopped working completely!

To record a sample, select an empty instrument on the right, then go to the sample tab and tap the microphone button.

There are two recording modes:

  • Quick recording: Press and hold A
  • Hands-free recording: Push B to start, and push B again to stop

To review what you recorded, select octave 4 in the "oct" number box on the lower right of the screen, and then press and hold the leftmost keyboard button. This will play back your sample at the note C-4, which is the original recording frequency. After cutting and normalizing your recorded sound, you'll have a brand new instrument!

Composing something

Now we come to the fun part. To record a song, press the "record" button that is under the "ren" button. This button toggles record mode. Now, when you press a key on the keyboard, an entry is added to the pattern (the strange table on the top screen that we've been ignoring so far). Just try it out. Something like this will occur:

Here, blue stands for the note, orange for the instrument and green for the volume. The first blue character is the note itself, in this case an "H". The blue "4" is the octave of the note. You can chance the base octave using the "oct" numberbox. The orange "2" means that we have used instrument nr. 2 and the green "FF" is a hex value that means that this note is played at maximum volume, which is standard.

The pattern is played from top to bottom. I.e. when you press "play", it scrolls down and plays the notes, row after row. By pushing the d-pad left or right, you can switch channels. Two notes that are in the same row on different channels are played at the same time. To get some practice, try to track the following:

The first channel is a drum pattern and the second channel is a stupid melody, known as the swedish car symphony (it's not very famous). When you make a mistake, you can just scroll up with the d-pad and correct it. To clear a note, press the "clr" key right of the keyboard. Holding the B button with accelerate scrolling.

You can also press the "flp" button on the top right of the screen and make selections in the pattern by dragging the stylus. The "cpy" button copies the selected area to the clipboard. The "pst" button pastes it with the upper right corner at the current cursor position.

When you're ready, press the play button to listen to this annoying song. You will realize that the pattern goes on even after the melody is finished.

To change this, tap the note icon. This will bring you to the song view. There is a numberslider named "ptn len". It's used by putting the stylus down anywhere on it and then sliding it up or down. In our case, we slide it down until the number reaches 20. When you scroll down in the pattern using the d-pad, you will see that the pattern now ends at the same time as the song.

Now we want our patterns to be looped three times to make the song even more annoying. For this, we edit the pattern order table (the table on the left). It currently has one entry that sais "0 0". This means that pattern 0 is played at position 0. You can change the pattern by using the "<" and ">" buttons right to it. Pushing ">" will automatically create a new empty pattern of the same size as the current one. but since we only want one pattern, change it back to 0.

Press the "ins" button twice to insert the current pattern into the pattern order table two more times. If you press play now, the pattern will be played three times and you will notice how the highlighted item in the pattern order table changes automatically.

Think that your song is too slow or too fast? Change the speed with the "tmp" and "bpm" number boxes.

Currently the name of our song is "unnamed", as you can read below the tempo settings. To change it to something more suitable, press the "..." button right of the name.

There we go :-) Now to save the song, press the "three pancakes" icon.

In the file dialog, select "sng" again, then navigate to the folder where you want to save it. To enter a name, press "..." right of the empty name field. You don't have to enter ".xm" in the end, because it is appended automatically. Now press "save". When the window disappears, it's safe to turn off your DS.

You can now copy the file to your computer and play it with Winamp, XMMS or whatever you like. You can also edit it with a PC tracker like Milkytracker.

Well, this concludes my introduction to bad tracking. The following tutorials will cover certain aspects in more detail and are certainly worth a read if you want to get the most out of NitroTracker.

Mini-tutorial: It's all about samples

Editing samples

Let's go a little deeper into how you can modify and tune your samples in NitroTracker. Start off by tapping the sample tab. Then, tap the microphone and record something.

To cut off silence in the beginning and the end, select the part you want to cut off and press the delete button.

If your sample is too quiet, you can simply increase the volume. Press the normalize button, then increase the ampilitude value and press ok.

If your sample starts or ends too abruptly, you can use the fade feature. Just select the region that you want to fade and press the fade in or fade out button.


To make a sample go on forever, you can make it play in a loop. There are two types of loops: forward and ping-pong loops. Forward loops just play back the selected part of the sample again and again, while ping pong loops play back the part forward and backward. This usually makes loops smoother and avoids clicking when playback is continued at the beginning of the loop.

To add a loop, go to the sample tab, and then to the loop tab below the sample viewer.

Select forward and you'll see two markers appear, marking the beginning and the end of the loop. Move the markers and listen to your sample to find a loop that sounds good. Select ping-pong to hear how it changes the sound.

NitroTracker automatically tries to avoid clicking loops by moving the loop points to the closest zero crossing. You can turn this off by un-checking the snap checkbox.
In the tuning tab, there's a bunch of values you can tweak to tune your sample.

  • vol changes the sample volume
  • pan pans the sample between the left and right speaker
  • rel selects the relative note of the sample (see below)
  • tune finetunes the sample pitch up or down

An often misunderstood (and admittedly quite idiotic) concept is the relative note. I didn't invent it, so don't blame me! NitroTracker assumes that whatever sample you load or record corresponds to the note C. Of course often this won't be the case, especially for recorded samples. To fix this, use the relative note note setting. This setting specifies the note that is mapped to the C-4 key on the keyboard. Play around with relative note and finetune until the C-4 key corresponds to the note C-4.

It's also possible to save your samples as wav files. Just go to the disk tab, select smp, enter a name for the sample and press save.

That's all there is to samples in NitroTracker. But since samples are only the building blocks for instruments, it's also important to know how to use the instrument settings, which is going to be covered in the next section.

Mini-tutorial: Tuning your instruments

Trackers are stupid. They just play back samples at different pitches so we think we are hearing instruments playing different notes. Of course we cannot be fooled that easily, because we notice that a sample sounds artificial when played back at a too high or too low pitch. Also, when samples are played at higher pitches, they get shorter. On the other hand, when we play a real instrument, like the piano or the violin, we can adjust length, pitch and several other properties of it's sound. To narrow the gap between real world instruments and pure samples, trackers have the concept of instruments. This section describes how to use the power of (tracker) instruments to make your songs sound more like they are played by (actual) instruments.
Multi-sample instruments

To overcome the problem that a high pitched sample sounds artificial and the problem that the length of a sample changes with it's pitch, you can use multiple samples in the same instrument and assign these to individual notes. For example, you could have one sample for each octave. This won't make your instrument sound perfect, but at least way closer to the original than it would sound with only one sample.

To use this technique, you first need multiple samples of the same instrument, recorded at different notes (for example c-3, c-4, c-5 and so on). I'll only demonstrate this on two samples of a string. You can try it yourself by grabbing this set of bass samples from the Open Path Music Library. Copy your samples to your card, fire up NitroTracker and go to the file browser.

Now, press the "+" button above the instrument list. This will unfold the instrument and you'll see a second list below the instrument list, which is the list of samples. The number on each key denotes the sample that is mapped to it. Later we'll see how to edit this mapping.

Load the samples into the instrument's sample slots. To do this, select the first slot, load the first sample, select the second slot and load the second sample and so on.

You can assign samples to the next higher octave by pressing the up arrow on the "oct" box

Now go to the instruments tab by tapping the trumpet icon and then tap "map samples"

Now, if you press a key on the keyboard, you assign the currently selected sample to it. Select the second sample and press all the keys of the second octave on the keybaord such that it looks like this:

Now, press "map samples" again to leave the sample mapping mode. You can collapse the instrument again by pressing the minus "-" button above the instrument list. The sample mapping will not get lost. Now, play a tone ladder to hear if your instrument sounds natural.

Maybe you will notice that the samples on the upper octave are much too high. This is because NitroTracker uses the same base octave for all your samples. We need to tell it that our second sample is one octave higher than our first one by lowering the relative note by one octave. To do this, select the second sample (nr. 1) of the instrument, then tap the sample tab on top, then the sliders tab below the sample preview and decrease the "rel" note by one octave. If you now play the tone ladder again it should sound fine.

Repeat this for our third bass sample as well, and you should have a nice sounding bass instrument. For comparison, select another instrument slot and load the first bass sample into it. Now try playing a high note such as G-6 and you'll hear the difference. For reference, here's the XM with the finished instrument.


Envelopes are the perfect addition to sample looping: With loops you can extend the length of your samples, and with envelopes you can make the looped samples sound natural again. This is done by applying a hull curve to the instrument volume, i.e. a curve that defines the amplitude of your instrument at each point in time.

Time to apply your knowledge about loops! Let's start off where we were in the multi-sample tutorial. (If you didn't read it you can just grab the ready-made XM from here.) For each if the three samples in our bass instrument, find a loop that sounds good. Ping-pong loops usually work best. Remember that the samples are only played with the keys you assigned them to, so to listen to your loops be sure to use the right keys.

Now your samples will play as long as you hold the key, but they will sound unnatural again because they keep the same amplitude. To fix this, go to the instrument (trumpet) tab. The box you'll see there is the envelope editor. To create an envelope, press "draw env".

Now try to draw something like this:

You can edit the envelope afterwards by dragging the points with the stylus. Using the "add" and "del" buttons you can add more points or delete them. Using "+" and "-" you can zoom in or out.

Play with the volume envelope to see how it changes the sound of the sample.

For reference, here's the XM with the finished instrument.

Hooking up NitroTracker to MIDI gear and software

Who can NitroTracker talk to?

Nitrotracker uses DSMI for MIDI support. So, it can interact with MIDI software on any platform (Linux, MacOS, Windows all work). It can act both as a receiver and a sender of MIDI messages. Using a DSerial device and a special MIDI cable, NitroTracker can also send MIDI messages to MIDI hardware like synthesizers, but it cannot yet receive MIDI messages from other MIDI hardware. Unfortunately, the DSerial is not produced any more. I'm working on other hardware MIDI solutions, so stay tuned!

How to connect NitroTracker to MIDI software or hardware
It's easy! Just go to the settings tab and press connect. If a DSerial is plugged in, NitroTracker will use it, otherwise it will connect to the wireless LAN and use wireless MIDI. The send and receive checkboxes enable sending and receiving of MIDI messages (D'uh! :) Refer to the DSMI documentation for instructions on how to set up DSMIDIWifFi on your computer and check the troubleshooting page in case something doesn't work right.

What does NitroTracker send/receive?

The only message type supported as of now are note-on and note-off events. Timers and CCs will probably follow.

NitroTracker sends MIDI note events both when you're jamming on the keybaord and playing back a song. The MIDI channel corresponds to the instrument. Likewise, when NitroTracker receives MIDI events, it plays the instrument that corresponds to the MIDI channel.

Reference card


The song tab
Opens song controls, where you can change several song parameters.
The disk tab
Opens the file browser there you can load and save samles and songs.
The sample tab
Here you can view and samples, record your own, make loops and tweak sample properties.
The instruments tab
Here you can tune your instrument by making envelopes and assigning samples to notes for multi-sample instruments.
The settings tab
Adjust settings to your preferences and connect to MIDI software or hardware.

Song controls

"ins" inserts the current pattern into the pattern order table at the current position.
"cln" clones the current pattern
"del" deletes the highlighted pattern.
"<" chooses the previous pattern
">" chooses the next pattern
"sub" deletes the last channel (in all patterns)
"add" adds a new channel after the last (in all patterns)
Shows you the amount of used RAM. If this tuns red, better clean up!
Changes the length of the current pattern (Usage: Put your pen down anywhere on the numberslider and slide the pen up or down)
"tmp" defines the tempo (coarse speed) lower = faster "bmp" defines the bpm (fine speed) lower = slower
"restart" defines the position from where the song is restarted when it has reached the end.
"..." shows a typewriter for changing the name of the song
Shows a dialog box for zapping the patterns, the instruments or the entire song.

Editing / playback controls

This, ladies and gentlemen, is called a "keyboard". (Not actual size)
Toggles pattern looping
Toggles record mode
Flips the screens.
Defines how many rows to scroll forward in the pattern when a note is entered.
Defines the base octave of the keyboard, i.e. if the value is 4, the leftmost key on the keyboard plays a C-4.
inserts an empty note under the cursor, moving all notes below it down one row
deletes the note under the cursor, moving all all notes below it up one row
deletes the note under the cursor
enters a stopnote, i.e. a silent note that stops the previously toggled note
"ren" shows a typewriter for renaming the currently selected instrument
"+" toggles the sample list for the current sample and shows the sample mappings on the keyboard

Pattern controls on the pattern screen

"m" mutes the channel
"s" makes the channel play solo. You can select "s" on several channels to hear only these channels.
Unmutes / un-solos all channels
The the volume of the selected notes in the pattern.
Cut, copy, paste the selected notes in the pattern. Paste pastes to the current cursor position.
select whole column(s): make a selection over the columns you want to select and press this button. Without an existing selection, the column under the cursor is selected.

Sample controls

Sample editor
Record a sample with the microphone. Either hold A while recording, or press B to start/stop recording.
Selects all / nothing
Fades the selection in / out. If there is no selection, the whole sample is used.
Brings up a dialog for changing the sample amplitude
Reverses the selected part of the sample. If there is no selection, the whole sample is used.
Deletes the selected part
Sample settings
Adjusts the sample volume (0 - 64)
Adjusts the sample's stereo panning (0 - 128)
Sets the note relative to C-4 on the keyboard
Fine-tunes the note (-128 - 127)
Loop settings

In this mode, loop points are displayed in the sample display, defining the beginning and end of the loop.

"none" disables looping
"forward" makes the selected region play in a forward loop
"ping-pong" makes the selected region play in a loop forward and backward
Snap to zero crossings: When you move the loop points, they are snapped to the closest zero crossing the sample to avoid clicking

Instrument controls

Enables / disables the volume envelope for this instrument
Lets you draw a new envelope with the stylus
Add a new loop point after the selected one or
Delete the selected loop point
Zoom in or out


Choose if you're left-handed or right-handed. For lefties, the functions of the D-pad and the ABXY buttons are swapped.
DSMIDIWiFi settings. "connect" connects to the access point. Sending and receiving can be toggled independently.


D-Pad scrolls in the pattern
B Accelerates vertical scrolling
Start Start / pause playback
Select Stops playback
X or L Flips the screens
R + up/down Scrolls to the beginning / end of the pattern
Lid Yes, the lid is a button :-)
Closing enters standby mode
Opening leaves standby mode
Start+Select Reset DS


Samples and example music

A list with some great resources for samples and music is on the download page.

Further reading

If you have never touched a tracker before and if if you have read all of the above, you should know how to use NitroTracker, but you should still know very little about tracking. To learn how to track, you should use THE INTARWEB! Besides googling, I would recommend reading

Also, stop by at the NitroTracker Forum if you have any questions about, or feedback on NitroTracker, if you want to share your work, or if you just want to get in touch with other users.

Otherwise, all that's left to say is: Be creative and have fun!