Pure Intonation on Browser: Building a Sequencer with Ruby
summary
Purified Synth is a browser-based sequencer and subtractive synth implemented with Ruby/WASM + Web Audio API that plays pure-intonation microtonal chords using Shasaf-style lattices (1.5× and 1.25× axes) and a chord editor plus multi-track and drum-pattern sequencers. Implementation maps AudioNodes one-to-one to Ruby wrappers and uses the `js` gem proxy for JS objects. It runs in the browser but exposes a real bug: nested JS→Ruby→JS exceptions turn into fatal errors. The UI and MIDI controller demo render and play in the page.
AI-written summary · about
chapters (21)
- 0:00Introduction and speaker
- 1:16Project overview
- 2:52Features of Purified Synth
- 3:59Music theory basics
- 5:50Pure intonation explained
- 7:25Shasaf-style music theory
- 10:48Chord diagrams and lattices
- 12:20Why build a sequencer
- 13:12Ruby/WASM introduction
- 13:55Web Audio API basics
- 15:46Architecture with Web Audio
- 17:12AudioParam and automation
- 19:09JSObject and Ruby bridge
- 21:04Method invocation details
- 22:32Type conversion pitfalls
- 23:18Calling Ruby from JavaScript
- 24:25Bidirectional method calls
- 25:12Exception handling limits
- 26:42Efficiency considerations
- 27:23Best practices summary
- 28:07Closing and demo teaser
related talks
51mMaking Music with Ruby: Patterns, Context, Fun
33mWriting Music with Ruby: A subtle introduction to music theory
26mRuby patterns for contemporary dance music
43mMy Ruby is a Paintbrush. My Ruby is a Synth.
33mThe musical Ruby
21mLive Coding Music with Ruby
13mMaking music with Ruby and Sonic Pi
31mIt's so quiet. Let's make music.
