termusic is a terminal music and podcast player written in Rust. It allows you to listen to music and podcasts freely, both in terms of freedom and cost. You can download music from YouTube, NetEase, Migu, and KuGou for free, without the need for monthly paid memberships.
termusic supports a wide range of audio formats across different backends:
| Format | Symphonia (rusty) | Mpv (mpv) | Gstreamer (gst) | Metadata |
|---|---|---|---|---|
| ADTS | Yes | Yes | Yes | No |
| AIFF | No | Yes | Yes | Yes |
| FLAC | Yes | Yes | Yes | Yes |
| M4a | Yes | Yes | Yes | Yes |
| MP3 | Yes | Yes | Yes | Yes |
| Opus | No | Yes | Yes | Yes |
| Ogg Vorbis | Yes | Yes | Yes | Yes |
| Wav | Yes | Yes | Yes | Yes |
| WebM | Yes (opus not supported) | Yes | Yes | No |
| MKV | Yes (depends on codec) | Yes | Yes | No |
The default backend is rusty.
use_dbus configuration option is enabled.Install from the AUR using an AUR helper:
paru termusicInstall from the official repositories:
pkgin install termusicInstall using nix-env:
nix-env --install termusic{
environment.systemPackages = with pkgs; [
termusic
];
}Install from crates.io:
cargo install termusic termusic-server --lockedClone the repository and build from source:
git clone https://github.com/tramhao/termusic.git
cd termusic
make
make installTo display album covers on terminals other than Kitty or iTerm2, install ueberzug or ueberzugpp and build with:
make fullRun termusic:
~/.local/share/cargo/bin/termusicYou can copy it to any location in your $PATH. The configuration file is located in ~/.config/termusic/config.toml (or on macOS, ~/Library/Application Support/termusic/config.toml).