~/talk

Songwriting in Scala: Creating a DSL for writing Music with ADT's

Talkat Scala.IO 2024 - Nantes · 2024-02-15..02-16· [creative-coding]
links:none on file
slides:none on file

Claims that Scala can model and produce music using ADTs and a small DSL, implemented by compiling to Scala.js + tone.js and wrapping the JavaScript Web Audio API; velocity is discretized into 8 velocity buckets to avoid illegal states; models include Note, Melody, Harmony, Drum, Song and builder methods for readable one‑liner composition; a web audio app is live‑coded and a short multivoice song is played (with a few hiccups) demonstrating the DSL and live‑code and played a song approach.

AI-written summary · about

  1. 0:00Songwriting in Scala
  2. 1:04Modeling music with ADTs
  3. 7:03What is an ADT?
  4. 10:12Evolving the musical model
  5. 14:13Safe note properties
  6. 18:28Type-safe velocity
  7. 20:56Readable musical DSL
  8. 27:13Structuring a song
  9. 28:59Live demo: composing
  10. 39:49Summary & Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.