homebrew music applications for the Nintendo DS
RSS icon Email icon Home icon
  • glitchDS

    Table of Contents:

    Overview:

    1. Requirements
    2. Installation

    Usage

    1. Sequencer Control
    2. Trigger Configuration
    3. Sound Selection
    4. Clock Control
    5. Frequency Modulation
    6. Distortion
    7. Save/Load
    8. Importing Sounds

    Quick Reference

    Requirements:

    To use glitchDS, you absolutely must have R4DS*. R4DS allows you to transfer Nintendo DS roms between your computer and the DS. For more information on using the R4DS, checkout this youtube video. You can purchase an R4DS card here.

    * glitchDS is reported to also work on

    - DSLinker, DSTT, CycloDS Evolution, Acekard 2, EDGE, DS-X

    - M3Real pack: but you need to load it using Slot 2/the GBA slot. (Which in turn requires you to have such a GBA expansion pack)

    - M3DSreal with system software 3.7 using DSOrganize

    - On the NAND memory of the “AceKard R.P.G” card

    - Games & Music card after DLDI patching

    - EZ Flash 5 after patching the DLDI driver

    Some people are having trouble getting it to work with M3 DS Real. Any suggestions?

    I got it to work on an M3 DS Real by upgrading to the system software linked to from http://www.memorybits.co.uk/m3ds_real.php (I’m not sure what version it is, but it was newer than what I’d been running), installing DSOrganize, making sure glitchDS was in the root, and launching it from DSOrganize.

    Download and installation:

    Download glitchDS here. Unzip it and copy the glitchDS directory to the root of your R4DS card. Here’s how it should look:

    You must have at least 6 .raw sounds in the sounds folder for glitchDS to work properly. This shouldn’t be a problem since glichDS comes with plenty of sounds included in the sounds folder. Do not put folders inside of your /sounds directory.

    Upgrading: If you are upgrading from a previous version of glitchDS, the easiest method is to overwrite glitchDS.nds and glitchDS.sc.nds while keeping your /snapshots and /sounds directories intact.

    General Use:

    glitchDS is organized into different pages. To switch between pages, press the L and R buttons. The pages are:

    1. sequencer control
    2. trigger configuration
    3. choose sounds
    4. clock control
    5. frequency modulation
    6. distortion settings
    7. save/load

    1. SEQUENCER CONTROL

    glitchDS has a 32 step sequencer based on the “game of life“. After 32 mutations, the sequence starts over. You draw the “seed” for the pattern on the bottom screen in the sequencer control menu. Press START to start the sequencer. Pressing START again stops the sequencer.

    To change the sequence length, use the Right and Left buttons on the directional pad. This will increase or decrease the sequence length by powers of 2. Sequence length is indicated by a small gray bar at the very bottom of the sequence control page (not shown in screen capture). Hold the A button while pressing Right and Left will increase or decrease the sequence length by 1.

    On the sequencer control page, there are 8 gray boxes surrounding the bottom screen.

    These are quick-save slots. Hold the Down directional button while touching one of the quick save slots to store the current pattern. Touching a quick save slot without holding the down directional button will load a pattern.

    Shortcut: Press Y to clear out your seed on the bottom screen.

    2. TRIGGER CONFIGURATION

    How does the sequencer know when to play a sound? Triggers! A trigger specifies what should happen when a certain node on the sequencer graph changes from 0 (black) to 1 (white). If there’s a trigger at that position, the sequencer will play a sound. You can place and remove triggers simply by drawing on the bottom screen while in the Trigger Configuration page. Press the Y button to clear out all the triggers. Imagine that the trigger screen overlaps the sequencer.

    The colored dots (swatches) on the top of the screen represent 6 different sounds. When you first start glitchDS, the first 6 files in the sounds directory are loaded automatically into these slots. However, you can assign new sounds to the swatches in the choose sounds menu.

    Select a swatch by either touching it with the stylus, or cycle through them by pressing Right or Left on the directional pad.

    3. CHOOSE SOUNDS

    The choose sounds page allows you to assign a sound to one of the “swatches” (otherwise known as the little colored boxes at the top of the screen). Select a swatch by either touching it with the stylus, or cycle through them by pressing Right or Left on the directional pad. Select a sound by pressing Up or Down on the directional pad, then pressing A to load the sound into the swatch.

    To quickly scroll through pages of sounds, use the X and B buttons.

    4. CLOCK CONTROL

    The clock control page lets you set the BPM (beats per minute) of the sequence playback. The BPM is approximate. If anyone knows how I can code *perfect* BPM timing in the DS, please contact me. Follow the instructions on the BPM page for changing the tempo.

    Alternately, you may switch to “strum” mode by pressing Y. Strum mode allows you to step through the sequence by strumming the DS like a guitar. Strum-able cellular automaton. Awwww yeaaaa.

    5. FREQUENCY MODULATION

    You can modify the frequency (pitch) of each sound via the frequency modulation page. First select a swatch, then adjust the sliders with the stylus. Nice and simple.

    Shortcut: Press the Up or Down directional buttons to shift the entire frequency graph up or down one pixel.

    6. DISTORTION

    Since I have no idea how to do real distortion, I faked it. My fake distortion is a rapid fluctuation of the sound’s frequency. Drag the stylus vertically across the lower screen to select a global “distortion” that’s applied to all sounds. Drag the stylus to the very bottom of the screen to turn off the distortion.

    7. SAVE / LOAD

    To save your current “song” along with all settings, use the Save feature on the save/load page. You may save up to 200 snapshot files. Choose a slot using the Up and Down directional buttons. Press A to load an existing snapshot. Press B to save a new snapshot. Press X to save over an existing snapshot. Press Y to delete an existing snapshot.

    One thing to be aware of is that your saved-songs remember which sound files you are using. If you remove a sound file from your /glitchDS/sounds directory, saved songs using that sound may not load properly.

    7. USING YOUR OWN SOUNDS

    Sounds must be specially prepared for use in the glitchDS. glitchDS only supports .raw files. I recommend a program called SOX (http://sox.sourceforge.net/) for converting your .wav files to .raw.

    Step 1: Download SOX, and unzip it into a directory

    Step 2: Copy a .wav file that you wish to convert into the same directory as SOX

    Step 3: Open a command line prompt and cd into the directory containing SOX

    Step 4. From the command line, type: sox -V input.wav -c 1 -2 -r 22050 output.raw (Replace input.wav and output.raw with your own filenames.)

    Step 5. Copy your .raw files into the /glitchDS/sounds directory. Do not put anything but .raw files into the /glitchDS/sounds directory.

    Easy stuff. If these steps are confusing, please let me know and I’ll improve them.

    QUICK REFERENCE

    Global

    [start] = toggle between starting/stopping the sequencer

    quick slots = These appear as gray rectangular boxes on the sequencer control, trigger, and frequency pages. Hold the [Down] directional button while touching one of the quick save slots to store the current settings. Touching a quick save slot without holding the down directional button will load current settings.

    swatches = Swatches are colorful boxes that appear at the top of the Trigger Configuration, Frequency Modulation, and Choose Sounds pages.  Select a sound by touching it.  Alternatively, press [LEFT] or [RIGHT] to cycle through the swatch selections.

    Sequencer Control

    Draw on bottom screen to “seed” the cellular automaton pattern
    [Y] = clear sequencer pattern
    [LEFT] = decrease sequencer length by a power of 2
    [RIGHT] = increase sequencer length by a power of 2
    [A + LEFT] = decrease sequencer length by 1
    [A + RIGHT= increase sequencer length by 1

    Trigger Configuration

    Draw on bottom screen to place triggers for cellular automaton sequencer
    [Y] = clear triggers

    Choose Sounds

    [UP] = scroll up to previous sound
    [DOWN] = scroll down to next sound
    [X] = page up to previous page of sounds
    [B] = page down to next page of sounds
    [A] = load sound into selected swatch

    Clock Control

    [UP] = increase BPM by 1
    [DOWN] = decrease BPM by 1
    [RIGHT] = increase BPM by 10
    [LEFT] = decrease BPM by 10
    [Y] = toggle between strum mode and BPM mode

    Frequency Modulation

    [Y] = reset all frequencies to 22,100
    [B] = reset all frequencies to NOTE OFF
    [A + UP] = shift all frequencies up
    [A + DOWN] = shift all frequencies down

    Snapshot Files

    [A] = load selected snapshot
    [B] = save current song as new snapshot
    [X] = save current song as selected snapshot (write over selected snapshot file)
    [Y] = delete selected snapshot file
    [LEFT] = save current song settings as a new version of selected snapshot file

    (the other pages are self explainatory)