[Tutor] Musical Pitch
kp8 at mac.com
Tue Feb 24 03:47:26 EST 2004
Hi all.... I am here once again seeking some advice... You see i do
lots of stuff with music (and python) and i am starting to think that
there may be a better way of dealing with musical pitch. One problem is
that there are a lot of different ways to represent a note and
sometimes you want one and other times you need another representation,
and more often than not, you need ways of moving fluidly between the
two. So far i have just been sort of making things up as i go along,
making huge silly lists or dictionaries. In order to spare the list
some bandwidth i'll just post a URL showing the type of monstrous
kludgy constructs i have been using:
But i am wondering if maybe it is time for me to take another (possibly
OO ? gasp!) oriented approach or just build a pitch module that i can
import and reuse.
Here are some possible representations just to give you a taste of what
i am up against (here i am talking 12 tone equal temperament, i have
other tools i use for dealing with tuning ratios)
1. Old fashioned letter names : A4 (C#3, and the like)
2. Frequencies in Hz : 440.00
3. MIDI note numbers: 69
4. Octave point pitch-class: 8.09 (middle c = 8.00, there are 12 pitch
classes in an octave, 8.12 would = 9.00)
5. Octave point decimal : 8.75 (middle c = 8.00, but now the
pitch-class continuum is 100/12 (8.333..) * number of half steps. An
octave run of which would look something like this:
So in all, 5 different representations of pitch....
Then there would be a slew of modulo 12 operations that maybe could be
functions or methods if i decide to get fancy such as transposition,
inversion, reducing to 1 oct range, compliment, pitch mapping.... etc.
All of which i hope to build up over time....
so... I am wondering:
1. anyone already have something like this hacked together?
2. anyone bored and want to take a whack helping me get started?
Or even just suggest some possible paths?
More information about the Tutor