VL.SCSynth (Supercollider + vvvv)

I guess that this is quite irrelevant for most of the SCheads around, nonetheless here is a small Lib for vvvv in order to use your Synths (instances) automatically through vvvv in combination with scsynth (SC server indeed).

For most of you, already have an experience with both vvvv and SC this will make sense, for the rest I ll be glad to answer to questions and discuss further roadmap of this thingy.

what it does looks like this (assuming we have already a compiled synthdef named “vvvvExample”):

Then it loads automatically the used synthdefs (scsyndef files) to SC Server and make them usable by integrated OSC commands matching synths status and parameters.

link to VL.SCSynth

or read more in vvvv forum

Please feel free to comment, propose and test it!

Thanks again for your help and answering to my newbie questions!

3 Likes

It’s pretty interesting; although I’m unfamiliar with vvvv, I’ll check it out.

In the description, you mention you use a minimal implementation of scsynth.

I’d love to see it. I’ll also try to follow your changes.

Maybe you could tell me how you did it a little bit? Which parts of the server did you touch?

1 Like

thanks for you interest, indeed, I didnt touch scsynth at all, I didnt have to rebuild anything.
I am just using it as it was meant to be used via OSC.
The hard part concerns vvvv, in order to turn synthdefs to nodes (automatically) so they can be used as synth instances in vvvv’s visual environment.
I ll manage to create maybe a quick video, so you can have a better understanding on how I am using it and what it is all about.

1 Like

So it’s a kind of bookkeeping what OSC commands do you send to the server?

Yes, it would be nice. Thanks))

first it gathers all the synthdefs I am using in my vl(vvvv) patch, then it sorts them out in order to avoid duplicates and retrieves the according scsyndef files in a premade folder named “synthdefs” next to my project file.

Once it does that and after I boot the SC Server, vvvv will load them as files (or binaries depends the way you want to work with it) with /d_load (one by one).
Then after the tree is reconstructed in vvvv side it will create the appropriate groups and synths “/s_new” , “g_new”.
If a tree already exists it will first try to free it all (deep free) " g_freeAll" (targeting group 0 - server)

then with “n_set” it accesses and alters the different exposed parameters.

I am looking to make it more elegant and follow better the SC node tree guidelines although it works nicely atm.

So yes, if you may propose a better way to approach it or anything that wouuld improve the whole process shoot me!

But is scsynth the only audio engine, or are other audio engines sharing the same patch bay? Do you connect a Synth with other Audio Synths outside scsynth (maybe automatically creating a bus)?

I’m a bit curious because I’m playing a little bit with a prototype of an audio engine, and I connect it with scsynth, but through JACK. The engine can create and group its synths as one or several jack clients, but scsynth, of course, always shows itself as one single client with many ports.

I already have a GUI with Dear ImGui. It would be super fun if I could also visualize scsynth nodes there. Anyways, curious to know more about your hacking.

1 Like

I am not sure if I can follow, since I am quite new to SC world.
SCSynth seems to be the only audio engine atm.
However I would like to know more about what you mean and how this could be useful, in what extend.

@smoge The engine can create and group its synths as one or several jack clients, but scsynth, of course, always shows itself as one single client with many ports.

and this one confuses me a bit. Can you ellaborate?

You can always have several scsynths running on your machine with different ports addressing different buses, no?

1 Like

I’m writing a minimal audio engine, that connects to jack server, its nodes shows as jack clients, and also as dear imgui GUI. I’m just starting, it’s a just a toy right now. I was curious if I could hack Dear ImGui to integrate a bit of scsynth and my toy, but it doesn’t seem to be something I should do now. But in the future it could be super fun. As I said it’s just a toy to learn,

1 Like

This is looks cool and is quite topical. I recently started about connecting Supercollider to P5JS. There’s some very direct applications I might have for this. I need to read up a bit of vvvv, but if you want someone to test this, I have a potentially relevant project. Thanks!

2 Likes

A toy to learn, likewise that was always case for me I guess :smiley:

1 Like

Sure! you may test it, alter it, fork it do whatever you want. Just let me know if you need any help and in any case do not hesitate to post your questions to vvvv element chat or vvvv forum. People are also kind there and always willing to help!

Regarding processing there are ages last time I used it, I spend most of my time with c# but I would like also to take a look into your project.

1 Like