Announcing Alda 2

I’m excited to announce the release of Alda 2.0.0! This new version of Alda is a from-the-ground-up rewrite that I’ve been working on since late 2018, and I couldn’t be happier to finally share it with the world.

Despite the shiny new version number, at a language level, Alda 2 is almost exactly the same as the Alda that you’re used to. I have sampled scores from the wild and taken great care to ensure that they are treated the same way by Alda 1 and Alda 2. I even wrote a comparison tool and ran it on a number of Alda scores that I found on GitHub, and it helped me to find and fix some bugs and inconsistencies. As a result, I can say with confidence that your Alda scores should still parse successfully and sound exactly the same as they did with Alda 1.

One notable breaking change is that, because Alda is no longer written in Clojure, Alda no longer supports inline Clojure code, and the attribute syntax is different in a couple of places. I’ve written an Alda 2 migration guide with details about what has changed and what to expect.

Here’s a quick summary:

What’s new?

What’s changed?

Try it out!

If you haven’t installed Alda yet, you can get the latest version by following the instructions on the Alda website.

If you have Alda 1 installed, you can upgrade to Alda 2 by running alda update twice. (The first time will install the last release in the 1.x series, and the second time will install the latest 2.x release.)

After installing Alda 2, give these commands a try:

alda version
alda --help
alda doctor
alda play -c "piano: c8 d e f | d+2/f+/b32 > c+16. < b8 a+ g+ | c+2/e+/f+"

I hope you enjoy the next generation of Alda, and that you’re as excited as I am about the future. Please join our Slack group and let us know what you think of Alda 2. I’d love to hear your thoughts!

Finally, I should mention that if you enjoy my work on Alda, you can support me and sustain the ongoing development of Alda by becoming a sponsor.

Have fun!

Comments?

Reply to this tweet with any comments, questions, etc.!