
termusic
Terminal music and podcast player in Rust with a server/TUI split, rusty, MPV and GStreamer backends, tag editor, and YouTube downloads via yt-dlp.
termusic is a terminal music and podcast player written in Rust. It was started as a rewrite of the Go player GOMU to avoid data race problems. It has a TUI frontend that talks to a separate server over a protobuf-based protocol, and it includes a built-in tag editor and a podcast database.
Playback is handled by one of three backends. The default is rusty, which is based on Symphonia. MPV and GStreamer backends can be enabled with the mpv and gst features. The README gives a per-backend support matrix covering MP4/M4A, MP3, OGG, FLAC, ADTS, WAV/AIFF, CAF and MKV/WebM containers. It also covers the AAC, MP3, FLAC, Vorbis, Opus, ADPCM and PCM codecs. Opus in the rusty backend needs the rusty-libopus feature. The rusty-soundtouch feature enables SoundTouch as the speed modifier. MPRIS media control is supported through D-Bus on Linux.
Tracks can be downloaded from sources such as YouTube, NetEase, Migu and KuGou using yt-dlp, with ffmpeg for post-processing. Album covers can be shown inside the terminal with the cover feature, or through an Ueberzug implementation with cover-ueberzug. Configuration lives in server.toml and tui.toml, plus a themes/ directory, under ~/.config/termusic/ on Linux, ~/Library/Application Support/termusic/ on macOS and %APPDATA%\termusic\ on Windows. It is aimed at users who want a local, terminal-based music and podcast library on Linux, macOS or Windows.


Alternatives & related tools
taskwarrior-tui
A terminal user interface for Taskwarrior with vim-like navigation and live filtering capabilities.
kalker
Scientific calculator CLI with support for calculus, variables, functions, matrices, and multiple number bases
Numbat
Statically typed scientific calculator language with physical dimensions as types and first-class units, with an interactive REPL and unit conversion via ->.
basalt
Terminal user interface (TUI) for managing Obsidian vaults and notes from the command line
outside
Terminal weather client with multiple output formats including TUI, JSON, and Waybar integration
add a badge to your README
Maintain termusic? Show that it's featured on trmn. The badge links back to this page.
[](https://www.trmn.sh/tools/termusic?utm_source=badge)<a href="https://www.trmn.sh/tools/termusic?utm_source=badge"><img src="https://www.trmn.sh/badge/termusic.svg" alt="Featured on trmn" height="20"></a>