DDR-style Musical Instrument

Introduction: DDR-style Musical Instrument

About: currently a graduate student at the MIT Media Lab

This is a quickly-built musical instrument that I made using the "free" promotional dance-dance-revolution dance mats that Kraft is giving out.

Step 1: Get a Free DDR Dancemat

Kraft is giving these out for $6 - including shipping, so it won't set you back much to get one.

Step 2: Build a Software Program That Can Accept Joystick Input

The Kraft dance pad is basically a USB joystick, so any software that can read data from a joystick can listen to it. I used pure-data. To get a joystick working in pure-data, try this or this.

I mapped each pad on the dance mat to a different key from the C major scale. C Major opens up many entry-level tunes, such as "lean on me", "heart and soul" and "pachabel's cannon". Here are the frequencies that I used:

Note / Letter / Frequency (Hz)
do C 264
re D 297
me E 330
fa F 352
so G 396
la A 440
ti B 495
do C' 528

The mapping is very basic, but good enough to try it out and realize that this instrument has the potential to get a person in shape by the time they reach even a intermediate skill level! I mapped the "select" pad in the upper left corner switches between sine wave and sawtooth wave output.

You can download a copy of pure-data here, make sure you find the one that matches your computer platform. Then, you can get the 2 pure-data files that I attached to this step below - note that they are for windows though, so if you're on a mac you'll probably have to modify them a bit.

If you're on windows, grab my updated version of the joystick .dll for pure-data here. Once you install pure-data on your computer, put the .dll into the same folder as the two .pd files, and plug the dancepad into your USB port, you can double-click kraftwindows.pd and you should be up and running!

Thanks to Joe Rothermich for adapting my original linux-based patch to work in windows!

Step 3: Learn How to Use It!

Once it's built, the next challenge is to learn to play the instrument.

This is a video of me, trying to play a very simple version of "lean on me"..

I made the [select] button toggle the instrument's behavior betweent the square wave and a sawtooth wave. Here is a video that shows how the sawtooth wave sounds.



    • Tiny Home Contest

      Tiny Home Contest
    • Fix It! Contest

      Fix It! Contest
    • Creative Misuse Contest

      Creative Misuse Contest

    15 Discussions

    Hello David,

    congratulations for your work. I'm transfering from Max to Pd.

    The [hi] object is already made on Max for any operative system. I have been using it with DDR also a couple years ago. Now I would like to rebuild my DDR Max patch on Pd but, I cannot find a [hid] object for Pd running on windows.

    I have download the patches for window from the links above but I cannot find the link for the joystick.dll object that you comment.

    Please, would be you so nice to tell me where to download for avoid broken links?

    Thank you very much

    1 reply

    Hi! Your best bet will be to find Pd-extended for windows. That's the most complete installer that exists today. If the .dll isn't part of that, I'm not sure where it'll be found. Best of luck!

    I put kfatwindows.pd and kraftpad_win32wrapper.pd in anywhere, but where i put the joystick .dll?

    In same folder that pd_joystick, downloaded of http://crca.ucsd.edu/~jsarlo/pd/?


    C:\Program Files (x86)\pd\extra?

    I am newbie.

    1 reply


    It has been some time since I wrote this, and I actually don't remember where that .dll needs to go. But I'd try duplicating it, putting a copy of it in both of those places -- and you might also try putting a copy into the windows directory for good measure.

    Best of luck!

    I can't seem to find that pad. The link does not work... :((((

    glad to see people using Pure Data

    could u use that pad just as a controler for step mania (the computer DDR thing)?

    1 reply

    I haven't tried that, but I think you could.. It looks identical to the $60 DDR controller that is for sale online..

    I don't think you should have held the camera while playing that. Neat project, though. Would you be willing to post your code?

    3 replies

    p.s. thanks to Joe Rothermich for adapting my original code to work in Windows (it was in Linux)

    heh, yeah I wanted the viewer to get the feel for what it's like to actually play the instrument! apologies for any nausea that this caused.. Sure, I'll post the code in a few days - I don't have it with me at the moment.

    awsome instructable