Export a graph of a SynthDef

Hi guys,

I’ve had a curiosity for some time that I’d like to get off my chest. It concerns the making of graphical representation of the inner workings of a synthesizer. a graph that in other words, clearly shows what Ugen are involved and how they are related to each other.

I think that sometimes, such a graph can be helpful in better understanding the workings of the synthesizer and, in other cases, to have a “simplified” reference to share.

The example that immediately comes to mind when I think of this topic is the graphical representations that the author, Andrea Valle, used in his book “Introduction to SuperCollider”.

Of these representations I show some examples below.




which is obtained from this code:

SynthDef.new(\pulseSine , { 
    arg out = 0, amp = 0.25, kfreq = 5 ;
    var pulser, sine;
    pulser = LFPulse.kr(freq: kfreq, width: 0.25) ;
    sine = SinOsc.ar(freq: kfreq*50, mul: pulser) ;
    sine = sine*amp;
    Out.ar(bus:out, channelsArray: sine);

or this massive graph:

These graphs (but also others) that are shown in the book sound to me just like what you would get using the Graphviz tool.

What are your thoughts on this?
Do you have any ideas of how a similar result could be obtained?
Are some out-of-the-box tools in SuperCollider to obtain something similar?

as always, thank you so much!

I think maybe this is what you are looking for :slight_smile:


Thank you so much @dscheiba ,
I’ve also tried looking for this sc3-dot on the forum and I found out this discussion.
So maybe my post here is some kind of a duplicate. Anyway…
Thnk you so mushc for your help.