Data streaming from supercollider server

40 views
Skip to first unread message

maksut

unread,
Feb 26, 2023, 1:38:50 PM2/26/23
to Overtone
Hi,

Recently I've been playing with Overtone which is cool!

As a learning exercise I've hacked a Supercollider plugin together to stream data out via zeromq PUB socket.

Because unfortunate events:
- I'm on Windows and unfortunately Supercollider doesn't run in WSL (JACK can't run in WSL).
- Overtone currently doesn't support internal servers on Windows.
- Overtone's scope only works with an internal server.
- I wanted to see if I can hack scope function to use external server.

My attempts:
1. Simply replace `buffer_read` with `buffer_data` but it was horribly slow. Not even CPU heavy. OSC chit-chat seems to be really slow.
2. Use shared memory to pass the data. Supercollider itself uses memory mapped files to pass data between its client & server. But implementation does not look portable at all.
3. A SC plugin to stream data out which seems to be working so far :)

Here is the plugin:
https://github.com/maksut/ZmqOut

Overtone hack to use the plugin (makes scope usable with external server):
https://github.com/maksut/overtone-zmq-out/blob/master/src/zmq_out_test.clj

Just in case it might be helpful to somebody else who goes into the rabbit hole.

Thanks,

Maksut
Reply all
Reply to author
Forward
0 new messages