From GameBrew - a wiki dedicated to Video Game Homebrew.

Protein DScratch
TypeMusic Application
Version22 January 2009

Protein DScratch is an audio manipulation software running on Nintendo DS, which ables you to manipulate audio, anywhere you go - it is in some ways similar to ElectroPlankton concept.

Using Protein[DS], user can play with up to four modules at the same time to create a live music set and control external applications, using the touchscreen, audio in/out levels, midi-out, and even motion-control. User can even play with live-recorded audio sample.


  • up to 4 performance modules at the same time
  • .wav samples or recorded audio support
  • file browser with audio preview feature
  • microphone sample recorder
  • quick access menus
  • touchscreen control
  • audio levels control
  • motion sensor control
  • wireless midi-out control


  1. Download and extract file
  2. DLDI patch .nds file and copy it to the root directory of the card
  3. Copy "ProteinDS/" directory at the root of cartridge's filesystem
  4. Place your own samples in "/ProteinDS/Samples/" cartridge directory (optional)

User guide

Protein[DS] allows user to play with up to 4 "modules" at the same time.

Title screen:

The is the screen which appears at startup.

DScratch module:

This module is kind of a turntable, it lets you play with wav or recorded samples, or even live audio from microphone: you can scratch, pitch, apply effects, cut volume etc. This is the only really advanced module for now.

DSamples module:

For the moment, this module only lets you play a wav sample by hitting a key. Anyway, it's the next module I'll be working fully on, to create an advanced sampler.

DSControl module:

This is a basic implementation of a MIDI controller using both the touchscreen for MIDI cc, and keypad for MIDI notes.

Sample-Recorder tool:

This tool records samples from the DS built-in microphone. The total recording time is set to 20 seconds. Recorded samples can be recorded to disk (cf Configuration/Setup Save) .

Sample-Browser tool:

This tool ables you to browse through your samples-directory (cf Tips), preview a sample, and finally load one within the caller module.


Uses Stylus.

Start - access to the main options, state save, main config.

Select - choose a module

D-pad - choose one of the four modules

L/R - back to any module

Known issues

Waiting for a new implementation, using DualScreen mode only allows 30fps, plus the two screens may flicker - deactivating DualScreen gives you 60fps, which is a lot better for scratching!

DScratch may not be able to play big files backward: crossing the end/beginning sample's edge backward way lock the audio engine due to a too long file access. It seems like NDS filesystem is too slow when seeking point is too far.

Midi may fail to init when using DSMidiWifi on some computers (only tested on Mac for the moment, other os reports are welcome).

Audio engine may lock at some point while using MIDI.



Tested on: FlashCard TTDS / DSTT with Firmware 1.17



  • [DScratch] Graphical parameter panel - no more infernal xml editing/testing!
  • Global options graphical parameter panel
  • State-save added
  • Recording-save added
  • Little [DSamples] update
  • Better stability


  • Proof of concept v080522 of now called "Protein[DS]"


  • A special Beta-Deltav080122 of Protein [DScratch]


Conception/Realisation: Gorgull - Gorgull [AT] x-foot [DOT] net

Sound samples:

Daniel Reetz, The Fakeproject Corporation of America. -

Protein[DS] uses other different projects (thank you guys):

devkitPro by Dovoto, Joat and Wintermute -
NDSMotion by KeithE (thx for the MotionPak) -
DSMidiWifi by _0xtob -
�µLibrary by Brunni -
libFat and DLDI tools by Chism -
TinyXML by Lee Thomason -

Special thanks:

M-.-n, author of LGPT, for his advices especially in digital audio programming -
bigups to makunouchi bento & [XC3N] for their testing on stage!