On Wed, April 11, 2007 09:03, Ken Restivo wrote:
I'm playing around with hacking together a custom softsynth. In this case
I'm building it out of "pre-fab" parts using a HLL (ChucK), but I think
I'd be asking this question regardless of the level at which I was doing
this or the language I was using.
My question is: should I use MIDI or OSC as the control interface? OSC
seems a lot more flexible, and more modern, and I've already found a few
things that would be much cleaner in OSC. But I'm worried about latency
in going from MIDI to OSC, or any other gotchas that might be awaiting.
Then again, this is 2007, and byte-oriented protocols are so 1980's, and
maybe I'm over-worrying this.
But, surveying the Linux softsynth landscape, I see OM/Ingen and
LinuxSampler and maybe a few others using OSC as their control interface,
and everything else using MIDI. And I have to wonder if there's a reason
for that other than just history.
Since when has been linuxsampler OSCified ? Nope. I'm pretty sure is has
no OSC support whatsoever. Linuxsampler certainly uses MIDI for input
control.
Confusion must come from that it uses some dedicated administrative and
control protocol, LSCP, which runs on straight client-server fashion, on
top of bare TCP sockets (and not UDP as in OSC, I think).
IMNSHO regarding your subject question, I'll would start with MIDI as
everything else does; e.g., alsa-seq API is a pretty high level
abstraction and you'll hardly notice that MIDI 80s byteness ;) Then, some
way down after, whenever you feel MIDI control space is exhausted, you can
add OSC for an extension or even substitution.
Unless you're actually after some "way-far-stranger" or non-standard
tunings, parameters and what not, then the MIDI standard is pretty good
enough and fit to purpose.
Cheers.
--
rncbc aka Rui Nuno Capela
rncbc(a)rncbc.org