alda-lang / alda

A music programming language for musicians. :notes:
https://alda.io
Eclipse Public License 2.0
5.59k stars 286 forks source link

Support karnatic music notation #390

Closed snambi closed 3 years ago

snambi commented 3 years ago

🔧 Feature request 🔧

Description

Carnantic/Tamil/Indian musicians mostly use "Sa, Ri, Ga, Ma, Pa, Da, Ni" as the swarams. Usually written using the english letters S, R, G, M, P, D, N.

Examples

For Indian music it is easier to apply "S, R, G" etc as it is , without translating them to C, D,E etc.

Motivation

Enabling Carnatic music to be played directly from the Alda.

Alternatives

It is a simple mapping of "C --> S" and so on.

daveyarwood commented 3 years ago

Hi @snambi , thanks for the feature request! I can see how this would make it easier to transcribe Carnatic music into an Alda score.

I think rather than supporting this directly in Alda, this would be a good use case for a pre-processor. You could write a program that takes an input file where notes are written like s4 r8 g m p d n > s1, and prints the same score, but in valid Alda (e.g. c4 d8 e f g a b > c1.

Then you could easily play those scores with a command like alda play -f <(carnatic-preprocessor my-score.calda).


Having said all of that, I would like to implement https://github.com/alda-lang/alda/issues/343 at some point, and I think that has potential to support something like this as a bonus. One of the things that people would like to do with Alda is to write microtonal music, where an octave isn't necessarily divided into 12 notes like in traditional Western music. One issue that needs to be addressed there is, what do we call the notes? c c+ d d+ e f f+ g g+ a works for 12TET, but what if you wanted to write a piece of music in something weird like 17TET or 24TET? I think one way we could address this is to allow the user to define, in some way, which characters are used for which pitches. If we had that functionality, a bonus benefit is that you could define your scale in terms of the S R G M P D N notes used in Carnatic music.

It's probably going to be a while before we get to implementing that - there are challenges to implementing microtonal music in MIDI - see #343. So this would be a longer term solution.

In the short term, I would suggest the pre-processor approach.

daveyarwood commented 3 years ago

Closing this for now, as I do not plan to add explicit support to Alda for Carnatic music notation.