MIDI Jammer

From GameBrew - a wiki dedicated to Video Game Homebrew.

Author(s)Andrew Buch
TypeMusic Application

MIDI-Jammer is an application that turns Nintendo DS into a fully functional musical instrument.

It provides an "in" for those who are not proficient musicians, to genuinely create musical ideas while bypassing technical chops and music theory. It allows you to focus on shaping the music you're trying to make.

DSMidiWifi Server Application is required to run on the target computer for the computer to receive the MIDI messages sent from the DS.


  1. Download and extract file
  2. Copy file according to needs to the flash card

User guide

When startup MIDI-Jammer, it is presented with a Mode Select Screen. The options are as follows:

Controllers Only
Pitch and Mod Wheel
Pitch and Panning
Preset Settings
Presets and Mod Wheel
Presets and Panning

For the sake of simplicity, I will explain the Pitch and Panning mode first. This is more-or-less the core of MIDI-Jammer.

Pitch and Panning mode: the Scale is set to "C3 Blues." What this means is that a C Blues scale (consisting of pitches C, Eb, E, F, F#, G, and Bb) has been mapped across the vertical axis of the screen - the low notes at the bottom and the high notes at the top.

Every black bar is a new octave, and the shadings in-between represent the scale degrees of the scale you chose.

There are some interesting bits of performance data going on as well.

In addition to this stand-alone mode, there you can hit Start to connect to your DS's preset wireless network.

Pitch & Mod Wheel: maps the pitches horizontally instead of vertically. In this mode, the vertical axis sends out Mod Wheel data via MIDI. In the internal synth, this is translated to attack-intensity.

Controllers Only: map the Horizontal and Vertical axes to two different MIDI controllers. This is useful for controlling parameters such as filters wirelessly with DS.

Preset Settings mode: edit settings. Deselect the highlighted quadrant to modify the settings for the default preset - that is, the preset when no buttons are held.


Select - mode select menu

Pitch and Panning mode

Left/Right - change the root / bottom note
Up/Down - jump the note by octaves
A/B - scroll through various scale types
L/R - equivalent to using a sustain pedal on a piano
Stylus (Degree of pressure) - volume of the note played
Start - connect to WIFI
XY - select channel on WIFI

Controllers Only

D-Pad or ABXY - assign scales to the four directions



First and foremost, this program could not exist without the help of 0xtob over at

Thank Jens of Catching Smiles, who helped work out some rough bits of code as well.

A few inspirations for my program. Specifically, Harmonix's "The AXE", KORG's Kaoss Pad, and Plato's Jam Sessions were inspirations for this program.