Fwd: Re: [linux-audio-dev] XAP: Pitch control

David Olofson david at olofson.net
Thu Dec 12 16:39:00 UTC 2002


On Thursday 12 December 2002 21.25, Nathaniel Virgo wrote:
[...]
> > In some cases, yes - but remember that the arpeggiator is not the
> > *only* plugin in the system. If you play other synths as well,
> > you'll probably want the arpeggiator to respect the scales used
> > for those, rather than trying to find "perfect" harmonies all on
> > it's own. With notes + scales, you make this trivial, even with
> > non-ET scales, since all you have to do is use the same scale
> > everywhere.
>
> Unfortunately I can think of a case where it's far from trivial: an
> advanced twelve-tone arpeggiator that wants to play a major or
> minor chord depending on what note is being played, so that it can
> stay in the right key.  This requires the plugin to know not just
> the ordering of the notes on the scale, but also some arbitrarily
> complex data about their harmonic and cultural relationships to
> each other.

Sure; if traditional theory does not apply due to the scale being too 
different, you either need to tell the plugin more about the scale, 
or do it all inside the plugin, outputting linear_pitch.


> Presumably this has an analog in some other types of scale, and so
> supporting it in general will be next to impossible without having
> each arpeggiator designed for a specific scale.

Indeed. If the scale is too far from 12tET, traditional theory will 
not apply - and deriving your own "theory" from the actual 
frequencies is still bound to fail, since the definition of "harmony" 
differs between cultures.


> In fact, data about a scale needs to be known even for the really
> simple case of generating a chord from a note.

Yes, if it's too far from 12tET.


> Basically what I'm saying is that the note_pitch idea goes some way
> towards making scales work, but not all the way,

The issues you have described are based on the assumption that there 
is such a thing as "global music theory". Well, there is *not*, as 
far as I'm concerned.

Different cultures have different scales, and different theory to go 
with them. You don't use a 12t oriented harmonizer with 16t scales; 
it just won't work, and you should not expect it to. Even if the 
harmonizer *did* understand 16t (or whatever), it would not be able 
to do the Right Thing, because the Right Thing differs between 
cultures!

In short; note_pitch *does* make it easier to implement scale based 
theory, and allows some tweaking of the scale without the theory 
breaking down, but it does *not* automatically make any theory 
applicable to any scale.

There is no way around this - and it's also not an API issue, but 
rather a matter of users understanding that certain plugins will only 
work properly with scales similar to the ones the plugins were 
designed for.


> and I think it's
> going to keep making things more and more complicated when they
> could be really simple if we just said "if it can be done in linear
> pitch then fine, otherwise let the sequencer handle it."

No. It's as simple as "Don't mix scale oriented plugins with scales 
they don't understand." No API support required, whatsoever.


//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 ---



More information about the Linux-audio-dev mailing list