Credits

January 26, 2026 · View on GitHub

This is based on: https://github.com/abstract-creations/subwoofer

Description

Converts desktop audio (or any audio device) into vibration commands for sex toys through initface in realtime.

Alternative to funscripts for vibrators.

Usage Guide (For executable build)

Download the latest release from the releases tab on the right.

  1. Connect your device to initface
  2. Start the initface server
  3. Double click AudioToVibrations.exe
  4. Select and confirm an audio device. The audio visualizer, debug window and control panel will open after.
  5. The AudioToVibration app should automatically connect with initface. It will display debug messages in the debug window.
  6. You can now use the control panel to edit settings in realtime. The effect of the settings will be shown in the Live Audio View.

Usage Guide (For Running Rust Script Directly)

Clone and Extract this repo. (Download and extract the zip file)

Navigate to the project directory: Open your terminal or command prompt and change your current directory to the root of your Rust project (the directory containing Cargo.toml, Cargo.lock, and the src folder).

Run the project: Once you are in the project's root directory, execute the following command: cargo run

if you don't have rust installed you will get this error: cargo : The term 'cargo' is not recognized as the name of a cmdlet, function, script file, or operable program. 

Go to the official Rust website: https://www.rust-lang.org/tools/install Follow the on-screen instructions. It will usually ask you to proceed with the default installation, which is generally fine. This process will install Rust, Cargo, and set up the necessary environment variables.

Close and Reopen your Terminal/PowerShell: After installing Rust, the changes to the PATH variable might only take effect in new terminal sessions.

Then try running cargo run again in your project directory. (The first time it runs it will download the necessary dependencies)

(While downloading dependencies you may get the error "The process cannot access the file because it is being used by another process. (os error 32)" Simply close and reopen the console terminal and type cargo run again)

It will ask you to select an audio device in the GUI and to confirm it.

Once you select a device, the audio visualizer and control panel will open.

The visualizer just lets you see the audio waveform and you can edit various settings in realtime from the control panel.

Open initface and start the server, you will see debug messages in the console letting you know it has connected to initface and with your device.

Added Features:

  • More seamless connection, continuously rescans for initface on connection loss
  • Audio Signal Smoothing
  • Setup window for Audio Device Selection
  • Control Panel
    • slider for vibration intensity
    • slider for minimum instruction delay
    • slider for threshold cutoff value
    • slider for audio smoothing value
    • toggle for low pass filter
    • Buttons to reset settings to defaults
    • Buttons to increment/decrement values quickly
    • Added multi-device support: Select a specific device to vibrate or choose to vibrate all of them. You can also press the refresh button to scan for new devices.
image image image