Announcement

Collapse
No announcement yet.

super collider + osculator

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • super collider + osculator



    I'm trying to connect super collider with osculator anybody have some idea how to do that?

    any help would be appreciated.

    thanks


  • #2


    Hi,


    I'm no expert in SuperCollider, but I know some people that managed to use it.

    What would you like to do specifically? Maybe I can give you some starting points.


    From what I know, people that use SuperCollider write custom routings (in the Parameters window, OSC tab) to transform the signal output from OSCulator to control directly a synth in SuperCollider. Another approach would be to set-up a OSC receiver, and process the data inside SuperCollider, which would be better in my opinion, but I really can't tell how to do that.


    Best,

    Cam

    Comment


    • #3


      hello,

      thanks for the reply

      actually I would like to control some parameters on super collider with my wii controller, so far I have managed to detect the wiimote with osculator but I have no idea how to sent these numbers to Super Collider

      if I had some idea how to control a really simple patch everything would be much easier

      Comment


      • #4


        Sure, could you please describe a bit the parameters you would like to control?

        Or maybe provide an example SuperCollider file to try?

        Comment


        • #5


          The simplest patch in super collider would be something like that:


          {SinOsc.ar(440,0,1)}.play


          Just an oscillator with a frequency of 440


          but you probably want to try and sontrol it from the server


          so that would be


          (

          SynthDef("OneSine",{ |freq = 440,bus = 0|

          Out.ar(bus,SinOsc.ar(freq,0,0.1));

          }).send(s); // save the file and send it to the server s

          )


          z = Synth("OneSine"); //play the node

          z.set("freq",600); //change the freq

          z.free; //free the node


          if you could show me how to control the frequency with the wiimote through osculator it would be great example for everyone...

          I think this is the first thread about super collider in this forum so its really useful I guess...

          thanks

          Comment


          • #6


            Hey rabid,


            After all your suggestion was a very good one since it helped find some very nasty bugs regarding OSC routing.

            First thing you need to do is get the very latest update, version 2.9.1, which works with the following example.


            Controlling a scsynth from OSC is rather easy, as long as you know how to create custom OSC routing templates.


            The trick is to assign a node ID to a synth and send a OSC message like :


            /n_set <node id> <parameter name> <parameter value>


            Where parameter name is a fixed string, , like "freq" and parameter value is a value you want to get from, say, a Wiimote.


            I have prepared an example with instructions here. Downloading, and open the OSCulator file. It contains all the instructions needed to create the OSC routing template, and a very basic SuperCollider oscillator whose freq can be controlled (made after your example).


            (this example has also been added to the "Samples Library" (samples that are distributed with the application), but as they are not automatically updated, I've included the link).


            I hope this example will work fine for you, and if you have any question or suggestion, feel free to ask.


            Best,

            Cam

            Comment


            • #7


              yeah man!

              thanks! it works!

              I have a question though what arg[0] represents?

              are there circumstances that arg[1] would be necessary?

              in the beginning I thought it was about SC arguments...

              so if I would like to control a second argument I would say arg[1]...

              but I found out that this was not the case

              once again thanks for the really good response!

              Comment


              • #8


                Hi,


                For simplicity, I have put the OSC Routing message on one argument of the Wiimote's message.

                As explained in the manual (not very clear perhaps … !), you can set a event on the whole message (/wii/1/accel/pry) or on one of its arguments (0: pitch, 1: roll, 2: yaw, 3: accel).


                If you want to access two arguments at once, simply move the event attached to roll in my example to the "message" slot.

                Now, arg[i] will make sense, where i denotes the index of the argument you want to access.


                Some notes on that matter are discussed here:



                Comment

                Working...
                X