3 ms·
This is pretty neat. But I found it quickly getting very hard to read towards the bottom. I feel if there's a computer interpreting some sort of language, that
by ant6n 11y ago
This is pretty neat. But I found it quickly getting very hard to read towards the bottom.
I feel if there's a computer interpreting some sort of language, that it should have a built in notion of the circle of fifths -- why should I give the computer absolute notes, when everything in music is so relative. Maybe viewing the notes in terms of do,re,mi would make sense, within the context of being in some key; then jumping to another key (like the dominant, or the minor version of the current key). Computers make computation cheap, which means it should be easy to think in terms of abstractions (that's how musicians think about music, then unwind those abstractions into absolute notes when writing the music down).
But then I look at the current syntax, how it attempts to be extremely compact, and worry that it won't be possible to extend to better abstractions very well.
- daveyarwood 11y agoI think this is a key thing to notice about Alda. It doesn't attempt to provide abstractions for things like keys, scales, or even measures and time signatures. It's more like writing Markdown: you already know what you want to write; it just gives you a way to represent it in a compact way and turn it into something you can hear back without having to reason too much about what you've written. I want Alda to be as close as possible to a sheet of staff paper that you can write notes on. MML is a very similar language in this regard. The idea is that it's up to the composer to write down the exact notes he/she wants, exactly how he/she wants them. I realize this is disappointing if you're looking for something with more abstractions, but on the bright side, I think there are some great languages out there that do exactly that. If you haven't already, have a look at Music-Suite ( http://music-suite.github.io/docs/ref http://music-suite.github.io/docs/ref ) and Overtone ( http://overtone.github.io http://overtone.github.io ), along with the Leipzig library, which adds functional programming abstractions for use with Overtone ( https://github.com/ctford/leipzig https://github.com/ctford/leipzig )
- desunit 11y agoI agree. Recently we have started the project where we are trying to allow musicians to experiment with different chords & styles (http://www.songtive.com/songs/new http://www.songtive.com/songs/new) and displaying relative chords is one of upcoming features.