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`
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
cd cc-echelon
cargo run --release -p echelon-world -- --cloud --supercolliderAvailable 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=bothPlay 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
| Gesture | Default Sound |
|---|---|
| Circle | Pad swell |
| Shake | Open hi-hat |
| Punch | Kick |
| Clap | Clap |
| Flick | Arp note |
| X-Cross | Kick + Clap (impact) |
| Dual Punch | Heavy kick + perc |
| Dual Shake | Multiple hi-hats |
| Dual Circle | Ambient pad |
| Wave | Filter sweep |
| Bounce | Synth stab |
Customization
Add New Synths
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
~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