Linux offers a huge array of open source music players. And many of them are high quality. I’ve reviewed the vast majority for LinuxLinks, but I’m endeavoring to explore every free music player in case there’s an undiscovered gem.
Music Player Daemon (MPD) is a powerful server-side application for playing music. In a home environment, you can connect an MPD server to a Hi-Fi system, and control the server using a notebook or smartphone. You can, of course, play audio files on remote clients. MPD can be started system-wide or on a per-user basis.
Euphonica is an MPD client with a GTK4 interface. It sports an integrated spectrum visualiser, metadata downloading and more. This is free and open source software.
Installation
Like any MPD client, you need to setup MPD first.
Steve published a a short tutorial to get you up and running with MPD in Ubuntu. I’ve evaluated Euphonica with both Ubuntu and Arch Linux distros.
The easiest way to install Euphonica is with Flatpak. Issue the command.
$ flatpak install flathub io.github.htkhiem.Euphonica
In Operation
First, update the database in Euphonica. Click the sidebar icon (2nd icon from the top left), click the hamburger icon, and select Update Database.
I’ve loaded a small library of CC-licensed music (my staple when assessing memory usage).
I’ve widened the window otherwise the playback bar isn’t displayed. The software has a responsive design.

By default, the software uses the album art as background and shows a spectrum visualiser (both shown in the image above). I quite like the former but the visualiser is the first thing to be turned off (from Preference / Appearance). If you like the built-in visualiser you might be interested that it can read from a FIFO output or straight from the system Pipewire.
Features include:
- Responsive GTK4 LibAdwaita UI for most MPD features.
- Automatically fetch album arts, artist avatars and (synced) song lyrics from external sources (supports Last.fm, MusicBrainz and LRCLIB). All external metadata are cached locally and persisted on disk to avoid unnecessary API calls.
- Playlist browser and editor.
- Integrated MPRIS client with background running supported (via the XDG Background protocol). MPRIS integration can be disabled.
- Built-in customisable spectrum visualiser, reading from MPD FIFO or system PipeWire. Again the visualiser can be disabled.
- Rate albums.
- Live bitrate readout and audio quality indicators (lossy, lossless, hi-res, DSD) for individual songs as well as albums & detailed format printout.
- Browse your library by album, artist and folders with multi-selection support. I had issues with traversing folders though.
- Sort albums by name, AlbumArtist or release date. Your music collection needs to have the correct tags.
- Asynchronous search for large collections.
- Configurable multi-artist tag splitting.
- Performant album art fetching & display (cached with Stretto, a high performance thread-safe memory-bound Rust cache).
- Fast multithreaded, statically-cached background blur powered by libblur, a fast blur algorithms library for Rust.
- Volume knob with dBFS readout support
- User-friendly configuration UI & GSettings backend.
- MPD passwords are securely stored in your user’s login keyring
- Commands are bundled into lists for efficient MPD-side processing where possible.
There are lots of configuration options available. I can change how Euphonica connects to the MPD instance, control the MPD instance via keyboard shortcuts and shell applets (MPRIS daemon), as well as connect to Last.fm to fetch additional information including album wikis and artist biographies. There’s also support for MusicBrainz and metadata providers can be daisy-chained. There are some useful library customization options for searching/sorting, artists, and defining recent albums, artists and songs. Lastly there are options to change the appearance including setting the maximum number of grid columns, volume options, and more.
Summary
Euphonica is a decent MPD client. It offers a good range of functionality together with customisations. It’s definitely worth installing if you like MPD. And the beauty is that gapless playback is automatically supported.
The Folders view has a few annoying bugs. Hopefully they will get fixed soon.
The useful ps_mem utility reports that memory usage is around 230MB. You also need to factor in the memory used by mpd too.
While Euphonica doesn’t supplant Quimp, Cantata or Ymuse, it gets my recommendation scoring 7.9 out of 10. For more graphical MPD clients, check out my roundup.
Website: github.com/htkhiem/euphonica
Support:
Developer: Huỳnh Thiện Khiêm
License: GNU General Public License v3.0
Euphonica is written in Rust. Learn Rust with our recommended free books and free tutorials.