MIDI and OSC for mobile devices

About DSMI

Mobile Music

Mobile devices like the DS and iPhone have become very popular in the world of digital music since they allow for making and interacting with music without sitting in front of your computer. There are complete composition studios for both the DS and the iPhone, but there's also a lot of software for controlling synthesizers and other music software in live performances. The problem with these is is that most music software is controlled via the rather dusty MIDI standard which is not designed for wireless communication. Thus, developers have to invent their own workarounds for using MIDI over Wifi. DSMI is an easy to use library that spares developers this trouble and allows you to focus on your application. The DSMI server running on your computer receives MIDI commands and feeds them to your MIDI applications. DSMI is available as an open source library for the DS and the iPhone. The DSMI server is available for all three major operating systems and it's open source as well.

Additionally, DSMI offers wired MIDI for the DS through the DSerial using the same simple API. Since version 3.0, DSMI also supports the OpenSound Control (OSC) protocol, an emerging standard that will hopefully replace MIDI in the future.

Here's a demo video showing DSMI on the DS:

So what is DSMI exactly?

DSMI consists of
  • libdsmi
    An open source library for the DS (using devkitARM and libnds) and the iPhone (using XCode) that makes it easy to write software that acts as a MIDI controller or MIDI client.

  • DSMIDIWiFi Server
    An application that runs on the computer and forwards the MIDI messages received via Wifi to MIDI applications. The DSMIDIWiFi server is open source and is available for

    MacOS X (intel/ppc)


    Windows (guess who's the ugliest)
  • Example apps!
    Example applications including source code to demonstrate the use of DSMI
    DS MIDI KeyboardKaos DSPulse DS
    MIDI Motion Machine

    • DS MIDI Keyboard acts as a MIDI keyboard, including pitch wheel / MIDI control adjustment by sliding the stylus vertically/horizonally.
    • Kaos DS is an XY controller similar to the Kaoss pad. You can use the stylus or your fingers to adjust MIDI controls.
    • Pulse DS turns the DS into a MIDI synthesizer that uses the DS's PSG (programmable sound generator) to produce Game-Boy-like sounds.
    • OSC Example (DS), is a Kaoss Pad with three sliders that demonstrates the OSC capabilities of DSMI.
    • MIDI Motion Machine (iPhone), a tilt-based MIDI controller with 16 note-trigger pads.

What do I need?

In short, you need:
  • A computer of some sort (OSX, Linux, Windows will do just fine)
  • A wireless access point of some sort
  • A DS or an iPhone
  • For the DS:
    • DS homebrew hardware of some sort
    • A game that uses the Nintendo Wi-Fi Connection (needed only once)
    • For wired MIDI: A DSerial
For more details about the requirements, check the documentation.

How can I get it?

By clicking here.