Chris Cannam wrote:
> Rosegarden currently stores the pitch of a note using MIDI values,
> [...]
> each note stores an optional accidental, used only to determine how
> to draw the note on the staff (i.e. the pitch value alone determines
> its performed pitch at the moment).
>
> Tunings that do not fit into this system appear to me to fall into
> three categories:
> [...]
> There are surely big dependencies here on how people actually want
> to write and manipulate these scales, too.  Since my understanding
> is very limited, I'd ideally like to be able to come up with some
> magic solution that was very simple and general so that I didn't
> suddenly find I'd missed something very important later -- but I'm
> not sure that's entirely possible.

AFAICS what all scales have in common is that they have a distinct
number of pitch values (often more than 12 per octave), and that the
pitch value of a note can be determined by the position of the note on
the staff, together with its accidental(s).

(Here, my meaning of "pitch value" is very similar to that of "MIDI
note value", i.e., it uniquely identifies a frequency at which the
note is to be played.)

The actual number of pitch values (per octave?), the mapping between
pitch values and staff positions/accidentals (both ways?), and the
mapping of pitch values to frequencies all can be different, so IMHO
these would be the data structures and algorithms that would have to
be customizable.


> I took a look at Scala, which is a tool for calculating and setting
> tunings.  The problem with it (from our perspective) is that it's
> _too_ simple and flexible: it represents a scale as simply a set
> of tunings per octave, without any information about which notes
> are which (for example, as far as it's concerned the default MIDI
> tuning consists of 12 equal semitones and nothing more, whereas to
> represent and edit that we still need to know that certain notes
> are "in scale" and others have accidentals, etc).

I guess Scala acts this way because a set of 12 tuning values is what
most MIDI synthesizers actually support when it comes to customizing
tuning. (It's defined in the GM2, GS and XG standards, with a
difference of no more than -64/+63 cents from equal temperament.)

Another standard is the "MIDI Tuning Standard" which lets you assign
pretty much any frequency to each of the 128 MIDI note values, but
this isn't widely supported.


Regards,
Clemens




-------------------------------------------------------
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
_______________________________________________
Rosegarden-devel mailing list
[EMAIL PROTECTED] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to