Announcement

Collapse
No announcement yet.

M8 + Kinect + Synapse + OSCulator (MIDI CC Toggle)

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

  • M8 + Kinect + Synapse + OSCulator (MIDI CC Toggle)

    Hi people,

    I am playing a little bit around Kinect with Modul8 throw Synapse and OSCulator.
    [Thanks so much to the developers for these great applications, yeah]
    Everything is working fine at the moment with OSC Routing as an event type.
    I'm able to change the parameters of the sliders and knobs in Modul8 [passing through the Max/MSP 'quartz_passthrough_plus' patch downloaded from Synapse website].
    But I am wondering if there is any way to use the M8 buttons (on/off) with the kinect skeleton recognition.
    I think should be as a MIDI CC Toggle type...but I'm not sure about the way.

    Any advice?
    Thanks masters

  • #2
    Hey Marula,

    Can you shed a bit more details about the M8 buttons?
    Is there some documentation somewhere I can have a look at?

    Thanks!
    Cam

    Comment


    • #3
      Thanks Camille,

      Sure!
      I attach you a Pic with some screenshots about.
      [to better visualize the details, save the image in your desktop].
      Hope you understand the sequence. If not, don't hesitate to ask.

      Marula_Kinect_Synapse_OSC_M8.jpg

      And here info about synapse and the MAX/MSP patch used:

      SYNAPSE
      This application is the brain running the whole show. You can get the app for Mac or Windows on the Download page. The Synapse app gets the input data from Kinect and sends it out for Ableton, Quartz,...


      MAXMSP / JITTER
      This is sort of the "power user" section of the site. You can use Synapse to do plenty of great stuff in Ableton and Quartz Composer without ever having to touch even a bit Max programming. But, if...


      Thanks a lot for your time.
      Last edited by Marula; 12-11-2012, 11:16 AM.

      Comment


      • #4
        Hey Marula,

        It's difficult to answer your question without experimenting myself on your system, however I think I understood what you would like to do.

        The first thing you need to know is under which conditions does Module8 triggers an event, and more specifically the ctrl_layer_hidden event. The second important thing to know is the range of values that are received from Synapse on the third argument of the /righthand_pos_screen. The suffix "_screen" suggests that the values are expressed in screen coordinates (more on that later).

        From there you have several solutions, mostly depending on how you want to trigger the layer hide effect.
        For example you could hide the layer only if the right hand goes higher than a certain position and then goes down. Another more simple solution would be to trigger the layer hide effect when the right hand crosses the middle of detected height.

        When it comes to triggers with OSC messages, you might want to use the "Route when:" option. I can see you have a very well organized OSCulator file, so I guess you are already familiar with this solution. Therefore if you choose "The value crosses 0.5 upwards", this means the OSC message will be sent when its input (the third argument of /righthand_pos_screen) will cross the value 0.5 from a lower value first (e.g. 0.4) to a higher value (e.g. 0.6).

        All that means that you need at least to express the range of input values in the interval [0.0 1.0]. It turns out this is something relatively easy to do: open a Quick Look window on the message for which you want to know the range of values, and inspect extreme values. At I said before I suspect the /righthand_pos_screen message to be in screen coordinates, something like [0 1024] if you screen has 1024 pixels height. If you want to use that argument as a trigger, you need to adjust its scaling so it is converted the range [0.0 1.0]. To do that, flip the main view to the Scalings page (Command-F), and change Input Max to the highest value you've seen in the Quick Look window. Now that values should be normalized as they should.

        With this scaling adjustment done, it is possible that you don't even need the "Route when:" option.

        It does not solve your problem, but I hope it will give you ideas.

        Best,
        Camille

        Comment

        Working...
        X