Recently I came across the Virtuix omni and Wizdish ROVR and I wondered if I can build something similar. I also took a look at other similar DIY projects which you can find by searching “diy omnidirectional threadmill” on the web.
I decided to try using a satellite dish mounted on a wooden frame, with a microphone fitted under it. Here is what it looks like:
You plug the microphone to your PC’s mic input, and when you are walking on the treadmill you make a noise, which in turn sends a w key press to the game. This should make your character walk in most games.
For this purpose I first tried Wizdish’s Wiz_Mic program, but it did not work well for me. The program needs a constant noise to send constant w key presses. On my treadmill I make step noises which is not constant, so I needed a program that can send a stream of w’s when triggered. For this purpose I developed MictoW, which is basically a modified version of .NET Voice Recorder by Mark Heath, which uses nAudio library to monitor microphone input and uses InputManager library by Shynet to send w key presses.
Download mictow_setup.exe and install.
On the first screen, select the preferred input device and click continue.
On the second screen, adjust the desired “Trigger Level” and “W Send Duration” and press Start. “Trigger Level” is between 1 and 100 and indicates when w key press will be sent. Lower values will result in soft noises triggering key presses, while higher values will require louder noises to trigger key press. “W Send Duration” can be set at 0.1 second intervals, up to 3 seconds. For example, if the setting is 2 seconds, the program will send a stream of w key presses for 2 seconds. This is useful to keep w pressed in between your steps on the treadmill. Press “Stop” to stop sending keys. It’s not necessary to push “Stop” while adjusting the parameters.
If you don’t have a VR headset like HTC Vive or Oculus Rift, I can suggest Trinus VR, which transfers your PC game to your phone screen, and you can use a headset like Google Cardboard.