[linux-audio-dev] Aeolus and OSC - comments requested

Dave Robillard 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
synth... whatever)

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. :)

-DR-




More information about the Linux-audio-dev mailing list