Re: [linux-audio-dev] XAP status : incomplete draft

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] XAP status : incomplete draft
From: David Olofson (david_AT_olofson.net)
Date: Sat Dec 14 2002 - 03:44:48 EET


On Saturday 14 December 2002 00.25, Steve Harris wrote:
> On Fri, Dec 13, 2002 at 11:47:13 +0100, David Olofson wrote:
> > And note that this problem occurs even in a pure 12tET net! You
> > *cannot* mix plugins that thin in notes/scales with linear pitch
> > based plugins in just any order, and there is no way whatsoever
> > the host or users can be informed about that, unless there is a
> > way for plugins to say what they expect, and what they output.
>
> Right, so dont allow plugins to talk notes... I still dont think
> its necceasry, its just programmer convienvence.

It's actually more *user* convenience than programmer convenience.
Programmers that work with traditional theory will have to work with
<something>/note regardless, but users won't be able to tell for sure
which plugins expect or generate what, since it just says "PITCH"
everywhere. Is that acceptable, or maybe even desirable?

Fine, it works for me, but I'm not sure I know how to explain how
this works to your average user.

> If you dont have it there cant be any compatibility problems.

How can you avoid compatibility problems by sending two different
kinds of data, while pretending they are the same?

> > Whether you think of linear pitch as 1.0/octave or (1/12)/note,
> > it's still not explicitly related to a scale, and thus, you're
> > casting one type of data into another, just to be able to squeeze
> > it through the API. That looks like a dirty hack to me.
>
> No, thats right, its not explicity related to a scale, thats what
> makes it so useful.

Useful when you think only in terms of linear pitch, yes. When you do
anything related to traditional music theory, you'll have to guess
which note the input pitch is supposed to be, and then you'll have to
guess what scale is desired for the output.

This works fine if you just assume that everything is 12tET, and then
convert from 12tET to some other scale.

Again, this is really rather obvious to me (even if the pitch is
(1/12)/note :-), but it's entirely possible for your average user to
get the plugins in the wrong order, for weird and totally incorrect
results.

> > > You can't prove a negative. I think that it's possible for it
> > > to cause quite big problems, which is why I'm still harping on
> > > about it.
> >
> > I still think *not* having it can cause a great deal of trouble.
> > We're not really getting anywhere...
>
> When?

Whenever you deal with scale/note based plugins. They will either
have to contain two scale converters, or you'll have to assume that
PITCH is in some NtET scale for all such plugins. The former seems
rather hairy to me, and means the *sequencer* has to output linear
pitch in the correct scale, or the plugins won't understand it. In
the latter case, you'll need to convert into actual linear pitch when
you're done.

The latter seems a lot more sensible, but there is still one problem:
What is that (unofficial) unit that these plugins use for PITCH? How
is a scale converter supposed to understand it? Is it (1/12)/note,
regardless of scale? Do 12t scales use (1/12)/note, while other
scales use other formats? 1.0/note...?

I would suggest (1/12)/note, since then, just not using a scale
converter means you get 12tET automatically. It has been suggested to
me that this is a bad idea, but what's the alternative?

> What examples did the VST people give for wanting this?

Nothing more sophisticated than autocomp plugins (rhythm +
harmonizer, basically) and other plugins based on traditional music
theory. Things that are relatively easy to implement if you can
assume that input and output is note based, and disregard tempering
of the scale, within reasonable limits. They still work with non-ET
scales, because that translation is done elsewhere. (In the synths -
but not many of them actually support it, AFAIK... *heh*)

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


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Sat Dec 14 2002 - 03:50:28 EET