[OSC_dev] SYNoscopy (or something like it)
Jeff Glatt
jgglatt at roadrunner.com
Tue Jan 27 22:18:16 PST 2009
I've looked at the SYNoscopy specification, and here's the first
thing that puzzled me.
Does the spec assume that every synth (ie, sound module, device,
whatever) is "listening" to _every_ OSC message sent from any
given device, much like daisy-chained MIDI devices? In other words,
SYNoscopy assumes that there is one "bus", without any means of
data routing in the "bus transport" itself, just like daisy-chained
MIDI? And that's the reason why each synth must have a unique ID
number? It's a very basic "routing number" built into the spec
itself?
In other words, the spec pretty much assumes that you're using
something like UDP with multicasting? Because otherwise, every
device _can't_ see every message, because UDP delivers each
message to just one specific host/port. Ditto with TCP. (That's
true with most transport protocols that support the concept of
multiple devices attached to a single bus. Each message is
addressed to a specific device).
So my first thought was -- Is this ID scheme an unnecessary
complication? Would it not be easier to simply require that this
spec be used with a protocol that either supports only one device
per bus, or does automatic routing of each message to a specific
device? That seems quite practical to me, given that busses such
as ethernet, USB, firewire, SCSI, etc, support the requirement.
And of course, my second thought was "How does each synth get a
unique ID number anyway?". Obviously, two synths can't both
arbitrarily assume that they have an ID number of 1. Or does
the user have to manually set the ID for every device, along with
other needed routing settings such as UDP port number and
hostname? This will really confuse most musicians. The less
settings to make, the better.
More information about the OSC_dev
mailing list