a example of thinking on interface mapping
Dear fellow ChucKists, This weekend I was experimenting some more with my tilt-sensing joypad, adding a -so far crude- granualar way of playing back samples. When I handed it to some friends to try it turned out people subconciously expected something interesting to happen with vigorous shaking. This sounded like a interesting idea so I made crude and so far badly calibrated implementation. What I'm doing is checking the square of the change in bot axis since the last time I polled them and adding both of those to a "shake" variable from which I'm also subtracting a value periodically (at least as long as it's above 0). The resulting parameter seems to do a decent job of detecting whether the joypad is currently being shaken and if so how hard. As hard shaking tends to build up the parameter I have to let it return to 0 faster if it's higher. The result is -so far- being used to scale randomisation in the grain playback rate. This will need tuning (as well as a cleanup...) and I wonder if left-right shaking may need to be diffent from forward-backwards shaking and how important the period of "re-stabilising" of the whole thing is. So; this is still in a early stage, I only started at it last afternoon but it might be the sort of practical example that works for some people as a illustration of how I try to deal with this sort of subject. BTW, I set this sort of thing loose on my friends because I find observing how they interact with it leads to different insights then I'd get on my own, insights that often make interfaces perform bettter for myself as well. Hope that was of any use/interest. Yours, Kas.
Just as far as capturing the gesture of a shake is concerned, Kassen,
a 3-axis accelerometer might serve you well also. Is that what
detects tilt in your joypad? i seem to recall that the accelerometers
in those joypads aren't the greatest. if shaking is important, you
might try a better accelerometer.
Also, you're right to try them out on your friends (or anyone on the
street for that matter). Especially where interfaces are concerned,
people coming from a completely different place will tell you more
about your interface object just by using it that you could ever tell
yourself by testing it yourself.
Do you have any video of this yet? I'd love to see it in action.
-mike
On Sun, Jun 1, 2008 at 4:43 AM, Kassen
Dear fellow ChucKists,
This weekend I was experimenting some more with my tilt-sensing joypad, adding a -so far crude- granualar way of playing back samples. When I handed it to some friends to try it turned out people subconciously expected something interesting to happen with vigorous shaking.
This sounded like a interesting idea so I made crude and so far badly calibrated implementation. What I'm doing is checking the square of the change in bot axis since the last time I polled them and adding both of those to a "shake" variable from which I'm also subtracting a value periodically (at least as long as it's above 0). The resulting parameter seems to do a decent job of detecting whether the joypad is currently being shaken and if so how hard. As hard shaking tends to build up the parameter I have to let it return to 0 faster if it's higher. The result is -so far- being used to scale randomisation in the grain playback rate.
This will need tuning (as well as a cleanup...) and I wonder if left-right shaking may need to be diffent from forward-backwards shaking and how important the period of "re-stabilising" of the whole thing is.
So; this is still in a early stage, I only started at it last afternoon but it might be the sort of practical example that works for some people as a illustration of how I try to deal with this sort of subject. BTW, I set this sort of thing loose on my friends because I find observing how they interact with it leads to different insights then I'd get on my own, insights that often make interfaces perform bettter for myself as well.
Hope that was of any use/interest. Yours, Kas.
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
mike clemow:
Just as far as capturing the gesture of a shake is concerned, Kassen, a 3-axis accelerometer might serve you well also. Is that what detects tilt in your joypad? i seem to recall that the accelerometers in those joypads aren't the greatest. if shaking is important, you might try a better accelerometer.
Yes, I agree. The thing is; a wii controller wouldn't do for this because I want to use it two handed and need quite a few buttons. I stopped by almost every game and computer store in the city and most looked at me like I should've known they would never stock anything like a tilt/acceleration sensing joypad for PC so in the end I picked the only PS2 one I could find to use with a converter. I think the reports on the PS3 one's drivers are still a bit too scetchy. This one only has two axis and the quality is fairly low but workable with the interpolation I posted about earlier. I'll upgrade if I stick to this idea and something better comes along, maybe a hybrid of a ready made joypad and quality sensors. I also play games so a few controllers more isn't a big deal to me. :¬) I'm not yet sure if shaking is "important to me" but I suspect so; most people seem to want to go in that direction and that's always a good sign. If PLORK with their Wii controllers isn't yet doing this somebody there might want to try.
Also, you're right to try them out on your friends (or anyone on the street for that matter). Especially where interfaces are concerned, people coming from a completely different place will tell you more about your interface object just by using it that you could ever tell yourself by testing it yourself.
Oh, yes! The ones that are into electronic music but don't make it themselves are best, I find. They aren't looking for conventions. It's also a lot of fun for them and me. It's best when they point at the controller and ask where to get one while completely forgetting that it's the laptop where the sound comes from, that always means I'm on the right track, I feel.
Do you have any video of this yet? I'd love to see it in action.
Of this? No, not yet but I'll try to get one (I don't have a video camera or capable mobile phone myself). I have to tune this one some more before I'd film it as well because it's really quite rough at the moment, not even ready to set loose on friends yet, but I liked the idea and how it came about so much that I just had to share. Getting "shake" in adition to the other parameters and uses you can get from motion sensors is quite exciting to me, at the moment. Yours, Kas.
Hey Kas,
... I'll upgrade if I stick to this idea and something better comes along, maybe a hybrid of a ready made joypad and quality sensors.
I guess I was suggesting that you build your own interface. I do a
lot of that in my work. I think an Arduino and a 3-axis accelerometer
would be pretty sick start to a sweet interface. You could even add
all the buttons that you wanted anyway. Having some programability
on the microcontroller would provide some extra flexibility and power
sensing certain gestures (and distinguishing them from others). My
controllers usually speak to the computer via serial (or usb) and I
write some Python script or whatever to read those values off the
serial bus and shoot them out as OSC to Chuck. It works pretty well,
although you do have to get over some of Chuck's idiosyncratic OSC
issues. ;-)
-Mike
On Sun, Jun 1, 2008 at 2:03 PM, Kassen
mike clemow:
Just as far as capturing the gesture of a shake is concerned, Kassen, a 3-axis accelerometer might serve you well also. Is that what detects tilt in your joypad? i seem to recall that the accelerometers in those joypads aren't the greatest. if shaking is important, you might try a better accelerometer.
Yes, I agree. The thing is; a wii controller wouldn't do for this because I want to use it two handed and need quite a few buttons. I stopped by almost every game and computer store in the city and most looked at me like I should've known they would never stock anything like a tilt/acceleration sensing joypad for PC so in the end I picked the only PS2 one I could find to use with a converter. I think the reports on the PS3 one's drivers are still a bit too scetchy. This one only has two axis and the quality is fairly low but workable with the interpolation I posted about earlier. I'll upgrade if I stick to this idea and something better comes along, maybe a hybrid of a ready made joypad and quality sensors. I also play games so a few controllers more isn't a big deal to me. :¬)
I'm not yet sure if shaking is "important to me" but I suspect so; most people seem to want to go in that direction and that's always a good sign. If PLORK with their Wii controllers isn't yet doing this somebody there might want to try.
Also, you're right to try them out on your friends (or anyone on the street for that matter). Especially where interfaces are concerned, people coming from a completely different place will tell you more about your interface object just by using it that you could ever tell yourself by testing it yourself.
Oh, yes! The ones that are into electronic music but don't make it themselves are best, I find. They aren't looking for conventions. It's also a lot of fun for them and me. It's best when they point at the controller and ask where to get one while completely forgetting that it's the laptop where the sound comes from, that always means I'm on the right track, I feel.
Do you have any video of this yet? I'd love to see it in action.
Of this? No, not yet but I'll try to get one (I don't have a video camera or capable mobile phone myself). I have to tune this one some more before I'd film it as well because it's really quite rough at the moment, not even ready to set loose on friends yet, but I liked the idea and how it came about so much that I just had to share. Getting "shake" in adition to the other parameters and uses you can get from motion sensors is quite exciting to me, at the moment.
Yours, Kas.
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
mike clemow :
Hey Kas,
Hello, Mike, thanks for sharing more of your thoughts on this!
I guess I was suggesting that you build your own interface. I do a lot of that in my work. I think an Arduino and a 3-axis accelerometer would be pretty sick start to a sweet interface. You could even add all the buttons that you wanted anyway.
Yes, this could make sense. I actually have a Arduino right here for testing. There's a reason for me liking off the shelf game controllers though. Over the years I played a lot of games so "my fingers are at home" with traditional joypads and arcade sticks and I find that to be a big advantage. Mass-production also does wonders for the price. Also; I'm fairly confident with woodworking and soldering irons but a Playstation joypad is really quite small for all the functionality that's in there with a ergonomic grip so I like those. Making something like that yet with better parts at home would be a major asignment. Still; I'm starting to wonder whether the traditional joypad is the best interface for this. I like the symetry of the Playstation pads but perhaps another shape might be better. This is a delicate issue that I don't think you can easily generalise about. To take a example from my own experience; as I wrote about before I sequence live music using a arcade stick. For this I have two large arcade sticks here, one has a Japanse (Sanwa) youstick, a very light ball-top that registers with just a light push. The other is a Korean (Fanta) stick, a bat-top that feels quite heavy and solid with a heavier spring. I found the tactile sensation changes my relation to my instrument and affects how I play it, even if both are digital 8-way sticks. It could be very worthwhile to see how different types of parts and shapes affect this sensation for a "joypad equivalent".
Having some programability on the microcontroller would provide some extra flexibility and power sensing certain gestures (and distinguishing them from others). My controllers usually speak to the computer via serial (or usb) and I write some Python script or whatever to read those values off the serial bus and shoot them out as OSC to Chuck. It works pretty well, although you do have to get over some of Chuck's idiosyncratic OSC issues. ;-)
That's interesting. Having some intelligence in the controller itself could be a good idea. The exact "shake" algorithem I described might even be straightforward to implement in analogue parts, that would give us our smoothing and interpolation for free. That's a interesting idea and definitely a field where the Arduino would shine over a ordinary HID encoder (you can order those as well). This is very interesting stuff (at least to me....) I'll keep experimenting (and playing!) and share my findings. BTW, after the bug that Dan found and the recent issues on the list I now saw this; http://electro-music.com/forum/topic-26631.html I think OSC could use some carefull atention for a future update. To me this sounds like a bit much in the wat of "idiosyncracies to get around". Thanks again for sharing your thoughts, Yours, Kas.
participants (2)
-
Kassen
-
mike clemow