The Key object has a root parameter; that's why middle c is 0. You
can set 0 to be anything you want, just use s.key.root = #. To set
middle C as 60, just do s.key.root = s.key.note2freq(-60).
I'm also in favor of standards, but as my notes can cover a range
bigger than 0-127, and take fractional values, I'm not sure MIDI is
appropriate. I'm unaware of any standards that would fit my
requirements, but if someone else is, please let me know. It might be
a good idea to set a default root such that 60 = middle C; I'll think
about this. But regardless, "0" won't represent the same note
everywhere.
Another complication is that an octave doesn't always have 12 tones.
You can set the tuning for harmonic major/minor (7 tones), or anything
else you want. I seem to remember there being some interesting Indian
scales that have 15 or 16 notes per octave. One thing this means is
that note 0 : note 1 :: note 1 : note 2 doesn't always hold. But
since the default is equal temperament, I will consider setting the
default root such that those who are used to MIDI will be least
surprised. Though that would make the other functionality of Key more
surprising, so I'm not sure yet. One of the design goals with this
entire system is that physical constraints (your sound card's sample
rate and the accuracy and range of IEEE floating-point arithmetic)
should be the only constraints keeping you from being as exact as you
want to be. In many cases this means that the MIDI standard must be
discarded.
But being able to communicate with other stuff (including a MIDI-wired
brain :-) is also important. At some point I would like to create a
module that translates midi key on/off controls to the system I have
set up here, but that's nontrivial given the fact that controls
(likely) come from a standard keyboard, which has a certain
physicality that annoyingly conflicts with the concept of differing
numbers of notes per octave.
Evan
On Mon, Jul 19, 2010 at 12:13 PM, Harry Van Haaren
<harryhaaren(a)gmail.com> wrote:
On Mon, Jul 19, 2010 at 8:06 PM, Bernardo Barros <bernardobarros2(a)gmail.com>
wrote:
At least for me it would be easier to think as c = 0
c = 0
c' = 12
c, = -12
c'' = 24
c,, = -24
because most of the notes in a regular score is mostly like to happen
in the middle and things looks simpler that way. UNLESS you're already
familiar with all kind of notes with MIDI number notation.
Hey,
Yes I was referring to the MIDI standard there.. Should have mentioned
that..
There's no "rule" telling you you should do it differently, I'm
expressing
my opinion that
for me it would seem more logical to have middle C at 60.
-Harry