/////////////////////////////////////////////// /////////////////////////////////////////////// //// Protein [DScratch] //// v080122 by Gorgull //// //// # # # # ## # # //// # # # # # # ### # # # //// ## ## # # # ## # ### //// # # # # # # # # # # //// # # # # # ## # # # //// /////////////////////////////////////////////// /////////////////////////////////////////////// /////////////////////////////////////////////// // GENERAL: /////////////////////////////////////////////// The goal of the Protein project is to get a creative audio/visual toy you can play with anywhere you go - it is in some ways similar to ElectroPlankton concept. DScratch is the first module (or "protein") made using my Protein engine - it's a little audio manipulation software running on Nintendo DS, which ables you to play with an .wav audio sample, a recorded audio sample or even audio streaming from DS's embedded mic. Moreover, DScratch sends MIDI through wifi connection, which ables you to control external applications, like a VJing software or audio sequencer, and can be motion-controlled. /////////////////////////////////////////////// // WHAT'S NEW? /////////////////////////////////////////////// v080122 --> # !!! a brand new WavePlayer (direct streaming from filesystem) = no more limit in file size !!! <-- # enhanced turntable behavior # enhanced cross-fader cut # volume control added # xml config file added (waiting for a real control panel - I definitely hate coding GUI :-p) # samples preview and info in file browser (press X) # enhanced "BitCrusher" effect (renamed from DownSampling FX) # scalable sample display # fixed green led behavior (blinking while wifi activated now) # a lot of bug fixes v071111: # a file browser # a sample recorder # a live mic streaming mode # "Retrig FX" has been rewritten to be synchronized to loop length and current pitch # some display enhancements, new pretty colors :-p # motion-controlled pitch tremolo # 3 cool default samples (cf credits) # now works fine on R4/M3 # pitch step 0.1 v071016: # everything /////////////////////////////////////////////// // INSTALLATION: /////////////////////////////////////////////// Install: 1. unzip the archive 2. enter the "Protein" directory 3. DLDI patch the .nds file with your linker's DLDI device patch (more info about DLDI on http://chishm.drunkencoders.com/DLDI/index.html) --> 4. copy the whole "Protein" directory at the root of your linker's filesystem <-- 5. place your own samples in /Protein/Samples/ directory 6. launch Protein_DScratch.nds on your DS Notes: # the program is patched for R4DS by default # press L or R while starting up the program to enable midi-out # press X while starting up the program to turn the up screen into debug console # live mic streaming mode is selected by default # you can record an up to 20 seconds sample using the sample recorder /////////////////////////////////////////////// // USAGE: /////////////////////////////////////////////// Notes: # controls are symetric : A is similar to LEFT, Y is similar to RIGHT, B is similar to DOWN, X is similar to UP # SHIFT is L or R # SHIFT_2 is L and R # NDSMotion cardridges (MotionPak & MotionCard) are supported - one control at the same time # use Audacity (http://audacity.sourceforge.net/) to export compatible .wav files [DScratch]: sample manipulation only: # Scratch: use touchscreen from left to right # Play/Pause: press then release RIGHT # Control Pitch: hold RIGHT then use touchscreen # Rewind: hold SHIFT then press RIGHT common manipulation: # Trigger Cross Fader: push LEFT - press then release SHIFT to lock # Control Volume: hold SHIFT then hold LEFT to control with touchscreen # Control Volume using DSMotion: hold SHIFT_2 then press LEFT - same thing to stop # Trigger Retrig FX: hold UP - press then release Shift to lock/unlock - hold shift to control with touchscreen # Control Retrig FX: hold SHIFT then hold UP to control with touchscreen # Trigger BitCrusher FX: hold DOWN - press then release Shift to lock/unlock - press shift to control with touchscreen # Control BitCrusher FX: hold SHIFT then hold UP to control with touchscreen # Control BitCrusher FX using NDSMotion: hold SHIFT_2 then press DOWN - same thing to stop # Alter Pitch using NDSMotion: hold SHIFT_2 then press RIGHT - same thing to stop selection: # Browse /Protein/Samples/ directory: press SELECT # Launch sample-recorder: press START # Live mic streaming: hold SHIFT then press START File browser: # Step 1 up/down: press UP/DOWN # Step 5 up/down: hold SHIFT then press UP/DOWN # Select file: press A # Preview sample: press X # Cancel: press B Sample-Recorder: # Start recording: press A or touch screen # Stop recording: press A or touch screen # Cancel: press B XML configuration file: # you can now control DScratch settings (cross fader, turntable behavior, colors, etc) # edit Protein_defaults.xml - help is embedded /////////////////////////////////////////////// // MIDI Out (channel 0): /////////////////////////////////////////////// Notes (octave 0): # Play/Pause: 0 # Retrig FX: 1 # DownSampling FX: 2 Controllers: # current pitch: midi ctrl 0 (64 = pitch 0.0) # audio out level: midi ctrl 2 # audio in level: midi ctrl 3 # Retrig FX: midi ctrl 4 & 5 # DownSampling FX: midi ctrl 6 & 7 # Volume: midi ctrl 8 & 9 /////////////////////////////////////////////// // KNOWN ISSUES: /////////////////////////////////////////////// # due to streaming and buffering .wav file from filesystem, the two DS screens may flicker playing 44Khz stereo .wav file and/or slow linker - pressing X during startup deactivates upper screen --> flickering disappears # file browser entries display is still limited to the DS screen's height # maybe some cracklings in live mic streaming on some linkers (let me know) # midi may fail to init when using DSMidiWifi on some computers /////////////////////////////////////////////// // CREDITS: /////////////////////////////////////////////// Realisation: # Gorgull - Gorgull [AT] x-foot [DOT] net Protein uses other different projects (thank you guys): # devkitPro by Dovoto, Joat and Wintermute - http://www.devkitpro.org # NDSMotion by KeithE (many thanks for the MotionPak;-)) - http://www.ndsmotion.com # DSMidiWifi by _0xtob - http://dsmidiwifi.tobw.net # µLibrary by Brunni - http://brunni.dev-fr.org/index.php?page=ndssoft_ulib # libFat and DLDI tools by Chism - http://chishm.drunkencoders.com/ # TinyXML by Lee Thomason - http://www.sourceforge.net/projects/tinyxml Sound samples: # Daniel Reetz, The Fakeproject Corporation of America. - http://www.fakeproject.com Special thanks: # M-.-n, author of LGPT, for his advices especially in digital audio programming - http://www.10pm.org/nostromo/lgpt/ /////////////////////////////////////////////// // CONTACT: /////////////////////////////////////////////// # gorgull [AT] x-foot [DOT] net ///////////////////////////////////////////////