
Music programming language Alda gets new features - daveyarwood
http://daveyarwood.github.io/alda/2015/11/28/alda-has-a-bunch-of-new-features/
======
brudgers
Related: Scott Hanselman interviews Matthew Cannon about making music with the
SID...and C64 game programming magic in general.

[http://www.hanselminutes.com/498/sid-chips-and-c64-music-
wit...](http://www.hanselminutes.com/498/sid-chips-and-c64-music-with-ocean-
softwares-matthew-cannon)

~~~
bitJericho
Thanks for this. Matthew Cannon wrote one of my favorite songs, Megamusic.
[http://csdb.dk/sid/?id=5626](http://csdb.dk/sid/?id=5626)

------
coliveira
This doesn't seem much different from Lilypond. While most of Lilypond is
related to typesetting, programming can be easily done in Common Lisp, with
full access the TeX engine behind the implementation.

------
timlyo
Does anyone know how this compares to ChucK?

[https://en.wikipedia.org/wiki/ChucK](https://en.wikipedia.org/wiki/ChucK)

~~~
jimm
They are very different beasts, even setting aside the syntax. ChucK is geared
towards (musical) audio signal generation, with modules for wave generation,
filtering, delay, etc. It also can generate notes, but the support for doing
so is fairly low level when I last looked at ChucK. Alda is more geared
towards generating note data (pitch, duration, amplitude) that gets fed into
sound generation gear or software.

------
mwhuang2
I translated a piano score from Haydn using Alda a while back:

[https://github.com/mwhuang2/Haydn](https://github.com/mwhuang2/Haydn)

Nice to see new features being added. I might do some more pieces in the
future.

------
sitkack
This is excellent. Keep up the good work and please give a talk at the next
Clojure Conj!

Any plans to use Alda in your recorded music?

------
sytelus
Something very similar is already available and it's called ABC Notation:
[http://abcnotation.com/](http://abcnotation.com/). There are tons of
contributors for this. People have wrote about half million tunes in ABC. I
would suggest OP creates cross-compiler from ABC to Alda. Or may be make Alda
backward compatible with ABC. Or may be just contribute to ABC :).

~~~
david-given
ABC isn't a programming language, it's just notation. Alda's actually a
programming language (I think it's implemented as a macro set on top of
Clojure?); you can write arbitrary code in it to generate music
programmatically.

Back in the 80s there was a synthesiser addon for the BBC Micro called the
Music 5000 that had a similar programming language, this one Forth based; it
was called AMPLE:

[http://www.colinfraser.com/m5000/m5000.htm](http://www.colinfraser.com/m5000/m5000.htm)

Looks like none of the demo tracks have made it to Youtube, but there are some
on that site. Classic old-school warm OPL sound.

~~~
baldfat
> (I think it's implemented as a macro set on top of Clojure?)

When I see this I feel the need to ask: Shouldn't this have been built on
Racket? Lisp family languages are great for these things but Racket was made
specifically for building languages.

~~~
SpaceCadetJones
I don't know much about the project, but it may have been done in Clojure as
the author works a lot with it/writes about it. I haven't come across anything
about Racket from him.

~~~
baldfat
No he wrote it on Clojure and my point is Racket (Close cousin) would have
been a better choice since Racket is made for making languages like these.

