On Thursday 12 December 2002 7:16 pm, David Olofson wrote:
On Thursday 12 December 2002 15.26, Steve Harris
wrote:
I guess it
depends what key you're in... which can't be expressed in a note
number anyway, so I still think its redundant.
Well, then we're into this "tweaking notes for better harmonies"
thing again... That's indeed hairy stuff, and plugins that want to
actually *do* that (rather than just switching between whatever notes
they get in an input chord) will have to understand quite a bit more
than notes. You'll need to either operate entirely in linear pitch,
or hint the plugin a little about what scale you're using.
I think that these kind of hints would have to be available for other reasons
as well, and I think they would have to be impossibly complex - see below.
The latter
is what a MIDI solution would do (unless it just assumes 12tET), but
obviously, it's rather silly to do it that way if you can just work
in the linear_pitch domain, after the scale converter, instead. After
all, *perfect* harmonies are not strictly bound to scales anyway.
Now I think about it you wouldn't want to do
arpegiation using note
numbers, what you're interested in the the pitch coefficient to get
the correct harmonic relation.
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.
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.
In fact, data about a scale needs to be known even for the really simple case
of generating a chord from a note.
Basically what I'm saying is that the note_pitch idea goes some way towards
making scales work, but not all the way, 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."