Play a local music library from the terminal without any GUI
Watch a live FFT spectrum visualizer while coding in the same window
Cycle four gradient themes to match a true-color terminal setup
Filter and shuffle a playlist using only the keyboard
Needs Rust edition 2024 or newer and a true-color capable terminal for the gradients to render correctly.
Eurhythm is a music player that runs in your terminal. The acronym TUI in the README means Terminal User Interface, so instead of opening a graphical window, eurhythm draws its progress bar, playlist, and audio spectrum visualizer using colored text characters in a terminal window. It is written in Rust and uses 24-bit true-color gradients, which is the modern color mode supported by most terminal emulators. The visualizer reacts in real time to the music using a Fast Fourier Transform, or FFT, which is a math technique that turns a chunk of audio into a frequency breakdown so you can see the bass, mids, and highs as separate bars. There are four built-in gradient themes that you cycle through with the t key: Cyberpunk Neon (violet to teal with hot pink peak caps), Golden Sunset (yellow to orange with white caps), Northern Aurora (forest green to mint), and Classic Vintage (neon teal to golden orange to crimson). The interface includes a playing or paused status glyph, a progress bar with a white playhead dot, and a volume meter that grows past five slots into a red overdrive zone when you push past 100 percent, up to 200 percent. Playback management covers a shuffle mode using a linear congruential generator, a repeat mode that toggles between Off, All, and One, and metadata extraction from ID3 tags via the lofty library. You move around with arrow keys, seek with left and right, change volume with plus and minus, type slash to filter the playlist, and press q or Esc to quit. To run it, you need Rust and Cargo installed, with Rust edition 2024 or newer. You clone the repository, then run cargo run with the path to your music directory as an argument. The underlying audio engine is rodio, the FFT comes from rustfft, terminal drawing uses crossterm, and metadata parsing uses lofty. The project is MIT-licensed and credited to Eusebio Resende.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.