Unified Hi-Fi Control - Control Roon and HQPlayer
npx claudepluginhub open-horizon-labs/unified-hifi-controlUnified Hi-Fi Control - Control Roon playback and HQPlayer audio pipeline
Control your hi-fi system from anywhere — a hardware knob on your couch, your phone, or just ask Claude.
This bridge connects your music sources (Roon, LMS, UPnP) to any control surface you prefer. No vendor lock-in: mix and match sources, add HQPlayer DSP processing, and control it all from one place.
Once the bridge is running, control your system from:
http://your-bridge:8088docker pull muness/unified-hifi-control:latest
Download the SPK package from Releases:
unified-hifi-control_*_apollolake.spk — Intel x86_64 (DS918+, DS920+, etc.)unified-hifi-control_*_rtd1296.spk — ARM64 (DS220+, DS420+, etc.)Download the QPKG package from Releases:
unified-hifi-control_*_x86_64.qpkg — Intel/AMD x86_64unified-hifi-control_*_arm_64.qpkg — ARM64Add this repository URL in LMS Settings → Plugins → Additional Repositories:
https://raw.githubusercontent.com/open-horizon-labs/unified-hifi-control/v3/lms-plugin/repo.xml
Then install "Unified Hi-Fi Control" from the plugin list. The plugin automatically downloads and manages the bridge binary.
Pre-built binaries available for Linux (x64, arm64, armv7), macOS (x64, arm64), and Windows from Releases.
# docker-compose.yml
services:
unified-hifi-control:
image: muness/unified-hifi-control:latest
network_mode: host # Required for Roon/UPnP discovery
volumes:
- ./data:/data
environment:
- CONFIG_DIR=/data
# - UHC_PORT=8088 # Bridge port (default: 8088)
# - RUST_LOG=info # Log level: trace, debug, info, warn, error
restart: unless-stopped
docker compose up -d
# Access http://localhost:8088
| Variable | Description | Default |
|---|---|---|
UHC_PORT | Bridge HTTP port | 8088 |
CONFIG_DIR | Directory for config/state files | /data |
RUST_LOG | Log filter (e.g., info, debug, unified_hifi_control=debug) | debug |
LMS_HOST | Auto-configure LMS backend (used by LMS plugin) | — |
LMS_PORT | LMS server port | 9000 |
Legacy aliases: PORT (→ UHC_PORT), LOG_LEVEL (→ RUST_LOG)
Note: Port 8088 is also HQPlayer's default. If running both on the same host, change one.
If you route audio through HQPlayer for upsampling or filtering, this bridge lets you control HQPlayer's DSP settings (profiles, filters, shapers) alongside your zone controls.
Note: You need to set up audio routing to HQPlayer separately (via Roon, LMS/BubbleUPnP, or OpenHome). This bridge exposes the DSP controls, not the audio path.
/hqplayer