Steam Controller

Steam Controller

통계 보기:
Steam Controller > 일반 토론 > 제목 정보
Pila 2015년 12월 16일 오후 2시 55분
Steam Controller Singer : Playing music with the Steam Controller
Hello !
I have been spending some time during theses days trying to understand how the communication between Steam and the Steam Controller works.
I was especially interested in driving the haptic actuators, so I could see their full potential.
I finally managed to get full control over the actuators, so I wrote a small piece of software to have fun with them, check this out :

https://www.youtube.com/watch?v=PUVga1mYhLY

https://www.youtube.com/watch?v=rBgMV1fqaKg

https://www.youtube.com/watch?v=Bwq2btaPio0

https://www.youtube.com/watch?v=9dIwXf30ZsU

You can try this by yourself, I made an archive with my software compiled for windows : https://sourceforge.net/projects/steam-controller-singer

You can check Peppy's quick start guide to get familiar with the software :
http://steamcommunity.com/sharedfiles/filedetails/?id=636019968

And here you can find all the source code : https://gitlab.com/Pilatomic/SteamControllerSinger

My software now supports wired & wireless mode, playback on both haptics and MIDI files as input
It will play MIDI channel 0 on the right haptic, and channel 1 on the left haptic
There should be only one active note per channel at the same time

You can use MidiEditor to edit your midi files

To start, simply drop a MIDI file on the Steam Controller Singer .exe
Pila님이 마지막으로 수정; 2016년 4월 3일 오전 5시 01분
< >
1-15444개 댓글 표시
roothorick 2015년 12월 16일 오후 3시 09분 
I suppose that it only makes sense that the LRA, which traces its lineage back to literal speakers, could do something like this. Pretty neat.

The SC doesn't seem to have an actual speaker of any kind; the startup/shutdown/identify sounds appear to come from simply running the right touchpad actuator at high frequencies. You can actually feel the vibration in the pad.

Does your tool interfere with Steam itself? Have you noticed any issues with "bottoming out" at lower frequencies? I've got some ideas...
digital_trucker 2015년 12월 16일 오후 4시 24분 
Methinks we have a long, long way to go to see the full potential of this thing. Just imagine what game devs can come up with when they start designing games from the ground up to take advantage of it.
Pila 2015년 12월 17일 오전 12시 03분 
roothorick님이 먼저 게시:

The SC doesn't seem to have an actual speaker of any kind; the startup/shutdown/identify sounds appear to come from simply running the right touchpad actuator at high frequencies. You can actually feel the vibration in the pad.

Yep, that's how I got the idea to do this

roothorick님이 먼저 게시:
Does your tool interfere with Steam itself? Have you noticed any issues with "bottoming out" at lower frequencies? I've got some ideas...

My tool "talks" directly with the steam controller, it would even work on a computer without steam.
What do you mean by "bottoming out" ?
[oRLY]Alia5 2015년 12월 17일 오후 6시 00분 
Dude that's awesome!
ZioYuri78 2015년 12월 18일 오전 2시 31분 
Love it!

Hope we can share sounds in some future updates.
[oRLY]Alia5 2015년 12월 18일 오전 3시 32분 
Official? I doubt it... since certain sounds cause problems with the controller... and inofficially it always will remain some kind of gimmick i'm afraid
Pila 2015년 12월 18일 오전 11시 03분 
I updated the video, this one has better quality, horizontal format and was shot with a steady camera
Patrick Jr. 2015년 12월 18일 오전 11시 37분 
Amazing work
roothorick 2015년 12월 18일 오후 4시 15분 
bli Pila님이 먼저 게시:
My tool "talks" directly with the steam controller, it would even work on a computer without steam.
What do you mean by "bottoming out" ?

I meant more along the lines of, will it interfere with Steam configuring controller mapping and sending inputs to the game while you're controlling the actuators?

Bottoming out, a more accurate term, I suppose, would come from the audio world: over-excursion. In layman's terms: a traditional design speaker is designed to only move a certain distance back and forth, but there's nothing preventing you from feeding it a signal that pushes the speaker past that amount of travel. This puts a great deal of stress on multiple components in the speaker; typically you melt the voice coil first. As volume increases, this is more likely to happen, but also as the lowest harmonic of the sound wave decreases, it becomes more likely to happen. So speakers are limited in how low of a tone they can produce without damage.

My question therefore is whether you saw signs of a similar phenomena. LRAs' theory of operation is nearly identical to speakers, just substituting a weight in place of the cone, so the lower the frequency of the vibration you want to achieve, the further the weight must travel to achieve it. Obviously there must be a limit to how far it can travel, and I'm curious how far we can go before hitting that wall.

Though, it occurs to me now, LRAs may have bumpers on each end, intended for the weight to hit when producing strong vibrations, transmitting the movement via physical contact instead of electromagnetic force. It'd definitely be a different feel (and louder!) when it hits that transition point, making the actuators more flexible still.
Pila 2015년 12월 19일 오전 1시 13분 
I did not try, but yeah, it might interfere, I would advise you not to try, for example, changing controller mapping in Big Picture while my tool is running. But to ba honest, my knowledge of how the Steam Controller works is too limited to be able to answer precisely this point.

Conerning the "bottoming out", now I see what you mean, I didn't know the engligh word for this. Not sure how LRA are mades, if there are bumpers, of if the drive signal was simply calculated to avoid this, but it does not seem to happen.
digital_trucker 2015년 12월 19일 오전 4시 10분 
We always called 'em 'blown speakers'.
ReeC 2015년 12월 20일 오후 12시 56분 
At first I had some issue running your code under linux (i'm the guy who commented your video on youtube) but then it was fine.

Today I managed to play two different tracks on the two pads using threads
http://pastebin.com/nS2sdBnB
Pila 2015년 12월 20일 오후 1시 11분 
I updated my code with support for the wireless dongle, so no more need to connect the steam controller through microUSB.

edit : another update to fix minor things

Just looked at your code. Good job ! You don't run into synchronisation problem between the 2 tracks ?
Pila님이 마지막으로 수정; 2015년 12월 20일 오후 1시 23분
ReeC 2015년 12월 20일 오후 1시 33분 
nope, it works pretty well. C time resolution is way finer than triplets at 120bpm! ... maybe some delay may cumulate for really long tracks
ReeC님이 마지막으로 수정; 2015년 12월 20일 오후 1시 33분
KittyPause 2015년 12월 20일 오후 1시 37분 
bli Pila님이 먼저 게시:
I updated my code with support for the wireless dongle, so no more need to connect the steam controller through microUSB.

edit : another update to fix minor things

Just looked at your code. Good job ! You don't run into synchronisation problem between the 2 tracks ?
Question, how does this thing open?

So I got this thing working, then realized you just linked what you made, not how to reproduce it with different notes.

So close yet so far; anyone mind telling me how we're compiling, how I have to go about this? .3.
KittyPause님이 마지막으로 수정; 2015년 12월 20일 오후 2시 15분
< >
1-15444개 댓글 표시
페이지당 표시 개수: 15 30 50

Steam Controller > 일반 토론 > 제목 정보