Roboron3042 / SteamControllerSinger

This project is a fork of Pila's Steam Controller Singer, including a dirty fix to make the Steam Controller sing again.
BSD 3-Clause "New" or "Revised" License
33 stars 7 forks source link

Steam Controller Singer

This project is a fork of Pila's SteamControllerSinger including a dirty fix to make the Steam Controller sing again.

The Steam Deck is also supported, since its built-in controller is very similar to the Steam Controller!

Note: Steam Controller Singer currently only works on GNU/Linux, and this fork was created to address a GNU/Linux-only issue. Therefore, no Microsoft Windows executable is provided (if you want one, go to the original source), and no Microsoft Windows related issues will be accepted.

HOW TO

  1. Turn on your Steam Controller
  2. Drag the midi file onto steamcontrollersinger executable
  3. When prompted, press ENTER
  4. Enjoy!

Where can I find midi songs?

You can find midi songs ready to be played with Steam Controller Singer in my Personal Collection (I'll keep updating it with more songs). You can also download midi songs from various websites such musescore.com, but they may or may not be ready to be played with Steam Controller Singer (see Midi files tips in that case).

Usage from command prompt:

steamcontrollersinger [-r][-l DEBUG_LEVEL] [-i INTERVAL] [-c RECLAIM_PERIOD] MIDI_FILE

-i INTERVAL argument to choose player sleep interval (in microseconds). Lower generally means better song fidelity, but higher cpu usage, and at some point goidn lower won't improve any more. Default value is 10000

-l DEBUG_LEVEL argument to choose libusb debug level. Default is 0, no debug output. max is 4, max verbosity output

-r to enable repeat mode, which plays continously (restart the song when finished)

-c RECLAIM_PERIOD will change the default reclaiming period (2 seconds). A greater period will reduce notes hanging, but will also increase the probability of losing the control of the controller, depending on the song. All songs are known to fail with reclaim period over 5. After a failed attempt, you will need to reconnect the controller.

Midi files tips:

Midi files may need to be edited with a software such MidiEditor to be correctly played with Steam Controller Singer following the next tips:

CHANGELOG

[V1.8]

[V1.7]

[V1.6]

[V1.5]

[V1.4]

[V1.3]

[V1.2]

Compiling

You will need libusb(-dev) and pkgconf. If you have them, just type make.

On the Steam Deck, you'll also need the base-devel, gcc, and linux-api-headers packages, in addition to libusb. You can install these with pacman after running sudo steamos-readonly disable.