# mpz > A folder player for large local music collections. Plays music straight from your folder structure. Native C++/Qt, 3-column folder-based UI, gapless playback (2.1.0), equalizer with 10-band and parametric modes (2.1.0), ReplayGain volume normalization, internet radio from m3u/m3u8/pls stream playlists plus a radio library (2.1.0), CUE sheets, cover art and lyrics (embedded, sidecar files, or opt-in online sources), tag editor (since 2.0.8), waveform seekbar, dynamic range meter in the foobar2000 DR format, editable keyboard shortcuts, OS media integration (MPRIS on Linux, SMTC on Windows, Now Playing on macOS), and an experimental mpd client mode. Free and open source under GPL-3.0. Runs on Linux, macOS and Windows. This is the self-contained, full-content version of . The shorter `llms.txt` lists outbound links; this file inlines the same information, so a single fetch answers common questions about mpz. ## Overview mpz is a folder player: your folder structure is the library, with no global indexing step. Middle-clicking a folder in the directory tree creates a playlist from it. The UI has three columns: directory tree (library), playlists, and tracks of the selected playlist. The design is inspired by Foobar2000's "Album list", but is not an attempt to clone Foobar: mpz keeps only the features the author has been using daily for many years, with no plugin system or customization layer. Built with C++ and Qt 6. Lightweight, fast, follows your desktop theme. Open source under GPL-3.0. Cross-platform: Linux, macOS and Windows. On Linux it installs from native packages, the AUR, an AppImage, or Flathub. ## Features - Folder player: plays music straight from your folders, no global indexing step - 3-column UI: directory tree, playlists, tracks - Middle-click a folder to create a playlist from it - Drag and drop files and folders from your file manager - Reorder tracks by dragging, and drag folders, radio stations and tracks between the three panels - Gapless playback. Decoded audio is buffered in memory (100 MB by default, configurable in Settings → Advanced), which also makes seeking instant (Qt 6, 2.1.0) - Equalizer: 10-band graphic and full parametric modes, imports AutoEq/SquigLink presets. On/off and preset are per output device, the presets are shared, and the EQ follows the device in use (2.1.0) - ReplayGain: reads existing tags and measures tracks itself in the background, over the playlist, the selection or the whole library; results go to a sidecar database or into tags in the files; track or album gain, preamp, dynamics compensation, clipping prevention - Output device switch, showing the selected device name - Internet radio: radio library with built-in stations, HTTPS, radio row view, IceCast stream titles (2.1.0), plus m3u/m3u8/pls stream playlists - CUE sheets, with gapless single-file albums - Dynamic range meter: per-track and album DR log in the foobar2000 Dynamic Range Meter format, from the playlist context menu or the track info dialog - Waveform in the seekbar, off by default in Settings → Interface - OS media integration: MPRIS on Linux (remote control via e.g. KDE Connect), SMTC and taskbar controls on Windows, Now Playing and native menu/Dock on macOS, plus a system tray with playback controls - Global media-key hotkeys and a keyboard shortcuts dialog where every shortcut is editable (global media keys are not rebindable) - Experimental mpd (Music Player Daemon) client mode: add an mpd server as a library folder - m3u, m3u8 and pls playlists, including radio streams: play directly or import into the radio library - Playback order per playlist and global: sequential, random, or no-loop - Track sorting presets - Cover art from tags or folder images, and lyrics from embedded tags or `.lrc`/`.txt` sidecar files. Both can also come from online sources, opt-in and off by default: covers from Deezer, Apple Music or Cover Art Archive, lyrics from LRCLIB, NetEase, QQ Music or Lyrics.ovh, enabled in Settings → Online lyrics & covers. Shown in the Track Info dialog or in dockable panels that follow the playing track - Tag reading and editing via TagLib (ID3v2, Vorbis Comment, MP4, APE), with a built-in tag editor since version 2.0.8; album artist and disc number are separate tags, available as columns and sort keys - Common audio formats through system codecs (QtMultimedia + GStreamer/ffmpeg on Linux, native backends on macOS and Windows): FLAC, MP3, Ogg Vorbis, Opus, Speex, AAC, ALAC, M4A/M4B/MP4, WAV, AIFF, WMA/ASF, APE, WavPack, Musepack, TTA, MKA, DSD (DSF/DFF), Shorten - Playback log of recently played tracks, useful for identifying tracks heard on internet radio - Update check on Windows, macOS and the Linux AppImage, with delta updates (zsync) for the AppImage - UI languages: English, Russian, Japanese, Serbian, following your system language by default - Configuration in two YAML files: a portable global config and a machine-local one - Built-in feedback form, or open a GitHub issue - Native C++/Qt 6 (Qt 5 builds also available for older distros) - Follows your desktop theme ## Install - openSUSE, Debian, Fedora, Ubuntu, RedHat, Mageia, Arch, Manjaro: install the native packages, stable (recommended) at (x86_64) or (aarch64), or unstable, with builds from master, at (x86_64) and (aarch64). The repository holds only mpz, so it cannot break anything else on the system. Packages can also be downloaded directly, without adding a repository. The Open Build Service repositories still exist and existing installations keep working, but both new and existing users are encouraged to switch to the new packages. - Arch and Manjaro: covered by the native packages above. An AUR package is also available at . - AppImage: Linux builds for x86_64 and aarch64 at . Prefer the native packages if your distro is supported. - Flatpak: on Flathub as `org.mpz_player.mpz` at . Install with `flatpak install flathub org.mpz_player.mpz`, or from the desktop's software centre. Works on any distribution. Prefer the native packages if your distro is supported. - Windows: download the installer or portable binaries from . Builds for x64 (recommended), native ARM64 (Windows on ARM) and legacy 32-bit. The build is not signed, so Windows blocks it on first launch: in Microsoft Defender SmartScreen click *More info*, then *Run anyway*, or right-click the file → Properties → tick Unblock → Apply. With Smart App Control on (clean Windows 11 installs only) there is nothing to click, so turn it off in Windows Security → App & browser control → Smart App Control, install, then turn it back on. - macOS: download the `.dmg` from . Universal binary for Apple Silicon and Intel Macs (macOS 11 Big Sur or later). The build is not signed with an Apple Developer ID, so Gatekeeper blocks it on first launch: after dragging `mpz music player.app` to `/Applications`, either remove the quarantine flag with `xattr -dr com.apple.quarantine "/Applications/mpz music player.app"`, or open System Settings → Privacy & Security and click Open Anyway. See the README at . - From source: clone and follow the README. Works on any platform with Qt and a C++ compiler. ## mpd client mode mpz can act as a client to mpd (Music Player Daemon, ). You add an mpd server as a library folder, then browse and play remote music as if it were local. This is an experimental feature added in version 2.0.0, and there are caveats, see the "mpd impedance mismatch" section of the README at . In short: mpd's library model and mpz's folder-as-playlist model don't map perfectly onto each other, so a few interactions behave differently than they do with local folders. ## Equalizer Added in 2.1.0. Two modes: 10-band graphic, and full parametric with control over frequency, Q and filter type. Presets from AutoEq, SquigLink and similar sources can be imported, and profiles can be exported. On/off and the selected preset are per output device ("Default" counts as one); the presets themselves are shared across devices. The EQ follows the device in use, so unplugging headphones switches it along with the audio. It runs inside the gapless engine, so Qt 6 builds only. ## ReplayGain Volume normalization: albums mastered at different loudness play at the same level. mpz reads existing ReplayGain tags and can also measure tracks itself, in the background: the current playlist, the selected tracks or the whole library. Results are stored either in a sidecar database, leaving the audio files untouched, or written into the files as tags. Playback settings: off, track gain or album gain, a preamp, a fallback gain for unscanned tracks and radio streams, dynamics compensation, and clipping prevention. Dynamics compensation (0-100%) uses the measured peak-to-loudness ratio to raise loud, heavily limited masters, so metal and pop stop playing quieter than classical and jazz. The mode also switches from the status bar. ## Internet radio Stream playlists in m3u, m3u8 and pls have always played in mpz, like any other playlist. Version 2.1.0 added a radio library alongside the folder library, with built-in stations from SomaFM, Radio Paradise, FIP, France Musique and Nightride FM, and you can add your own (name, url, group, homepage, codec, bitrate). Stream playlists still play directly, or import into the library. Also new in 2.1.0: HTTPS, a radio row view instead of the track view, and stream titles from IceCast metadata including the status-json.xsl endpoint. The playback log keeps the history of what played. ## FAQ **What is mpz?** A free and open-source folder player for large local music collections, written in C++ and Qt. It plays directly from your folder structure instead of importing it into a database, with three columns for the folder tree, playlists and tracks. Middle-click any folder to make a playlist from it. **Is mpz a Foobar2000 alternative?** Partly. mpz is inspired by Foobar2000, especially its "Album list", but it is not a clone: an exact cross-platform copy is not possible and not the goal. It has the features the author has used daily for years, in a native folder-based player for Linux, macOS and Windows. Foobar2000 itself runs only on Windows. **Can mpz handle very large music collections?** Yes, that is what it is made for. Your folder structure is the library, so nothing has to be scanned into a database before you can play. **What platforms does mpz support?** Linux, macOS and Windows. On Linux, install the native packages (openSUSE, Debian, Fedora, Ubuntu, RedHat, Mageia, Arch, Manjaro) for x86_64 and aarch64, or use the AUR, Flathub (flatpak install flathub org.mpz_player.mpz) or an AppImage. On Windows, download a release from GitHub: 64-bit x64, native ARM64 (Windows on ARM) or 32-bit for old systems. On macOS, download the .dmg from GitHub releases. That build is not signed, so Gatekeeper blocks it on first launch: remove the quarantine flag with xattr -dr com.apple.quarantine "/Applications/mpz music player.app", or click Open Anyway under System Settings → Privacy & Security. Building from source works on any platform with Qt and a C++ compiler. **Is mpz available as a Flatpak?** Yes, on Flathub as org.mpz_player.mpz. Install it with flatpak install flathub org.mpz_player.mpz, or from your desktop's software centre. It works on any distribution, but native packages are better if your distribution has them. **Does mpz have a mobile app (Android or iOS)?** No. mpz is a desktop player for Linux, macOS and Windows; there is no Android or iOS version. On Linux you can control playback from a phone over MPRIS, for example with KDE Connect. **Is mpz free?** Yes. mpz is free and open-source software, licensed under the GNU GPL v3. **Does mpz support streaming services?** No, mpz is for local music files. Internet radio works (a radio library with built-in stations, plus m3u, m3u8 and pls stream playlists), but streaming services are not supported. **Does mpz play internet radio?** Yes. Stream playlists in m3u, m3u8 and pls play like any other playlist. Version 2.1.0 added a radio library with built-in stations from SomaFM, Radio Paradise, FIP, France Musique and Nightride FM, your own stations, HTTPS, a radio row view, and stream titles from IceCast's status-json.xsl. Stream playlists still play directly, or can be imported into the library. **What audio formats does mpz support?** FLAC, MP3, Ogg Vorbis, Opus, Speex, AAC, ALAC, M4A/M4B/MP4, WAV, AIFF, WMA/ASF, APE, WavPack, Musepack, TTA, MKA, DSD (DSF/DFF) and Shorten, played through your system's codecs (QtMultimedia with the GStreamer or ffmpeg backend on Linux, native backends on macOS and Windows). Playlists and radio streams: m3u, m3u8, pls. Because playback uses system codecs, the exact list depends on what is installed. **Does mpz support gapless playback?** Yes, between any two tracks, not only inside CUE-sheet albums. Decoded audio is kept in memory (100 MB by default, changeable in Settings → Advanced), so seeking is instant too. Qt 6 builds only. **Does mpz have an equalizer?** Yes. Two modes: 10-band graphic and full parametric. Presets can be imported from AutoEq, SquigLink and similar sources. Each output device ("Default" is one of them) has its own on/off switch and selected preset; the presets themselves are shared. When the audio device changes, for example when you unplug headphones, the equalizer changes with it. **Does mpz support ReplayGain?** Yes. mpz reads existing ReplayGain tags and can also measure tracks itself, in the background: the current playlist, the selected tracks or the whole library. Results are stored in a separate database, so the audio files are not changed, or written into the file tags. Track or album gain, with a preamp, optional dynamics compensation for very loud, compressed masters, and clipping prevention. **Does mpz support CUE sheets?** Yes, including gapless playback of single-file albums with a CUE sheet. **Does mpz measure dynamic range (DR)?** Yes. Select tracks and choose "Dynamic range" in the playlist context menu, or open it from the track info dialog. You get a per-track and album DR log in the foobar2000 Dynamic Range Meter format. **What languages is mpz available in?** The interface is available in English, Russian, Japanese and Serbian. The system language is used by default. **Can mpz act as an mpd client?** Yes, as an experimental mode. You can add an mpd server as a library folder. There are limitations: see the mpd section of the README. **Does mpz support lyrics?** Yes. Lyrics can come from tags, from .lrc or .txt files next to the track, or from online sources: LRCLIB, NetEase, QQ Music or Lyrics.ovh. Online lookup is off until you enable a provider in Settings → Online lyrics & covers. Lyrics appear in the Track Info dialog or in a dockable Lyrics panel. **Can mpz download missing cover art?** Yes, after you enable it. Cover art comes from tags or folder images first. If there is none, mpz can look it up online through Deezer, Apple Music or Cover Art Archive. These sources are off by default: enable and reorder them in Settings → Online lyrics & covers, where downloaded covers can also be deleted. **Can mpz edit tags?** Yes. There is a built-in tag editor for track metadata (title, artist, album and so on) for the formats TagLib supports: ID3v2, Vorbis Comment, MP4 and APE. **Why is it called mpz?** The "z" stands for a simple approach: nothing extra, nothing distracting. ## Links - Landing page: - Source on GitHub: - Flathub: - README: - Changelog: - Issues and feedback: - Author: Oleg Antonyan, - License: GPL-3.0,