piper
Manage gaming mice profiles on Linux
TLDR
Output a WAV [f]ile using a text-to-speech [m]odel (assuming a configuration file at model_path + .json)
Output a WAV [f]ile using a [m]odel and specifying its JSON [c]onfig file
Select a particular speaker in a voice with multiple speakers by specifying the speaker's ID number
Stream the output to the mpv media player
Speak twice as fast, with huge gaps between sentences
SYNOPSIS
piper [OPTIONS]
PARAMETERS
--version
Displays the version information of the piper application.
--help
Shows a brief help message with available command-line options.
--display=DISPLAY
Specifies the X display to use for the graphical interface. This is a standard GTK option.
--device=PATH
Allows specifying a particular device path (e.g., /dev/hidrawX) to open directly within piper, bypassing automatic device discovery.
DESCRIPTION
piper is a graphical user interface (GUI) application designed for configuring various settings on compatible gaming mice in Linux. It provides a user-friendly frontend to the underlying libratbag library and the ratbagd D-Bus daemon, which handle the actual communication with the hardware.
With piper, users can easily customize a wide array of mouse parameters, including but not limited to:
piper aims to bring a level of configuration convenience to Linux users that is common on other operating systems for gaming peripherals, making it an essential tool for gamers and power users alike who wish to fine-tune their mouse hardware.
CAVEATS
piper relies heavily on the libratbag library and the ratbagd daemon. For piper to function correctly, ratbagd must be installed and running as a system service. Without it, piper will not be able to detect or configure mice.
Device compatibility is dictated by libratbag. Not all gaming mice are supported; only those for which libratbag has implemented drivers will work. Users should verify their mouse is supported by the libratbag project.
Proper user permissions (via udev rules) are often required to access the HID devices without needing to run piper as root. If devices are not detected, checking udev rules and group memberships (e.g., 'plugdev' or 'input') is a common troubleshooting step.
As a graphical application, piper's command-line options are limited, primarily serving for launching or basic debugging rather than extensive scripting or batch operations.
<I>DEPENDENCIES</I>
piper relies heavily on the libratbag library and the ratbagd D-Bus daemon. libratbag handles the communication protocols with various gaming mice, while ratbagd provides a persistent service for managing device configurations. Users must ensure these components are installed and running for piper to function correctly.
<I>DEVICE SUPPORT</I>
The range of mice supported by piper is directly tied to the devices supported by the underlying libratbag project. Not all gaming mice are compatible. Users should consult the libratbag project documentation (often on its GitHub page) for an up-to-date list of supported peripherals.
HISTORY
piper was developed as a user-friendly graphical frontend for the libratbag project. The motivation behind libratbag (and consequently piper) was to provide a standardized, open-source solution for configuring gaming mice on Linux, a functionality often restricted to proprietary software on other operating systems. Before piper, configuring advanced gaming mouse features on Linux was either impossible or required cumbersome manual configuration and reverse-engineering efforts.
The development of piper in conjunction with libratbag filled a significant gap in the Linux gaming ecosystem, offering a much-needed accessible interface for managing gaming peripheral settings, thereby enhancing the overall Linux gaming experience. It continues to evolve with support for new devices and features as they are added to the underlying libratbag library.
SEE ALSO
ratbagd(8), libratbag(7), udev(7)