I just got my razer hydra controller – and one can download of of steam a (little bit crappy) midi app for it which I am having a hard time trying to get it to work in Max
I also tried using the Hi object and it sees the controller but doesnt give any data out when I try to poll it
Has anyone had any success with this
Also I would much rather want to use OSC for the hydra if that was possible – if anyone is doing something like that
all the best
I have managed to get the x vector out of the hydra, using midiparse and this midi learn subpatch made by mr_mapes that I found on the forum;
btw. thanks mr_mapes :)
But I can only get one control parameter, if I try to have two midilearn subpatches (differently named (saved)) then I always just get the same parameter , using the midi app from sixense
I cant understand why they would build a midi app for such a precise controller (Why not OSC or just HID) – midi sucks balls :)
-- Pasted Max Patch, click to expand. --Copy all of the following text. Then, in Max, select New From Clipboard.----------begin_max5_patcher---------- 1164.3oc6Z1sihaCE.9ZVo8cHJWVQYicRHNqppTeNVUUERLLtSvFkDZmcW04 Yu1GGRhCDvzkgFhlKFGvX647y243iM78O9gYtqDuPKcc9ryWblM66xdlA8o5 Y1gNl4tM4kz7jRXftqyE78acmW+YqE7p0IoT0m4cnyUaRE4hB8BiV3M2rw42 OLvpBVBeSNLaT2krj8McmdKZVU4+Vw9pbZEHH3CcK6a29JAOMmk9roXHJxnE cDEuEgy6zXHJOIkEigRhTCifUs3fdidWRU5SL9l+nflVomAN.qzOLgndD5AJ Ko6jzRe0W2Q0yPYKSpbm63tRZEb6r5EzRJuJohI3FZjzDjQSYaSx2kKM5klp aR5yaJD64YFcKMZkz86L56ICODHpsM88PFiLBLdssFCdKiy1JgCEm7KbAm9q tslW5KUVREJ.fmrErRt+lDQxaVF1FtPZxOxUmlvkNDoUzDDkReYZRMe0RRRf dP4jkkQMM5Lvd5JV8m+bbfaGWAie.FaX2dZ44rrccxcvndSwSMEXF+yG+f5o 7wbqCV4z+VJ1tckNn+O4fvQKtQAw1EuhNSniOITsp9He3wRqCcrHjYfnByPc HRO.XZzONLdAFx+zLDdjxPk4LYVT2qGKTdHcx494vNEV7LWrxPq0IdqaLV4q Ju9ovsH.2vAZpCrQK8NKt8CPZMgFXRargnfcx0XHjZ697p9IwX5o11SAMWth +E8ZfQ7ERncOHr2KoXHPMNRoeAdguWRwjsjBzznjhe5UETOdJo.C0RDffpw8 irHzoTRBRt3grlBuGqZJneKKI80FYVrd8lhjLP.wMoEl2z32u..yTMgn4FsF i0DYZLd4hTkutSOmBhPPonAK0rT3g1+6HxPt2tV.TusKZZM2b4XfPvOdMpSq FqZi6aG6PPj3KPPWAVbB4owqtb47l1nCE1cySFk90zb5qinjQfwwWe0.9wS6 jQDxiUxnA2QyAENhNirNWjeP.7.CUaNUOiLI5wBgVsuRdbA2A1eJF4iAy2wu HJbncpPccqLN0rj4l426ElaSJm2y8AToSL1CECIf8pe0kNGRfmNkUL7PmLCe 9CLa6wOtx8IWaa.2E3qvQvwdGJuyVVFKmlTvuuUSis3FSvvhGZS0zLNbLzGy zOKe+J59e9J5PAueEc0vn+HHW0DeCN+fk58z7lJavgeD1fa7r+Vc5FL7U3Fh l56uglFmPSAR6RJJouEfDZQXbHhDcZZJ5LzjbRvRqylf7rIcBvR0+UiVG+3F wZf+Hh34GC6c6E4ERHu0LGdZbM2Jjiwu+714tZ.rt5b+.6wsaHMcWybMJ9xR zqgqpnk9+3o.ui5C5wVkh8EoGL90gCN3VgIiVVw3MNfuzdNDmyumukJqDa2I jN8Z4Ei802ej9NkHAMu6bgLVqbpelLck6Aztn2Hs6lnC8ktAzAxnVGP1nC88 ViKcvt.EzabfRb8st19taSfB1JGj+nFxVZkNfG05PnUA6JMEMZ0AqXIHRA8X mvhLpiGhsKoq2X1O.R2k8CwSDcX7lWhXMKMZ0AqBGta6Nn5P93eAjqu6g -----------end_max5_patcher-----------
mr_mapes subpatch:— Pasted Max Patch, click to expand. —Copy all of the following text. Then, in Max, select New From Clipboard.----------begin_max5_patcher---------- 1245.3ocyYtzaiaCDG+rWf86v.cIWxFHpG1R8VAJPQNzi8jgQAsDcL6JSZHR kGcQ+t2gjV1Z25DqHKFsWBi3KMyu4OGRJ+sO+oYAqkOyTAvu.KgYy9FVyLac lZl0VwrfczmKpnJaGCJj61wD5faOznl8r11vSaYB3FgTCULZsfKd3FXoTvVS EOrBdhWUAkR.aeK1DPEkvREq5PKERglKZXfVBZlRCaj0.WeiBvWr1zbIWykB 631R2umW8BrgWoY0XUubXNKJj0k3+U8xQyqhKXExFg0FSZqUzriKpXZqKQZq cCZDB5Nl0c90ZNsJny.jM51QD1VMuz1W45+9KQwAcmGE+eryCI5ti8dOUWXL z+plUncTOdAAaGhHw1hD6Syww.qrC5e+7mLkXwsWeDZYwVLVvVAMJVIvEJMi VBxMvRs7gGpvFPnWxMVGfd69FsIbrul8HNcvdIWfDPofZ1dFUiSgIzh9y4gc rOgczPfcRTlAuwoyMEj7TSQRlmf8IoOkqUVAsQkWKqpPQ6N4iLy.g0LrEFnX ZsQCq2xfGoU3JALtrgWih+kH2WNALlLDFGk3zyYNDm4UDayezpFwDBFdq.ah HCGwlQ6B0oc3NWYQOVGsQY.tgtqL57CofjMJblZk+ciFRA1fdKU2Y9lf7LgC Jrrvp7c4WNDV7UZFonfAzSJbD4kLsKRX.ZmnA5tqwBT7qvQHXO0ISuYAiMB+ wK8I4WgzegE0jrE9T5qX39fTqf2ncULC2.KGLOeSEGStKtwpqKvMF07G45WY WwHeRxrAQRWBZ2dijzPm10Ojr8vJfRS0MJ3KPHJW2Papz3693YYB7IjVLniN jY0aIQGNAgS8E5GJ4NpkIsYATR0TDSmNgvu+m2CpJdIqV4NAAsRcq4+NdxrZ FspZJjeyGDYicfMzQThOkeGWAqo05OF0V5fXhSlsHuyRReI1poOA+w8+18GE aapk6.1cObGrbGujumVqXq7JiRFBiH1T9YGVOlNBHxYlWvS6g6b5tImKz5NO bBwVDk19WXU6fZiTl4KXvNCt8NZL++vs6VIiU3L9b9+oqK35o9k8LmyGDbKD vMpPWwIm98r3vQv3LS2fQYwwN7hVzNT4HsBOOnhd2fhbNPQdCPMLzjk6tyka S7n6RMmMxOng3UzDN5n4fpYDQyHkuH+sRWDEmMooK3BsOiyYudXdv4GNfr34 YmhzWY9gWiN3ElFK5DcF5r30oi4jLlrnWGhh7Oh7r.ZtODPo1cVhxS7NcN7Y q7oHJ8xhHa4UgJ2m5HcwHrW7qgJMvg0.2mmbI4sES2dhXWaxIRt6CV3Sf0H1 SK9JRsQiYmSdEeQlc0rJ0cMHxXbROq6eddD1+rNQ85zImykxCOcwN+sa933k jA6kt.2v7RWure0he7GKy9pLM7C9tR1TWzZZGx4AcdckLklKnlOzYmNYN9c2 dskWVxDeGiv6+Z+gXTseoLhcu.miEmmc7o2RQ1aqNpWVc361pyysG1Mwsc17 ziOMJVMoelc760rGGiizKiKZZLtvelMt9XaSSPMqOlV9jXZFfPtjok88c5xl VbrMSSbpKU5b22HMMcjVAG2GdlLI7z7VitjoM+8xyQwz50dLymDp0qLxoSB0 R5yBjzISqcQpsXRLs480z93CnK5iokc0TyTAV7e.JEiHp -----------end_max5_patcher-----------
Sixense recently published a tutorial video for setup of the MIDI app on youtube. As I am unaware of the linking rules of this forum I’ll have to ask you to Google "sixense MIDI app setup", this should yield the video as the first result.
If you have any additional questions or need further assistance please post on the Sixense forums, we’ll get one of our MIDI app specialists connected with you immediately. Thanks :).
QA/Production Manager, Sixense MotionCreator
Lead Production Artist
Sixense Entertainment Inc.
thanks for the reply
Yeah I did see the video before – and made it work with massive
If the Midi specialist can help to get this to work in max, thats well appriciated
But midi vs OSC is sort of what VGA vs HDTV is in sound controller terms. The one parameter (x position) that I got to work proberly in Max – still I was getting just 127 steps – and with a controller that has the range of over 2 meters, with 1 mm precisioan accuray, I could use those extra steps
Just saying, it would be awsome if you could take the raw data from the SDK and pack it into OSC (I would do it myself if I had gotten passed page 100 of C++ for dummies)
all the best
Hey there, I’m the guy who wrote the Sixense MIDI app. I’m going to take a pass at getting it working with OSC, are there any Max samples or documentation you could point at to help get me started? There doesn’t seem to be much in the documentation about it.
Awsome! thanks alot :)
If you want to make an external for max I guess you need the Max msp SDK
But maybe it is simpler, and more generally usful just to make an OSC exacutable with the Razer Hydra SDK and a library such as this: http://code.google.com/p/oscpack/
If the motion paramters and trigger floats, along with the button int´s can be packed as OSC and sent out as data to 127.0.0.1 on a specific port, then the Hydra can be used with loads of programs (not just Max but also PD, Proccessing, Supercollider and many others) and it is real easy to get a feed of the data using the Osc-route object http://cnmat.berkeley.edu/patch/4029
Thanks again :)
Oh and P.s dont forget to include the Analog sticks as OSC messages – they could be very usefull I think
Thanks, that helps a lot. Should I define my own messages like /sixense/joystick/x and /sixense/position/x or are there specific messages that Max is expecting?
I am pretty sure you define them yourself
then one just writes in the osc route object a "/" followed by a defenition of each parameter (that is what you define them as)
Here is an example of a OSC exacutable someone did for the emotiv BCI headset
and here is an example Max patch for it
-- Pasted Max Patch, click to expand. --Copy all of the following text. Then, in Max, select New From Clipboard.----------begin_max5_patcher---------- 531.3ocwU10aaBCEF9ZpT+OXw0oDaBeD5cSU65No1KlzzzjAeRh2.ajwrltp 8eeFSBkjUQA1p5EIGwqOw987bN37zkW33lJ2CUtnqQeA437jQwwp0n3bTvws ftOKmVYSzMSVT.Bs6hCKVpjZo9wRPPKfWLCMrWaW3VSR2IqErajBsRlinBF5 16t4JkrVCnTodGhIePjKoLfg1njEncZc40KWlIJnZuTP8CHGdzCX0KOlYU2A kyEPlY+smVXmAo5rcbw1uofLcas5GE6gWfVG07MIjzDhC8vnud7Gsw3vtB5C JNMu6T3LqnL86WspSTTWvE4f1xHROUSkcTF2GHYxbop0MXOBINJH1XkFif8v jjH7Z6im5nMzLqi76KVw+kUj360cBaTaSGylaS+2WdQSzDVL5o.A7fA.udK1 cftPPhE+9sAxplfOd5cA+I0EV8ZrqM2lI5Va55tn8iYR8ddAbOcq6aA45dOX 4G+7mFhajjVhs1ND29vb3Vxj3l+731a.oJUbgFU.UUzsP0fjJv2BmPKiR7mK oBl264mSp+6jnlUZJVf+S.EGfwH6sjCAjPbCBhBryOqBmKOHShGjoO47WSMs NzdC+4+eksLaV3LBVIqUYG2wC2SfHOWpLnRyETMWJ5kjoUi5wicbFCDmzUK3 rRoYB7fOFZ.ezVib5o9xVy+cwZihZIuKVKYLT6eug1HXB+w19awO -----------end_max5_patcher-----------
Here is a picture of the patch if you dont have Max
And here is a picture of the MindYourOSC program
Well that was easy.
Can I try; Purty please with sugar on top :)
edsonedge – I should be able to put something together this evening (PST), would you mind testing it out a bit? If you don’t mind send me an email at
Roald Baudoux – Yes, we’ll have a mac version soon, but not right away. Hopefully in the next month or two.
Here's a pic of where it is tonight. A bit more testing and I'll include this in the Sixense MIDI app on Steam.
Nice to learn that Mac users will join the party ! Trop bien !
thanks alot Jeff and Sixense
to other Max user – The Razer hydra is the most Precise motion controller I have used – knocks the wiimote, playstation move and kinect out of the park in terms 1to1 position accuracy
Thanks for taking the time to add OSC support. I can not wait for my Hydra to arrive so I can hook it up to Max.
Any further reports on how this is working out?
I’m tempted to invest…
Also, anyone have any idea how many degrees of precision are usable here, I can’t seem to find any actual statistics?
Ive been trying out all sorts of ways of using it as a controller – haven´t settled on anything yet though – but it has great possibilites
Ive also been thinking about modding it so that one can use fingers to play individual notes
I am not home so I can´t check degrees of precision, but it is very precise (i think its something like 500-600 degrees for x/y/z position vectors – and 360 degrees for rotational vectors)
Here is me testing out FM synthesis with it
the sound quality is poor though
Thanks for getting back, and thanks for pointing out the video.
I’m not surprised you’ve not settled on anything – that’s a lot of different controls to think about.
Great that Sixense are involved on the forum, but have they released the OSC patch officially yet?
I think you can get the OSC bridge with the midi sdk on Steam (you need to use the midi software to calibrate/turn on the Hydra)
So you just need to register on steam and go to their sdk download page (last time I checked it was nr 9 counting from the bottom of on the sdk download page)
But if you can´t find it check out sixensejeff in this forum – he leves his email in the post above the picture of the max OSC patch, and he´s a nice guy – I´m sure he can help you out
All the best
currently i can’t connect to Steam, because, well, there is in this university’s network something that blocks any website related to gaming… which is kind of a pain. So is there any way to get that razer hydra osc max object somewhere without Steam ?
Turns out steam’s app is windows only, plus MIDI only ; after a bit of searching found a github for an osc app here :
compiled for zindows only though, but osx should be neaaaarly straightforward ?.. plus this dates back to some time so it could be that so;eone has done it already
(for the record : http://sixense.com/forum/vbulletin/showthread.php?3669-Osc-1-0)
well, there’s that too now http://sixense.com/forum/vbulletin/showthread.php?4147-Sixense-SDK-wrapper-object-for-Max-MSP-and-Pure-data
not compiled for osx10.6.8 yet, i will report that.
soo actually the git includes the compiled binary .mxo, which works like a charm… there is also a pd external.
How does it run? Like, what’s the data speed/resolution like? The hydra is really quite an affordable system…
speed/resolution is, eh, very good, i think you can poll at a minima of 1ms ? Resolution is very good too… hard to tell tbh, it would be accurate to compare with a wiimote maybe, but i didn’t.
But, it seems to be very cpu heavy (takes one of my 4 cores)… and the max object crashes easily, ie if you create 2 instances of the thing, only one will work, the first you will send a "poll" message ; and in one max session it will always be the same (also meaning that if you close the patcher then reopen then poll it will crash…) those problems seem to be more related to the razer pilots than the object itself.
thanks – idk, it looks like it would be great for a solo instrument.
it’s undoubtedly worth a try.
I’m using it, and now i think that maybe it would be better to port the osc app to mac and use that, than use the max external, given that you must reopen max each time you erase/recreate said external… i tried to make on osc app, but replaced the timing provided by the glfw library (i couldn’t compile it on osx) by something with a usleep(10000), anyway that application is a bit too much cpu heavy.
Ookay, so… now what i do is use a compiled max application embedding the [hydra] external, with which i communicate through udp, because the max external is sort of more flexible than the osc application. Plus i finally compiled that glfw on mac, but the resulting original osc application is heavier on cpu load than the version tweaked with usleep(3000 now – which means one frame of hydra data each 3 miliseconds). And the max external has the advantage of not having an osc layer, which is maybe less obvious to use but less heavy on the rest of the max patch.
I was wondering though if that cpu load is normal or if i did somehting wrong. Whatever thing i try to do with the hydra, it doesn’t seem to be able using less than one core, on an intel core i7 quadcore. Does anyone here have experience with that thing ? it’s a gaming device so it theoricaly should be much more optimised than this… i’m guessing on Windows it’s probably smoother…
Forums > MaxMSP