A workshop on how to typeset scores with Lilypond
Sheet music is perhaps the ultimate domain-specific language, but isn’t really accessible to programmers. It hardly has any curly brackets, and they don’t even match! This workshop for non-musicians demystifies musical notation by showing you how to generate it from a Scheme-based DSL, called Lilypond, which looks much more like a ‘normal’ programming language.
During this workshop you will learn the basic Lilypond syntax, starting with note pitches, durations and lyrics. You’ll use this to generate music as PDF that you can print, and MIDI files that you can listen to. This will be based on simple and familiar examples, starting with the world’s most recognisable tune. You’ll also learn how Lilypond separates content from presentation, and how its automatic layout creates professional print-quality results.