On Wednesday 11 December 2002 4:29 pm, David Olofson wrote: > On Wednesday 11 December 2002 13.59, David Gerard Matthews wrote: > > Steve Harris wrote: > > >On Wed, Dec 11, 2002 at 12:40:18 +0000, Nathaniel Virgo wrote: > > >>I can't really say I can think of a better way though. > > >> Personally I'd leave scales out of the API and let the host deal > > >> with it, sticking to 1.0/octave throughout, but I can see the > > >> advantages of this as well. > > > > > >We could put it to a vote ;) > > > > > >- Steve > > > > I vote 1.0/octave. > > So do I, definitely. > > There has never been an argument about <something>/octave, and there > no longer is an argument about 1.0/octave. > > The "argument" is about whether or not we should have a scale related > pitch control type *as well*. It's really more of a hint than an > actual data type, as you could just assume "1tET" and use both as > 1.0/octave.
I don't think that should be permitted. I think that this case should be handled by a trivial scale converter that does nothing. No synth should be allowed to take a note_pitch input, and nothing except a scale converter should be allowed to assume any particular meaning for a note_pitch input. If you have an algorithm that needs to know something about the actual pitch rather than position on a scale then it should operate on linear_pitch instead. I think that in this scheme note_pitch and linear_pitch are two completely different things and shouldn't be interchangeable. That way you can enforce the correct order of operations: Sequencer | | note_pitch signal | V scaled pitch bend (eg +/- 2 tones) / arpeggiator / shift along scale / other scale-related effects | | note_pitch signal | V scale converter (could be trivial) | | linear_pitch signal | V portamento / vibrato / relative-pitch arpeggiator / interval-preserving transpose / other frequency-related effects | | linear_pitch signal | V synth That way anyone who doesn't want to worry about notes and scales can just always work in linear_pitch and know they'll never see anything else. > The need for 1.0/note or similar arrise when you want to work with > something like 12t without deciding on the exact tuning, and also > when you want to write "simple" event processor plugins that think it > terms of notes rather than actual pitch. > > > //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 ---