From: Roger Dannenberg <rbd@cs...> - 2008-06-11 14:00:00
I just got my digest with lots of traffic on tuning.
One thing I can add is that Nyquist is pretty agnostic about tuning. Of
course you have to have a measurement system. Tuning people often use
cents. Nyquist uses Hz and Steps. But Nyquist doesn't tell you what
*values* to pass as parameters. E.g. you can write (OSC 64) in C-major
and get an equal-tempered third (E4) based on A440, but you can also
write (OSC 63.86) to get an E that's 14 cents flatter, approximately a
just third. Or, you can write
(OSC (HZ-TO-STEP (* (/ 5.0 4.0) (STEP-TO-HZ C4))))
to get a 5/4 frequency ratio relative to C4 -- a more exact way to
specify a just third.
You can also redefine all the global step values (..., C4, CS4, DF4, D4,
DS4, EF4, ...) to values of your choosing. E.g. you could write a
function JUST-TUNING-IN-THE-KEY-OF that takes some parameter indicating
the key and redefines all the globals. (Not recommended if you are going
to change keys in the middle of some audio computation.) Nyquist already
has a function to allow you to retune these globals to equal temperament
using some base other than A440.
If you use the score functions to create and manipulate scores before
synthesizing them, there are mapping functions that would allow you to
map equal-tempered pitch specifications to some other tuning.
One weakness in all this is that Nyquist represents pitch/frequency with
numbers, whereas traditional music notation makes a distinction between
sharps and flats.
PS Thanks for passing along the reference to PC World's best 100
products list with Audacity at #98!
Get latest updates about Open Source Projects, Conferences and News.