Announcement

Collapse
No announcement yet.

Wii to Max via OSC vs MIDI?

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

  • Wii to Max via OSC vs MIDI?



    Hi Camille, how are you?


    I have a little problem with the transfer of datas from OSCulator to Max 5 (last version).


    My goal is to sample some gestures (14 parameters) in a coll, with the greatest precision possible, in order

    to analyse/treate them in a time-differed compositional environment called PWGL.


    The problem is that using the patch you provide with OSCulator (Wiimote to Max 5),

    which seems to work well at first sight, the datas recorded by the coll are less precise

    than using midi and ctlin objects

    This occurs even when I run the coll with a metro at 5 ms.


    Technically, the number of consecutive duplicate samples of a given value is more

    important with OSC than with MIDI. For live this is trivial of course, but this becomes

    really annoying for precise analysis.


    Maybe this is about the OSC-route object, dealing with too many parameters at a time?

    I wonder if i'm doing something wrong. As I told you I'm not really used to UDP objects.

    Do you see a way to make this sampling process less heavy?


    All the best


    Julien


  • #2


    To be more precise in my explanation, my problem is that, using MIDI, the datas I sample are (of course) less precise concerning the "intensity" domain (0-127 instead of -1.-1.) but paradoxically more precise in the time domain than using OSC.


    Another disadvantage of using MIDI, in this case, is to lose the negative

    values for parameters like angular velocities from the motion plus.


    So it would be really great if you had an idea to optimize this transfer... =)

    Thanks very much in advance

    Best


    Julien

    Comment


    • #3


      Hi Julien,


      You are correct in that the Wiimote patch uses OSC-route.

      The problem you are having reminds me of an old bug in the OSC-route object.

      The solution was to update the CNMAT package to the latest version, maybe it would be useful if they haven't released an update? I'm wondering.


      Also, you are saying that the recording process is heavy, but I'm not sure if it has such a strong strain on the cpu. I think you should check with Activity Monitor (Moniteur d'Activité), to check if the OSC routing is really heavy on Max.


      There is another solution than OSC-route. If you take a look at the Wacom patch for Max in the Sample Library, you will see that it is using a "route" object rather than "OSC-route". I have not heard of any problem using this built-in object. It would require to modify the Wiimote patch, but I don't think it would be too difficult. I can't offer to do this right now because I am super busy on another project, but if have any question, I will gladly try to help.


      Best,

      Cam

      Comment


      • #4


        Hi Camille


        Thanks very much for your advices !

        I try this out now and tell you if it's ok.

        All the best


        Julien

        Comment


        • #5


          Hi Camille


          After updating the CNMAT library, I realized that the results were the same.

          Finally, I obtained good results by diminishing the sampling frequency, which was far too important (1 point / 5 ms. ....)

          to 1 point for 20 or 30 ms., which is more reasonable.

          All my apologies so, the patch was fine, and OSCulator works better than ever. =)

          Thanks for your help, all the best !


          Julien

          Comment


          • #6


            Excellent!

            You can sample 1 point every 17~20 ms if you want, this is roughly the speed at which the Wiimote send its data.

            Another option would be to sample the frequency at which the Wiimote update the X axis for example. In this case you would need to shake the remote to make sure OSCulator doesn't filter out some identical updates.

            Comment


            • #7


              Camille,


              Can you clarify something?


              On some posts you say that the wiimote sends data at 100 Hz (10 ms)... Then in your documentation you say 60 Hz (17 ms)... which is it???


              Also, I have a 2006 MacBook, and I find that pd is NOT realtime in any way... It seems to be overloaded with the OSC data (how lame... I really hate pd... I don't think I'm ever going to use it again...)


              Have you heard of others that have this pd performance problem?


              Would it be different if I used supercollider or ChucK (not in that I would be able to do more... just that it would be done in realtime)


              B.

              Comment


              • #8


                The 100 hz measure is wrong. In this thread and in the doc the refresh rate is 60 hz (17 ms),

                Anyway this is a rough measure, you should not rely on this number. If you need precision, there is no other way than measuring the rate yourself.


                About Pd: I can't tell if SuperCollider or ChucK have a better scheduling than Pd...

                I'm curious to know if you could you elaborate a bit on what makes you think that Pd has performance problems with the OSC data it receives?

                What kind of measurements have you made to draw this conclusion?


                Cheers,

                Cam

                Comment


                • #9


                  The 100 Hz measure is wrong? So the wiimote itself sends at around 60 Hz?


                  Or is it Osculator that sends the data along at 60 Hz?


                  What if you have no smoothing... is it still 60 Hz?


                  Why does every site list the data rate of the wiimote at 100 Hz?


                  Does Nintendo exaggerate about the data rate?

                  Comment


                  • #10


                    Sooo …

                    I was little bit confused about the measurements I gave in this thread so I did a precise measure to verify this.


                    When the Wiimote is use alone (without MotionPlus extension), with no smoothing, the mean time I found between two reports is a value of 10.30 ms corresponding to 97 hz. Your mileage may vary a bit, depending on the battery level, Wiimote build model, etc.


                    I have not measured the standard deviation, but by looking at the numbers it seems the data rate is not very constant and suffer from a very slight jitter.


                    The Wiimote driver in OSCulator will not transmit the values if two consecutive values are exactly the same. This means that the figure of 10.30 is the most optimistic, you could actually get a slightly lower data rate if the Wiimote stands still. Smoothing will also increase this behavior: the more smoothing there is, the more likely are the values to be the same, so there will be less data transmitted.


                    If you use the Wiimote with a MotionPlus extension, and attach a Nunchuk to the MotionPlus, the rate will be divided by two, meaning that we will have something close to 50 hz. Previous smoothing considerations also apply in this case.


                    I hope this answers your question in details and sorry for the confusion.

                    Comment


                    • #11


                      Camille,


                      That answers my question perfectly.


                      I'm really glad that the data rate is close to 100 Hz... 10 ms is the magic number in musical timing perception...


                      I bought a license a couple of days ago.


                      Thanks again,


                      B.

                      Comment


                      • #12


                        really ?

                        oooooh, I should have checked this site earlier.

                        I thought utopically that it was sending datas at 200 Hz !!

                        I first tried it at 1000 Hz in max, and saw in the coll that i constantly had 5 consecutive figures in the datas (with smoothing though !), and concluded i could collect datas of the wiimote at 200 Hz...


                        I think what is said for PD is true for max too :-/ when I perform calculations on these datas, I sometime have a 5 ms delay in the result. and a few mistakes.


                        anyway, much thanks camille for your work.

                        I'm happy I purchased your software.

                        Comment


                        • #13
                          Hi Camille,

                          A few months ago you wrote:
                          "When the Wiimote is use alone (without MotionPlus extension), with no smoothing, the mean time I found between two reports is a value of 10.30 ms corresponding to 97 hz. Your mileage may vary a bit, depending on the battery level, Wiimote build model, etc."

                          I have a Wii Remote Plus with "Wii MotionPlus INSIDE".

                          Can I still get 97 Hz out of it? If not, can I disable the MotionPlus and get 97 Hz?

                          Comment


                          • #14
                            Hi Brutusx!

                            The Wiimote's sensors output data at a rate of approximately 100 Hz wether or not you use the Motion Plus. So I guess the answer would be yes.


                            Best Regards,
                            Camille

                            Comment

                            Working...
                            X