Hardware

Steam controller can sing songs using its haptic motors

At a glance:

  • Steam Haptics Singer lets any Steam Controller play MIDI files through its vibration motors
  • The tool is open‑source on GitHub and works with both the original and the revised controller models
  • Users can hear recognisable tunes such as the Super Mario Bros. 2 theme by dragging a MIDI file into the app

What the hack does

The Steam Controller, originally released by Valve in 2015, was praised for its flexible trackpads and dual‑haptic feedback system. A community member known as CrazyCritic89 discovered that those same haptic motors can be driven at precise frequencies, effectively turning the controller into a tiny speaker. By modulating the vibration patterns to match musical notes, the controller can reproduce entire songs, a feat demonstrated with a clear rendition of the Super Mario Bros. 2 theme.

How it works technically

The controller’s trackpads contain two linear resonant actuators (LRAs) that normally generate short‑burst feedback when a thumb slides or presses. Those LRAs are capable of oscillating across a broad frequency range. When driven continuously at a specific pitch, they emit a tone that can be heard through the device’s casing. CrazyCritic89 explained that the process involves mapping MIDI note values to corresponding motor frequencies, then sending a timed pulse train to each actuator. Because the motors are not designed as speakers, the sound quality is lo‑fi, but the pitch accuracy is sufficient for simple melodies.

The Steam Haptics Singer app

The implementation is packaged as Steam Haptics Singer, a free, open‑source program hosted on GitHub. It is a continuation of the earlier SteamControllerSinger project, which only supported the original 2015 controller revision. The newer app adds compatibility with the 2022 redesign, improves the MIDI‑parsing engine, and provides a straightforward drag‑and‑drop interface:

  1. Download the repository from GitHub and extract the executable.
  2. Connect a Steam Controller (original or revised) via Bluetooth or the Steam Link dongle.
  3. Launch the app, turn the controller on, and drag a .mid file onto the window.
  4. The program translates each MIDI event into motor‑frequency commands and streams them in real time. The source code is written in Python and uses the steamcontroller library to communicate with the device over the HID protocol. Users can also tweak the frequency‑to‑note mapping file if they wish to experiment with alternative tunings.

Community reaction and use cases

Since the Verge first reported the hack, hobbyists have shared videos of the controller rendering classic video‑game tunes, chiptune covers, and even simple pop songs. The novelty has sparked a small wave of DIY projects, such as building a haptic‑drum kit where each controller triggers a different percussion sound. Some accessibility advocates note that the vibration‑based output could provide an alternative feedback channel for users with hearing impairments, though the low volume limits practical applications.

Limitations and safety notes

While the haptic motors can vibrate at audible frequencies, they are not intended for continuous operation at high amplitudes. Prolonged use at maximum power may reduce motor lifespan or cause the controller to overheat. The developers recommend keeping the volume (i.e., motor intensity) below 70 % of the maximum setting and limiting playback sessions to a few minutes at a time. Additionally, the sound quality is inherently tinny; complex orchestral pieces will sound garbled, making the tool best suited for simple, monophonic melodies.

How to get started yourself

If you own a Steam Controller and want to try the haptic singing yourself, follow these steps:

  • Visit the Steam Haptics Singer GitHub page (https://github.com/CrazyCritic89/steam-haptics-singer).
  • Download the latest release for your operating system (Windows, macOS, or Linux).
  • Install any required dependencies listed in the README (Python 3.9+, pyusb, mido).
  • Pair your controller with your computer via Steam’s Big Picture mode or the standard Bluetooth pairing dialog.
  • Drag a MIDI file—many free files are available on sites like BitMidi—into the app window and watch (or listen) as your controller comes to life. The community maintains a curated list of popular MIDI files that translate well, including themes from Sonic the Hedgehog, The Legend of Zelda, and classic 8‑bit game soundtracks.

What’s next for haptic music

The discovery highlights an emerging niche where haptic hardware doubles as audio output. Valve has not announced any official support for the feature, but the open‑source nature of the project means that future firmware updates could expose more granular motor control. Researchers are already exploring whether similar techniques could be applied to other devices with LRAs, such as smartphones, VR controllers, and even laptop touchpads. As the line between tactile feedback and sound blurs, we may see new forms of expressive input that blend music, gaming, and accessibility in unexpected ways.

Editorial SiliconFeed is an automated feed: facts are checked against sources; copy is normalized and lightly edited for readers.

FAQ

What hardware does Steam Haptics Singer use to produce sound?
The app drives the two linear resonant actuators built into the Steam Controller’s trackpads. By pulsing these haptic motors at specific frequencies that correspond to musical notes, the controller emits audible tones that can be heard through its casing.
Is the Steam Haptics Singer compatible with both versions of the Steam Controller?
Yes. The original 2015 model and the revised 2022 version are both supported. The newer version adds a second motor and updated firmware, which the app detects automatically and adjusts the frequency mapping accordingly.
Can I use any MIDI file with the program?
Any standard `.mid` file can be dropped onto the app window, but simple, monophonic tracks work best. Complex multi‑instrument pieces may sound garbled because the controller only has two motors to render pitches.

More in the feed

Prepared by the editorial stack from public data and external sources.

Original article