supercollider help

Home Forums Making things with IanniX supercollider help

Viewing 15 posts - 1 through 15 (of 23 total)
  • Author
    Posts
  • #2141 Reply
    Anonymous
    Inactive

    any examples how to use with supercollider
    is there a special class needed?

    thank you

    #2373 Reply
    Anonymous
    Inactive

    I’m not a SC user, but perhaps these links will help to steer you. Pdf of the author’s slide presentation:

    http://opensoundcontrol.org/publication/use-open-sound-control-supercollider-server

    and this from an ambitious user:

    http://www.local-guru.net/blog/2009/03/08/osc-events-in-supercollider

    I think there’s been OSC support in SC for a long while now, so I’m guessing some basic classes are part of the standard distribution OSCresponderNode looks like a class for dequeuing and perhaps also parsing OSC messages.

    Cheers,
    –Bob

    #2374 Reply
    Anonymous
    Inactive

    hey thanks for your reply

    googling i’ve found this

    http://sourceforge.net/projects/iannix/files/Old/

    There are classes and examples for using iannix with supercollider
    but i’m pretty sure it’s based on an old version…
    The new public version seem to be much more straightforward and have less configurations
    ??
    I’ve been working around OSCresponderNode but was unsuccessful …

    #2375 Reply
    Anonymous
    Inactive

    Hi!

    Thierry, our Supercollider user, will answer you, but he’s busy these following days, be patient 🙂

    #2376 Reply
    Anonymous
    Inactive

    I’m looking forward to Thierry’s input. In the meantime, you might be interested in this: One of my Facebook colleagues, https://www.facebook.com/dick.valentine, just put up a Supercollider example video, along with a description of his patch.

    Cheers,
    –Bob

    #2377 Reply
    IanniX
    Keymaster

    Hi there,

    Bob pointed me to the forum here after I posted my first (ever) IanniX/SuperCollider example at <<https://www.facebook.com/video/video.php?v=2115690658718>>. My goal in constructing the patch was simply to figure out how to to use the two software capabilities together. I posted the example with the hope that it would be useful to demonstrate the minimum conditions for making it work. So with Bob’s encouragement I’m submitting some details here.

    My researches suggest there are three basic approaches to using IanniX together with SC:

    1. Communicate to the SuperCollider server directly from IanniX. SCserver listens on port 57110, but it’s vain to send just any commands there. The IanniX score must emit commands recognized by the server, documented exhaustively at <<http://supercollider.svn.sourceforge.net/viewvc/supercollider/trunk/common/build/Help/ServerArchitecture/Server-Command-Reference.html>>.

    My example is a beginner’s effort. It seemed simpler to start with one of the scores in the IanniX distribution.

    2. Use a IanniX-distributed score (unchanged) to communicate with an intermediate environment (say Processing or pd or Max), drive SuperCollider from there. A lot of flexibility might be latent in an approach like this, but it’s just a little too Rube Goldberg for me.

    3. Communicate to the SuperCollider language from IanniX. SC has library objects for this, in particular OSCresponderNode filters incoming OSC messages by command. I get the impression SC developers intended to make this the preferred, or anyway easiest path.

    OSC is a foundation capability in SC. SCserver and SClang use it communicate with each other. Traffic between the two is constant when the server’s running, but normally invisible to the user. Observe the traffic in the server with s.dumpOSC.

    SClang cannot be directed to listen on an arbitrary port number. It has a listening port open (51720, unless it found that one in use on startup), so that’s the port IanniX messages should be directed to. The IanniX distributed scores talk on 2001, so I changed that to 51720. It can also be made an input parameter, like “number of circles” etc.

    A SynthDef should be loaded in the server for the score to activate and interact with. My example uses a Karplus-Strong plucked string implementation. All that’s needed then is to start an OSCresponderNode listening. The SClan code is short and quite simple:

    g = OSCresponderNode(nil, ‘/trigger’,
    { |time, responder, msg|
    var pitch, octave, triggerIndex = msg[1];
    var scale = [ 28, 29, 31, 33, 35, 36, 38 ].midicps;

    note = scale[ triggerIndex % 7 ];
    octave = (triggerIndex / 7).floor;

    Synth(“KSpluck”, [ pitch, note*(2**octave), amp, 1.5]);
    }
    ).add;

    This responder is now listening for trigger messages, calculating pitches based on trigger_id (in msg[1]) and instantiating a sounding Synth for each one.

    That’s about it for the highlights. I’m pretty excited about getting this to work, there’s so much potential latent in the objects that IanniX affords. Thanks you guys for a nicely thought out piece of software!

    –Dick Valentine

    #2378 Reply
    Anonymous
    Inactive

    Very nice writeup, Dick. It tempts me to consider taking up Supercollider. However, I’ve been fooling around on the periphery of Pd and Max for a decade and still haven’t gotten past novice stage there!

    Cheers,
    –Bob

    #2379 Reply
    Anonymous
    Inactive

    sorry for being such a noob but how do i change 2001 to 51720 ??

    #2380 Reply
    Anonymous
    Inactive

    got it had to modify the jscript ; )

    #2381 Reply
    IanniX
    Keymaster

    is it possible to have a look at your KSpluck synthdef aswell?

    thanks a lot for the help! 😉

    #2382 Reply
    IanniX
    Keymaster

    another question how do i show up the script editor for a new document ?

    #2383 Reply
    Anonymous
    Inactive

    Inspector > File inspector > Scripts & Styles > Current project

    Double-click “New script”

    @Guest wrote:

    another question how do i show up the script editor for a new document ?

    Cheers,
    –Bob

    #2384 Reply
    IanniX
    Keymaster

    @Guest wrote:

    another question how do i show up the script editor for a new document ?

    You can find a version of KSpluck, along with more physically modeled SuperCollider patches, at http://www.informatics.sussex.ac.uk/users/nc81/courses/cm1/scfiles/11.1%20Physical%20Modelling.html

    #2385 Reply
    IanniX
    Keymaster

    @vvvv1 wrote:

    is it possible to have a look at your KSpluck synthdef aswell?

    thanks a lot for the help! 😉

    … sorry, quoted the wrong question first time …

    There’s a version of KSpluck, along with more physically modeled SuperCollider patches, at http://www.informatics.sussex.ac.uk/use … lling.html

    #2386 Reply
    IanniX
    Keymaster

    Hey thanks dick for everything but i still got some problems

    when i change my sawbass arg note to freq to have iannix’s triggerIndex control it’s pitch it just clips and crashes…
    hmm don’t get much on how Iannix messages works and the one you wrote either
    or perhaps it is just some stupid mistalkes i’ve made
    it will be great if i could get some explanations for newbies like me!: )
    thanks a lot ; )
    (
    SynthDef(
    “sawbass”,
    {
    |note = 35, amp=1.2, cutoff=350, decay=1|
    var env, audio;
    env = EnvGen.kr(Env.new([0,1,0],[0.001,2],[3,-50]),doneAction:2);
    audio = RLPF.ar(Saw.ar(note.midicps,amp),cutoff)*env;
    audio = CombC.ar(audio,1,0.125,decay);
    Out.ar([0,1],audio);
    }
    ).send(s);
    )
    (
    g = OSCresponderNode(nil, ‘/trigger’,
    { |time, responder, msg|
    var pitch, octave, triggerIndex = msg[1];
    var scale = [ 28, 29, 31, 33, 35, 36, 38 ].midicps;
    var note = [ triggerIndex % 7 ];
    octave = (triggerIndex / 7).floor;
    Synth(“sawbass”/*, [ freq, note*(2**octave), amp, 1.5]*/);
    }
    ).add(s);
    )
    NetAddr.langPort

Viewing 15 posts - 1 through 15 (of 23 total)
Reply To: supercollider help
Your information:





© IanniX Association

What is IanniX? | Download | Showcase | Forums | Research | About