[LAD] Internally representing pitch : A new approach

James Morris jwm.art.net at gmail.com
Sun Oct 2 21:23:30 UTC 2011


On 2 October 2011 14:18,  <harryhaaren at gmail.com> wrote:
> Hey Everybody,
>
> I've been thinking about the "best" way to represent tonality & pitch in
> software. AFAIK most software implements thier "internal workings" as MIDI
> messages. This seems a clean easy solution, pass around 3 values and the
> whole Engine is sorted. But what if one wants to expand on the possibilities
> of MIDI, and not confine oneself to the 127 notes that are available, but
> rather allow the use of *any* tuning, pitch or scale.


Although it doesn't use Scala or allow user defined tunings, I'm just
writing to mention that MX44.2 has a number of alternative tunings to
equal temperament.  As I'm not a musician I'll have to let a snippet
of code defining tooltip strings to do all the talking:

static const char *temp_tips [] = {
        " Even Tempered (Hammond Tonewheel) ",
        " Well Tempered (Werckmeister IV) ",
        " Mean Tone (Italian Renaisance Cembalo) ",
        " Natural Open D (Modern Indian Shruti) "
};

static const char *shruti_tips [] = {
        " pythagorean limma | minor diatonic semitone (ri)",
        " minor- | major whole tone (RI)",
        " pythagorean- | just minor third (ga)",
        " just- | pythagorean major third (GA)",
        " perfect- | acute fourth (MA)",
        " just- | pythagorean tritonus (ma)",
        " pythagorean- | just minor sixth (da)",
        " just- | pythagorean major sixth (DA)",
        " pythagorean- | just minor seventh (ni)",
        " just- | pythagorean major seventh (NI)"
};


Cheers,
James.



More information about the Linux-audio-dev mailing list