[linux-audio-dev] XAP: Pitch control

Steve Harris S.W.Harris at ecs.soton.ac.uk
Tue Dec 10 07:21:01 UTC 2002


On Tue, Dec 10, 2002 at 01:13:26 +0100, David Olofson wrote:
> Then you're missing the point. My 12.0/octave linear_pitch is 
> *exactly* the same thing as your 1.0 - except that it's 12.0 instead 
> of 1.0. (See previous post.)

Yeah, and thats why its bad.
 
> > They will as long as you dont try to enforce note numbering in the
> > API.
> 
> No note numbering is enforced. It's just that there's this stupid 
> 12.0 factor instead of 1.0... :-/

Oh, you noticed that ;)
 
> > Complex tunings wont map to note numbering in any useful way
> > anyway.
> 
> Yes, they will. Who said 1.0/tone implies that there is an integer 
> number of tones/octave, or even that the tuning repeats for every 
> octave? Either way, it doesn't matter to synths anyway, since they 
> don't care about numbering anyway.

Well they do because you're making them deal with a factor of 12. For no
good reason.
 
> > If you just represent pitch, then I can create a virtual
> > instrument (connected to a physical one if neccesary) that can
> > create the right pitches for the scale (or be analogue).
> 
> I *am* suggesting to represent pitch; just that it is expressed as 
> 12.0/octave instead of 1.0/octave, to eliminate all conversions in 
> 12tET systems.

But it doesn't, it increases thee number of conversions. There are more
times when you care about octaves than where you care about making the
12tET note number to pitch mapping *very slightly* easier.

If you allow host writers to assume that note->pitch mapping is as easy
as casting then they will! Therefore, no interesting scale support, you
may as well have dropped all pretense at supporting pure pitch.
 
> > I think this is better for unusual tunings, and it doesnt hurt the
> > 12tET case.
> 
> It *does* hurt the 12tET case, at least unless you're suggesting that 
> sequencers should always store 1.0/octave...?

I thought sequencers were going to send note numbers?
 
> Well, that's exactly why I want to avoid it entirely, by working in 
> 1.0/tone until I actually *need* pitch. If you do 1.0/octave 
> everywhere, the tone/scale logic is lost. As long as you're doing 
> 12tET, it might not matter, but when you start using other scales, it 
> may quickly become both expensive and innacurate.

The tone/scale magic is hardly ever useful though, it it forces everyone
else to work around a factor of 12.

- Steve



More information about the Linux-audio-dev mailing list