Video summary

LilyPond, Coding, & The Future of Music Education

Main summary

Key takeaways

Educational

Summary

The presenter argues that music and arts education are being squeezed as schools place increasing emphasis on STEM and programming. Citing estimates that millions of U.S. children lack access to music education and that fewer than half of Ontario primary schools have a music teacher, the presenter says the decline has been especially troubling since the pandemic. They also describe conversations with parents and school administrators who report that some schools offer no arts programs.

The video proposes that text-based music notation—particularly LilyPond—could help connect music education with programming. The goal is not to replace music teachers or make every student a programmer, but to explore practical, creative projects that bring music and coding together. The presenter encourages musicians and programmers to collaborate, noting that their own programming skills are limited.

LilyPond and automated transposition

LilyPond stores notation as text, so its contents can be manipulated with code. The presenter demonstrates a small Python program that uses LilyPond’s built-in transposition function to change a score’s key. Compared with using a traditional notation application, this could make routine changes quicker and potentially easier to perform online or from the command line.

The basic process is:

  1. Write or prepare a score in LilyPond’s text format:
    • Notes are represented by letters.
    • Numbers indicate note durations.
    • Lines can represent measures.
  2. Use LilyPond’s transposition function to specify the desired key.
  3. Use a Python script to accept the transposition as input and produce a new LilyPond file.
  4. Extend the script to handle additional options, such as:
    • Changing the melody’s octave.
    • Including or excluding lyrics.
    • Transposing chord symbols along with the notes.

The presenter tests the approach on the jazz standard “Stardust.” Because LilyPond handles chord changes separately from the melody, the chords must also be included in the transposition operation. The same approach can then customize the key, octave, and lyrics of the arrangement.

The prototype has some limitations: the LilyPond file needs to be arranged in a particular structure, and the web version is described as slow and clunky. The presenter shares a GitHub project and a web-app prototype, inviting others to suggest improvements or contribute to the open-source work.

Further possibilities

The presenter suggests other projects that could combine programming and music learning:

  • A musical-exercise generator that creates exercises from a chosen scale or mode.
  • A tool that generates exercises from chord progressions.
  • Converters between standard notation and tablature.
  • A converter that could migrate old Power Tab files into LilyPond, making a collection of guitar materials accessible through a free tool.

LilyPond is the presenter’s main focus, but they note that other text-based notation systems, such as ABC, might also be suitable. The video closes by asking whether tools like these could support music education and inviting suggestions and collaboration.

Speakers and sources featured

  • Speaker: One unnamed presenter/narrator. No other speakers are heard in the subtitles.
  • Sources and references mentioned:
    • Unspecified estimates about access to music education in the United States and Ontario.
    • Ontario government curriculum changes in 2022, including mandatory programming classes from grades 1–9.
    • The presenter’s conversations with parents, friends, family members, clients, and local school administrators.
    • LilyPond, Python, and Git.
    • MuseScore, Hacklily, and Batchable.
    • The jazz standard “Stardust” by Hoagy Carmichael.
    • Power Tab, Guitar Pro, Ultimate Guitar, and ABC notation.

Rate this summary

Your feedback will help improve summaries.

Improve this summary

Reprocess with a stronger model when the summary feels incomplete or inaccurate.

Pro

Translate summary in another language

Pro

Ask questions to this video

Chat for follow-up questions, clarifications, and source-backed answers.

Coming soon

Share this summary

Original video