On Wednesday 11 December 2002 12.06, Steve Harris wrote: > On Wed, Dec 11, 2002 at 01:26:01 +0100, David Olofson wrote: > > You're missing that I'm not talking about 1.0/octave, linear > > pitch, but <something>/note, *note* pitch. That means > > <something>/note should *always* apply, and that <something> > > should be constant. Changing it is totally pointless, since you'd > > still have note pitch. > > > > Changing the "size" of one note is about as silly as changing the > > "size" of one octave; that's my whole point. (1/12)/note for note > > pitch *is* just as silly as 12.0/octave for linear pitch. > > Well, only if you regard a note as a first class object (I dont).
I do, definitely. It's the *only* logical reference to anything in a scale, since you may not even have octaves. (BTW, this applies to the the tuning of most grands. Lower octaves are tweaked downwards, while higher octaves are tweaked upwards. Not 100% sure why, but I suspect it has to do with the overtone spectra for low notes. At least, that seems to be why some phatt synth/techno bass sounds don't sound right if you play them at the "correct" pitch.) > (1/12)/note makes more sense because theres /is/ someting very 12ey > about 12tET notes (the clues in the name ;), whereas there is > nothing 12ey about octaves. At all. There is nothing 12ey *at all* about notes if you're into 16t... So, 1.0/note makes sense, (1/12)/note does *not*. :-) > > Some plugins think in 1.0/note, and others in 1.0/octave. If you > > want to connect them, you'll need "something" that expresses > > 1.0/note as 1.0/octave according to your scale of choice. Just as > > if you were going to connect a MIDI controller to a CV synth. > > Just for the record I do think that having a note representation in > the API is wrong, but I'm letting it slide. I guess I'l never write > any code to support it anyway. I would have agreed with you a while ago, but I think the VST guys have a point. Why would you *force* harmonizers, autocomp "machines" and the like to think in terms of linear pitch? I personally think in semitones rather than musical scales when I compose and arrange (0-4-7, 0-3-7 etc; tracker arpeggio remember? :-), but I would think that classical tone/scale based theory is pretty deeply rooted in most musicians/coders. So, I'm afraid the general reaction to an API that doesn't understand that concept would be something like this: "Huh? Not aware of *notes*!? Useless for music!" Either way, I *do* see advantages in being able to say whether you're only interested in actual pitch, or "virtual tones in a scale of the user's choice." For example, that avoids having to re-record or edit everything just because you decide to change from 12tET to some other 12t tuning. And finally, you *can* tell the host that you want 1 note/octave, and use 1.0/octave throughout. No special support needed for that. (Well, expect that hosts that like to nag about control hint incompatibilities would have to be told that 1 note/octave and 1.0/octave are "compatible enough" for implicit casting.) //David Olofson - Programmer, Composer, Open Source Advocate .- The Return of Audiality! --------------------------------. | Free/Open Source Audio Engine for use in Games or Studio. | | RT and off-line synth. Scripting. Sample accurate timing. | `---------------------------> http://olofson.net/audiality -' .- M A I A -------------------------------------------------. | The Multimedia Application Integration Architecture | `----------------------------> http://www.linuxdj.com/maia -' --- http://olofson.net --- http://www.reologica.se ---