[linux-audio-dev] Aeolus and OSC - comments requested
drobilla at connect.carleton.ca
Fri May 13 17:31:08 UTC 2005
On Fri, 2005-13-05 at 12:13 +0200, Alfons Adriaensen wrote:
> On Fri, May 13, 2005 at 10:16:41AM +0200, Albert Graef wrote:
> > /set <voice> <gate> <freq> <gain>
> > ...
> > The disadvantage of this fairly basic scheme is of course that the
> > client has to dispatch the voices himself.
> It's possible to have the best of both worlds and remain close
> to midi, something like:
> /note_on <chan> <voice> <note> <velocity>
> When <voice> is zero, you get the standard midi behaviour:
> the synth assigns a voice that is identified by <note> and
> destroyed by a /note_off. When <voice> is not zero, it creates
> a voice that you need to manage yourself.
> I proposed something similar two years ago in a discussion
> on plugin interfaces IIRC, and got badly flamed for it...
If by <channel> you mean MIDI style channel number - dear god no. :)
Note numbers are debatable (but frequency is better in most cases), but
channel numbers definitely don't belong in OSC. Maybe an open-ended
string identifier (which could represent a channel, a patch, a certain
There's no need to have confusing overloading with <voice> being zero or
non-zero - just make different commands. Have one note on command to
allocate the most appropriate voice (MIDI style), and one to start a
note on a specific voice. In Om I've made seperate commands for global
or voice-specific controls, and it works great.
Ability to control individual voices specifically is one of the things I
love about OSC. Death to MIDI. :)
More information about the Linux-audio-dev