audiomancer
v0.1.1
Published
A terminal music player for YouTube, powered by yt-dlp + mpv
Maintainers
Readme
Audiomancer
A minimal terminal music player. Search YouTube, stream audio only (no video), control playback with your keyboard — no browser, no downloads left on disk.
How it works
- yt-dlp searches YouTube and resolves a direct audio stream URL (no file is downloaded).
- mpv plays that stream with
--no-video, exposing an IPC socket for control. - The CLI talks to mpv over that socket to pause/seek/adjust volume live.
Prerequisites
You need yt-dlp and mpv installed and on your PATH.
# macOS
brew install yt-dlp mpv
# Ubuntu/Debian
sudo apt install mpv
pip install -U yt-dlp # apt's yt-dlp is often stale; pip stays current
# Windows (scoop)
scoop install yt-dlp mpvInstall
cd audiomancer
npm install
npm link # makes the `adt` command available globally(Skip npm link and just run node src/index.js ... if you don't want it global.)
Usage
adt play lofi hip hop radio # search + play the first match
adt search daft punk # list matches without playing
adt id dQw4w9WgXcQ # play a specific video ID or URLControls while playing
| Key | Action |
|-----------|-----------------|
| space | pause / resume |
| → / ← | seek ±10s |
| + / - | volume up/down |
| q | quit |
Notes / next steps
- Playlist/queue support isn't in here yet — each
playcall replaces the current track. - Volume is currently a fixed jump (80/30) rather than tracked incrementally; wire up
get_property volumeover the IPC socket if you want true relative steps. - This same "resolve stream URL → hand to a player" pattern is what you'd reuse for syncing playback across PairSpace sessions — the stream URL + a shared timestamp is really all clients need to stay in sync.
