clock menu more-arrow no yes

Filed under:

Alda is a command line notation tool for musical masochists

Alda / Dave Yarwood

Some people just like making things difficult for themselves. Although the music world is full of software that can transcribe anything from solo singers to full orchestras into sheet music, one programmer-slash-musician has created a new open-source tool named Alda that uses a command line interface to write music. This means you notate a melody as a stream of letters and characters, adding numbers after the letters to indicate the length of notes. For example, the opening phrase of the nursery rhyme "Baa, Baa, Black Sheep" would be rendered as g4 g > d4 d e8 e e e d4 r4 in Alda. (Once the length of a note has been changed, it stays the same; the ">" represents a change in the octave, and the "r" is a rest.)

"Pleasantly distraction-free."

To most people with a passing knowledge of music, this looks more complicated than ordinary notation, but Alda's creator Dave Yarwood says the intent is to remove the complications of graphical user interfaces. "I think for a composer to have an ideal environment in which to compose, he needs to get back to the basics. He needs a blank canvas and a way to notate music," writes Yarwood in his introduction to Alda. "In contrast to working with [...] complex GUI applications, I have found that programming pieces of music in a text editor is a pleasantly distraction-free experience."

Some examples of traditional notation with the same notes rendered in Alda below. (Dave Yarwood)

This is a similar concept to gadgets like the Hemingwrite (a stripped-down electric typewriter with six weeks' battery life and cloud backup), although Yarwood says he's working to develop Alda into something more powerful. There are a lot of audio programming languages out there, and at the moment, Alda is basically a markup language — replacing traditional notation with characters, symbols, and letters, rather than implementing full-bodied code.

In comments left on Hacker News, Yarwood says he plans to add more functionality like the ability to generate loops and other patterns, as well as incorporate an array of synthesizers (the program currently uses MIDI to turn the notation into actual audio patterns). But at the moment, Yardwood says he's happy with sticking to the basic: "Alda prioritizes aesthetics and simplicity over being a Turing-complete language that lets you do everything you want."