docs: add README.md with project overview and usage instructions
Co-authored-by: aider (gemini/gemini-3.1-pro-preview) <aider@aider.chat>
This commit is contained in:
@@ -0,0 +1,24 @@
|
|||||||
|
# Headless Audio Player
|
||||||
|
|
||||||
|
A lightweight, headless Python audio player designed as a fast drop-in replacement for `mpv`.
|
||||||
|
|
||||||
|
## What it does
|
||||||
|
- Decodes and resamples common audio formats to `48000Hz`, `stereo`, `s16` PCM.
|
||||||
|
- Applies on-the-fly EBU R128 volume normalization using FFmpeg's `loudnorm` filter.
|
||||||
|
- Outputs raw PCM audio directly to a FIFO pipe (`/tmp/snapfifo`).
|
||||||
|
- Provides a JSON IPC server over a Unix socket for real-time playback control (pause, volume, seek, quit).
|
||||||
|
|
||||||
|
## What it's for
|
||||||
|
This player is specifically built to act as a backend player for music servers like **Navidrome** (in Jukebox mode) feeding into multi-room audio systems like **Snapcast**. It avoids the overhead of full `mpv` while maintaining compatibility with its IPC protocol.
|
||||||
|
|
||||||
|
## How to use it
|
||||||
|
|
||||||
|
1. Install the required dependencies (Python 3.11+ recommended):
|
||||||
|
```bash
|
||||||
|
pip install av numpy
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Run the player, specifying the IPC socket path and the audio file:
|
||||||
|
```bash
|
||||||
|
python main.py --input-ipc-server=/tmp/mpv-socket /path/to/song.flac
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user