Documentation
Overview
- Foreword
- FAQ
- Installation
- How to load and play a song (free tour included)
- How to load samples and compose a basic track
- Mini-tutorial: It's all about samples
- Mini-tutorial: Tuning your instruments
- Hooking up NitroTracker to MIDI gear and software
- Reference card
- Resources
Foreword
Disclaimer
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!
Also:
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.Requirements
In order to run NitroTracker, you need- A Nintendo DS
- A card adapter compatible with homebrew
- A memory card (usually MicroSD)
Compatibility List
| GBAMP v2 CF | Works (.nds) |
| SuperCard CF | Works (.gba.nds) |
| SuperCard SD | Works (.gba.nds) |
| SuperCard miniSD | Works (.gba.nds) |
| SuperCard lite | Works (.gba.nds) |
| SuperCard Lite Rumble | Works (.nds, launch through DSOrganize) |
| M3 CF | Works (.nds) |
| M3 SD | Works (.nds) |
| M3 miniSD v1 | Works (.nds) |
| M3 Lite / M3 Lite perfect | Works (.nds) |
| Max Media Launcher/Dock | Works (.nds) |
| M3 Simply (Slot 1) | Works (.nds) |
| M3 DS Real (Slot 1) | Works (.nds) |
| EZ4 lite | Works (rename .nds to .ds.gba) |
| EZ5 | Works (.nds) |
| NinjaDS | Works (.nds) |
| R4DS | Works (.nds) |
| SuperCard DS One (Slot 1) | Works (.nds) |
| DS-Xtreme | Works (.nds) |
| SuperCard DS One (Slot 1) | Works (.nds) |
| Edge | Works (.nds) |
| GBAMP v2 SD | Works, but no saving (.nds) |
| G6 Lite | Loading/Saving does not work! (There's no FAT driver) |
| M3 SD slim | Unknown (reports wanted!) |
| M3 miniSD v2 | Unknown (reports wanted!) |
| Ewin2 | Unknown (reports wanted!) |
| MK2/3 | Unknown (reports wanted!) |
| Everything else | Might work too! (with DLDI) |
FAQ
The official NitroTracker FAQ is located in the NitroTracker Forum.Installation
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:- Get DLDI patching software for your operating system from here.
- Get the DLDI patch for your card from here: slot-1 (ds slot) / slot-2 (gba slot).
- Patch NitroTracker.nds .
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.
Looping
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.
Tuning
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.
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, 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
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
Tabs
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) | |
| D'uh! | |
| 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 |
Settings
| 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. |
Buttons
| 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 |
Resources
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
- The Trackers Handbook
- Articles on United-Trackers, especially
- The Process of Learning to Track.
- and for some more advances techniques, read Techniques of chipping
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!
