Results 1 to 7 of 7

Thread: Balance Board with Max 6 : Some Triggering questions

  1. #1

    Balance Board with Max 6 : Some Triggering questions

    'lo Camille,

    I've recently purchased a balance board to pair with Max MSP 6, threw Osculator.
    Got my balance board paired, next to me, Osculator see the balance board and send the information to Max. So. Connection Is ok.
    In fact, I don't understand why even if i'm not on the balance board, i receive by defaults, in Max, six continuous floatings numbers + one integer (-1), total of 7 numbers.
    Here's the connection shema : [udp receive 9000] › [route /wii/2/balance] › (button msg) -› Renders a serie of 7 numbers when the six floating numbers are changing all the time. This is my first problem.
    The second one is that all the six floating numbers change together if i press any of the 4 differents pads. So how can i identify which pad is pressed ?

    What i want to do :
    By just tapping one time on balance board (for example : on the Pad Bottom Left), i simply want to trigger the reading of a video or a sound.
    And I don't know how to get this.

    Second question, more complex :
    Considering for example a video playing in max.
    What i want to do : On my Balance Board, If I stay on the Pad Top Right 10 seconds, i want to modulate some positive values during the time i'm on this pad (10 seconds). Then, If i stay on the Pad Botton Right 25 seconds, i want to modulate some negative values 25 seconds.
    Is it possible to achieve that ?

    Best
    Crem'
    Last edited by cremaster; 04-13-2012 at 02:06 PM.

  2. #2
    Hi Crem',

    In fact, I don't understand why even if i'm not on the balance board, i receive by defaults, in Max, six continuous floatings numbers + one integer (-1), total of 7 numbers. Here's the connection shema : [udp receive 9000] › [route /wii/2/balance] › (button msg) -› Renders a serie of 7 numbers when the six floating numbers are changing all the time. This is my first problem.
    This is normal, the Balance Board streams the measured weights of its 4 sensors, and this is what OSCulator reports. In addition to the raw values, you also get the sum of the weights, and the barycenter (center of mass) as a virtual x/y coordinate.

    In OSCulator's main, you have labels for each of the arguments of the /wii/1/balance message:

    Screen shot 2012-04-13 at 19.56.22.png


    The second one is that all the six floating numbers change together if i press any of the 4 differents pads. So how can i identify which pad is pressed ?
    In Max/MSP use a filter to determine which sensor has exceed a certain value. You might find the abstraction can.threshold-trigger useful for this (http://www.ericmarty.com/software.html).

    Second question, more complex : Considering for example a video playing in max.
    What i want to do : On my Balance Board, If I stay on the Pad Top Right 10 seconds, i want to modulate some positive values during the time i'm on this pad (10 seconds). Then, If i stay on the Pad Botton Right 25 seconds, i want to modulate some negative values 25 seconds.
    Is it possible to achieve that ?

    I guess this is related to how you would process the data in Max, unfortunately I am sorry I can not help you very much on this subject. Based on the triggers you have (out of your first question) I would have a look at the 'timer' object, or perhaps a combination of 'accum' and 'thresh'.


    Best,
    Cam'

  3. #3
    Hello Camille,
    Thanks for your answer. I will look into your following link concerning the first question but i still don't understand how we can retrieve the good sensor when we are on the balance board, because, all the sensors data render a similar number (0,00442 ; 0,012 ; 0,5556; and so on… for example) ?
    It is so easy to see it on Osculator, and i don't know why we can't just send this value (0 Bottom Left, 1 Bottom Right, act…) directly on MaxMsp…

    And for the second problem, i will try your recommendation with the objects [timer] [accum] and [thresh]
    Hard time ! :-)

    Best
    Crem'

  4. #4
    You are receiving a message in Max/MSP from the udpreceive object, therefore it should be possible to use something like unpack to get the individual arguments out of the message.

  5. #5
    Now I think I know where your confusion comes from:
    You should route the /wii/1/balance message as whole, that is, with a single OSC Routing event, not several.
    Still confused? See page 36 of the manual "OSC Routing" chapter (http://dl.osculator.net/doc/OSCulator+2.11+Manual.pdf)

  6. #6
    Hello Camille,
    I did it previously (route only the /wii/1/balance with a single OSC Routing event. I've attached a message button to see what happen, and in Max, i've got several continuous floating numbers.
    I also used unpack previously, but unfortunately, it doesn't change the meaning that : if I press either the pad bottom right or the pad Top Left, all the floating numbers are updated together and are very closed in results (0,000125 ; 0,001554, and so on…)

    Here's a printscreen :
    http://dl.dropbox.com/u/5341655/BalanceBoardWithMax.png


    Or the patch itself :
    http://dl.dropbox.com/u/5341655/Bala...WithMax.maxpat


    Best
    Crem'

  7. #7
    You have to filter the numbers you have here, and detect that a threshold has been reached.
    Just a little something I noticed in your patch: you shouldn't open two udpreceive objects on the same port in the same patch. One application can only open one network port at a time.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •