-
Notifications
You must be signed in to change notification settings - Fork 0
Workshop Guide
Facilitator notes for a 45-minute OMO session with phones only. Shorter checklist in the repo: docs/WORKSHOP-GUIDE.md.
- Play together with phones only: no cables, minimal setup.
- Hear different music-making modes: harmony, rhythm, gesture, timbre.
- See under the hood: synthesis blocks, sensors as controllers, a tiny on-device ML pipeline.
- Test Wi‑Fi or mobile hotspot; everyone opens fourms.github.io/omo/.
- Browsers: iPhone/iPad → Safari; Android → Chrome. Avoid in-app browsers; use “Open in browser”.
- Conductor phone: full volume, Do Not Disturb on.
- Optional: filter the hub by section (
?section=rhythm, etc.) or pre-assign rows (drones / rhythm / melody). - Run through Device support on one phone; allow motion when Test motion is tapped.
- Demo flow: open an app → Audio on → touch the play surface → allow mic/motion if asked.
Open hub → Piano (or Kaoss Pad on Lead program). Everyone finds one note or pad position. Conductor counts 1–2–3–4; all release on 4.
Motion Filter: “Tilt = vowel.” Conductor points up/down; group sweeps together without looking at screens. Switch the mapping (Tilt · Shake · Ladder · Flat) and repeat: same synth, new instrument.
Shepard Glide: hold the pad; tilt controls rise/fall speed. Discuss endless glide vs stepped melody. If tone stops while held, reload (service worker update) and keep finger on the pad centre.
Sampler: hold centre record button, hum or speak, release to loop; tilt shifts colour and filter.
Scrub Tape: record, then drag the tape ribbon at the bottom (DJ scrub).
Pinch Bass: two-finger spread on the pad; watch the live readout for filter and pitch.
Standstill: everyone holds the phone to the chest and stands still; sound blooms with stillness and any movement silences it. Run one 3-minute Championship heat. Micromotion splits what remains into sway, tremor, and rotation lanes. Full script and background: Micromotion & Sonification.
Train & Shake: record still, sway, and shake (3+ each), or Export set / Import set for a shared demo. Open Teach (feature map + confusion matrix), try k and Compare both models.
- Ask: What could confuse the model? Read Ethics · on-device: bias across phones and bodies.
- Perform: conductor mimes three gestures; ensemble reacts.
- Conductor: set BPM, Start countdown, share link (QR, AirDrop, or short URL).
- Drones: Just Equal or Harmonizer; assign roots (e.g. F / A♭ / C / E♭).
- Rhythm: split Drum Sequencer, Rhythm Machine (Draw, Euclid, or L-system), Drumkit, or Firefly.
- Melody: Markov Melody, Kaoss Pad (Beat program for pulse layer), or Mic Theremin.
- Texture: Granular Tilt, Video Sonifier, or Vocoder Choir (hold centre button, sing).
One phone on Shepard Glide or Just Equal; others silent. Discuss what felt musical vs “tech demo.”
| Duration | Focus | Apps | Notes |
|---|---|---|---|
| 10 min | Pulse only | Conductor + Firefly | No melody; listen for entrainment |
| 15 min | Camera room | Shadow Sequencer + Video Sonifier | Dim lights; discuss privacy |
| 20 min | Synthesis tour | Synth Tour (FM → Ring → Wavetable → Supersaw) → Pluck Bowl | One pad, engines compared by ear |
| 25 min | Kaoss layer | Kaoss Pad Beat + drone row | Quantized pulse under free harmony |
| 30 min | ML ethics | Train Shake + Hum Clap | Compare k-NN on motion vs audio features |
| 30 min | Standstill session | Standstill + Micromotion | Inverse instruments; see Micromotion & Sonification |
| Role | Good starting apps |
|---|---|
| Pulse / time | Conductor, Firefly, Clap Architect |
| Grid rhythm | Drumkit, Drum Sequencer, Rhythm Machine |
| Drones / harmony | Just Equal, Harmonizer, Compass Wah (Choir), Swarm Bloom |
| Motion expression | Motion Filter, Sound Saber, Shepard Glide, Pinch Bass |
| Stillness / micromotion | Standstill, Micromotion |
| Melody / pitch | Piano, Kaoss Pad, Markov Melody, Flute Blow, Mic Theremin |
| Timbre / FX | Sampler, Scrub Tape, Granular Tilt, Synth Tour, Pluck Bowl |
| Camera / room | Shadow Sequencer, Video Sonifier, Room Reverb Send |
| Mapping design | Mapping Roulette, Motion Filter, Pinch Bass |
| ML showcase | Train Shake, Hum Clap, Evo Drumkit, Gesture Regression |
Full tables: App catalog.
- Large touch targets; centre record buttons are ~5 cm on most phones.
- Train & Shake classes can be relabelled (e.g. phone low / mid / high).
- Sequencers and live readouts give visual feedback; Firefly flashes on pulse.
| Problem | Fix |
|---|---|
| Mic/camera/motion blocked | Safari (iOS) or Chrome (Android); not an in-app browser |
| No sound | Audio on; tap play surface; check mute switch (iOS) |
| Shepard stops while held | Reload page (cache update); keep finger on pad, not edge |
| Motion flat | Reload; iOS Settings → Safari → Motion & Orientation |
| Out of sync | Conductor shared link; expect ~50–100 ms spread without a server |
| Harsh room | Lower volume; fewer distortion / shake players |
- Map FM Touch or Motion Filter → Ladder to oscillator → filter → output. Where is the sensor in the chain?
- Why is k-NN (Hum Clap, Train Shake) a form of supervised learning?
- Compare Granular Tilt (cloud texture) to Pluck Bowl (resonant strikes): ambient vs rhythmic roles?
- Kaoss Pad: how does quantizing pitch on X differ from free pitch on Mic Theremin?
- Sampler / Scrub Tape: what is stored in the audio buffer, and what does scrubbing change?