Program Synthesis for Musicians: A Usability Testbed for Temporal Logic Specifications
summary
Builds a browser-based tool, The SynthSynthesizer, that parses dropdown or written temporal-stream-logic specs into logical formulas, runs reactive synthesis inside a dockerized toolchain, and emits JavaScript that controls an audio synthesizer. It prototypes three interfaces — TSL alpha, TSL beta, TSL full — and runs a 27-participant usability study showing split preferences (alpha is simple, beta balances power and clarity, full is expressive but intimidating). Interfaces plug in as files so researchers swap grammars and rerun studies without touching synthesis internals.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 0:14What is Reactive Synthesis
- 0:31Example of Reactive Synthesis
- 1:32Reactive Synthesis
- 2:07The Problem with Reactive Synthesis
- 2:48The Synthetic Synth
- 3:42Interfaces
- 5:23Synthesis Procedures
- 6:32Usability Study
- 8:42Summary
related talks
25mExploratory Study on Multi-User Program Synthesis: A Multi-Wizard Approach
31mBuilding a JavaScript Video Synthesizer for Live Performance
30mBuilding a musical instrument with the Web Audio API
43mProgramming Music with Overtone
37mHow to code music?
22mWrite your own modular synthesizer in Golang
49mMom, I built a synthesizer in my browser! 😱 🎹 🎵
40mLiveJS: Making Music with JavaScript
