"Building a Music Theory API with Types"
summary
Builds a concrete music‑theory API in Elm that encodes notes as a note record (name, accidental, octave), maps letter names (7) and keyboard half‑steps (12) to integers, and uses modular arithmetic to compute interval size and interval quality (major/minor/etc.). Renders notes to SVG and a piano keyboard, drills flashcards and triads, and performs reverse analysis and generation. Demo app is live and cross‑device; initial accessibility quirks are acknowledged. Shows implemented functions, data types, and working prototypes used with students.
AI-written summary · about
chapters (9)
- 0:00Career change and motivation
- 0:52Developing the note app
- 2:37Prototype and feedback loop
- 5:23Musical pattern recognition
- 8:26Implementing intervals
- 12:37Note quality and accidentals
- 15:47Advanced interval arithmetic
- 20:47Building musical triads
- 22:13Future goals and conclusion
related talks
14mTaming the Guitar AND Functional Programming!
36mCommunicating in Types
47mCommunicating in Types
51mAdventures in Elm
39mCommunicating in Types
44mA Deep Dive Into Advanced Typescript: A Live Coding Expedition
25mMaking Impossible States Impossible
25mLeveraging (algebraic data) types to make your UI rock solid
