Grand Diomande Research ยท Full HTML Reader

Echelon SuperCollider Integration

1. Open SuperCollider IDE 2. Open `echelon_synths.scd` 3. Boot the server: `Cmd+B` (Mac) or `Ctrl+B` (Windows/Linux) 4. Evaluate the entire file: `Cmd+Shift+Enter` (Mac) or `Ctrl+Shift+Enter`

Embodied Trajectory Systems research note experiment writeup candidate score 18 .md

Full Public Reader

Echelon SuperCollider Integration

Professional-grade audio synthesis for motion-controlled music.

Quick Start

1. Install SuperCollider

Download from: https://supercollider.github.io/downloads

2. Start SuperCollider

1. Open SuperCollider IDE
2. Open `echelon_synths.scd`
3. Boot the server: `Cmd+B` (Mac) or `Ctrl+B` (Windows/Linux)
4. Evaluate the entire file: `Cmd+Shift+Enter` (Mac) or `Ctrl+Shift+Enter`

3. Start Echelon with SuperCollider

bash
cd cc-echelon
cargo run --release -p echelon-world -- --cloud --supercollider

Available Synths

### ๐Ÿ  House Music
| Synth | Description | Key Parameters |
|-------|-------------|----------------|
| `houseKick` | Deep, punchy kick | freq, punch, decay |
| `houseBass` | Warm, groovy bass | freq, cutoff, res |
| `houseChord` | Stabby chord | freq, attack, release |
| `housePad` | Lush, warm pad | freq, attack, cutoff |
| `houseHiHat` | Closed hi-hat | decay |
| `houseOpenHat` | Open hi-hat | decay |
| `houseClap` | Classic clap | amp |

### โšก Techno
| Synth | Description | Key Parameters |
|-------|-------------|----------------|
| `technoKick` | Hard, industrial kick | freq, punch, distort |
| `acidBass` | 303-style acid | freq, cutoff, res, accent |
| `technoLead` | Harsh metallic lead | freq, cutoff |
| `industrialPerc` | Industrial percussion | freq, decay |

### ๐ŸŽน Jazz
| Synth | Description | Key Parameters |
|-------|-------------|----------------|
| `jazzPiano` | Rhodes-style piano | freq, vel |
| `uprightBass` | Acoustic upright bass | freq |
| `brushedSnare` | Brushed snare drum | amp |
| `jazzRide` | Jazz ride cymbal | amp |

### ๐Ÿค– Electro
| Synth | Description | Key Parameters |
|-------|-------------|----------------|
| `electroBass` | Funky synth bass | freq, cutoff, res |
| `robotVoice` | Vocoder-style voice | freq, formant |
| `electroClap` | Electronic clap | amp |
| `synthStab` | Funky chord stab | freq |

### ๐Ÿฅ 808 Drums
| Synth | Description | Key Parameters |
|-------|-------------|----------------|
| `kick808` | Classic 808 kick | freq, decay |
| `snare808` | 808 snare | amp |
| `tom808` | 808 tom | freq, decay |
| `cowbell` | 808 cowbell | amp |

### ๐ŸŒŠ Ambient
| Synth | Description | Key Parameters |
|-------|-------------|----------------|
| `ambientPad` | Ethereal pad | freq, attack, release |
| `texture` | Granular texture | density, freq |
| `filterSweep` | Filter sweep effect | startFreq, endFreq, direction |

OSC Commands

Latent Parameter Update

/echelon/latent [tension, energy, curvature, grounding, excitement, leftEnergy, rightEnergy]

Gesture Trigger

/echelon/gesture [gestureName, intensity, device]

Gestures: circle, shake, punch, clap, flick, xcross, dualpunch, dualshake, dualcircle, wave, bounce
Device: 0=left, 1=right, 2=both

Play Note

/echelon/note [synthName, freq, amp, duration]

Beat Control

/echelon/beat start
/echelon/beat stop
/echelon/beat tempo [bpm]

Style Change

/echelon/style [house|techno|jazz|electro|ambient]

Gesture โ†’ Sound Mapping

GestureDefault Sound
CirclePad swell
ShakeOpen hi-hat
PunchKick
ClapClap
FlickArp note
X-CrossKick + Clap (impact)
Dual PunchHeavy kick + perc
Dual ShakeMultiple hi-hats
Dual CircleAmbient pad
WaveFilter sweep
BounceSynth stab

Customization

Add New Synths

supercollider
SynthDef(\mySynth, {
    arg out=0, freq=440, amp=0.5, gate=1;
    var env = EnvGen.kr(Env.asr(0.01, 1, 0.1), gate, doneAction: 2);
    var sig = SinOsc.ar(freq) * env * amp;
    Out.ar(out, Pan2.ar(sig, 0));
}).add;

Add New Patterns

supercollider
~patterns[\myStyle] = (
    kick: [1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0],
    hihat: [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0],
    clap: [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
    bass: [1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0]
);

Modify Gesture Responses

Edit the `OSCdef(\gestureTrigger, ...)` section in `echelon_synths.scd`.

Troubleshooting

### No Sound
1. Check SuperCollider server is booted (`s.boot`)
2. Check OSC port (default: 57120)
3. Run `s.scope` to see audio output

### Latency Issues
- Reduce `s.options.blockSize` (default: 64)
- Increase `s.options.hardwareBufferSize`

### CPU Issues
- Reduce polyphony in patterns
- Use `.free` on synths that should stop
- Monitor with `s.avgCPU`

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     OSC      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   Echelon       โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถ โ”‚  SuperCollider  โ”‚
โ”‚   (Rust)        โ”‚             โ”‚  (sclang)       โ”‚
โ”‚                 โ”‚             โ”‚                 โ”‚
โ”‚  โ€ข Gestures     โ”‚   57120     โ”‚  โ€ข SynthDefs    โ”‚
โ”‚  โ€ข Latent       โ”‚             โ”‚  โ€ข Patterns     โ”‚
โ”‚  โ€ข UI           โ”‚             โ”‚  โ€ข Effects      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜             โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                        โ”‚
                                        โ–ผ
                                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                                โ”‚   scsynth       โ”‚
                                โ”‚   (audio)       โ”‚
                                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Promotion Decision

Attach run IDs, datasets, metrics, and reproduction commands.

Source Anchor

Comp-Core/core/audio-media/cc-echelon/supercollider/README.md

Detected Structure

Method ยท Evaluation ยท Architecture