Trane: Musical Janet on the Web
summary
Trane is a browser-based live‑coding DSL written in Janet (≈1MB, compiles to WebAssembly) that wires synths, effects and scopes into chains, exposes module visualization and twistable knobs, and sequences well‑timed events with named live Loops. It implements wiring primitives, compile‑time checks that refuse bad connections, LFO → oscillator frequency modulation, pattern and chord/scale generators, seeded randomness, and a measure‑syncing API; demos run live though a few UI/behavior bugs remain.
AI-written summary · about
chapters (17)
- 0:00Trane and live coding music
- 3:08Live sound manipulation demo
- 4:11Trane’s Janet foundation
- 4:33Turtle graphics in Janet
- 5:16Trane’s two-part language
- 6:20Live loops timing and sound
- 7:25Wiring modules and errors
- 8:55Frequency modulation in Trane
- 9:37Live loops for music
- 11:04Dynamic loop parameters
- 12:10Scales and harmonic patterns
- 14:00Drum patterns and sequencing
- 15:25Ukulele rhythms and randomness
- 17:14Randomness and loop sync
- 18:39Trane resources
- 19:41Q&A: Trane motivation
- 20:23Q&A: Janet macros
related talks
04h 20mWeft—Enabling Tidal on the Web
40mLiveJS: Making Music with JavaScript
33mWe ❤ Music & the Web
30mJavaScript Patterns For Contemporary Dance Music
23mAccelerating Musical Live Coding With On-Device AI
33m{ Live : JS }
30mBuilding a musical instrument with the Web Audio API
42mSounds of Structure - Music Modelling with ADT's
