[sdiy] Communications with voices in a polyphonic synth

cheater cheater cheater00 at gmail.com
Thu Mar 11 18:13:56 CET 2010


>>> As far as OSC support is concerned, I haven't heard of it, so I'm not
>>> supporting it. If I manage to catch up with MIDI (I'm still 25 years
>>> behind
>>> present day technology) and get that working, I'll be more than happy.
>>
>> OSC is really easy. It's probably going to be easier for you to do OSC
>> than midi. For one thing, you can skip the state machine crappiness.
>> And it's much easier to debug though, since it's all just plaintext.
>
> Ok, that sounds interesting. I'll read up about it.

I'm only talking out of memory, so excuse if I'm extremely wrong, but
here's the gist:

Each packet contains a 'path' (think of, for example, a URL on a web
page). It can specify, for example, the broadcast mode. So you could
have an address such as
/voices/1/start_note/
for just the first voice
or:
voices/all/start_note/
for all voices.

The path specifies a function, and that function is passed some
parameters that make up the rest of the packet. The design is really
open ended.

Of course, parsing all this is up to you, but it's simple stuff.

As a bonus point, making your synth work with OSC 'from the outside
world' would just be a simple pass-through. Maybe you would need to
truncate the path, because your synth would be addressed as
'/toms_great_synth_001/', so someone would send
'/toms_great_synth_001/voices/all/start_note/ 440.1 100' to play a
unison note at A=440 at full velocity, while you'd need to strip it to
just '/voices/all/start_note/ 440.1 100' and rebroadcast.

Mind you, I know the packet content in the last example above is not
technically exactly correct, but it's near enough.

D.



More information about the Synth-diy mailing list