Open-source project
strawberrymusicplayer/strawberry avatar
strawberrymusicplayer/strawberry

Strawberry Music Player: a Qt and GStreamer player for people who keep their own files

:strawberry: Strawberry Music Player

3,985 stars352 forksC++GPL-3.0

At a glance

What is it?
Strawberry is a C++/Qt music player and collection organizer forked from Clementine in 2018, aimed at audiophiles and collectors who want bit-perfect playback and local library control. It builds from source with CMake and Qt 6.4 or higher, and its macOS and Windows releases are sponsor-only.
Who is it for?
Adopt Strawberry if you keep a local library, care about bit-perfect output on Linux, and are comfortable installing from a PPA, an OBS package, or a CMake build. Skip it if you need a maintained Flatpak, a packaged Windows or macOS build without a sponsorship, or an issue tracker that accepts feature requests.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 3 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem Strawberry solves for people who own their music

Streaming clients assume the catalogue lives somewhere else. Strawberry assumes it lives on your disk. The README describes it as a music player and music collection organizer, originally forked from Clementine in 2018, written in C++ with the Qt framework and designed for audiophiles and music collectors. That audience is specific: people with FLAC, WavPack, ALAC, DSD and other files they ripped or bought, who want tags, cover art and lyrics filled in without handing the library to a service. The feature list reflects that. Format support runs from WAV and FLAC through Ogg Vorbis, Opus, MPC, TrueAudio, MP4/AAC, ALAC, MP3, ASF, Monkey's Audio and DSD (DSF/DSDIFF). Bit-perfect playback is listed for Linux only, which tells you where the project's centre of gravity is. If your music is a folder tree rather than a subscription, the tool is aimed at you. If you want a recommendation feed, it is not.

How the pieces fit: Qt front end, GStreamer pipeline, SQLite library

The dependency list is the architecture. Qt 6.4 or higher supplies Core, Concurrent, Gui, Widgets, Network, SQL and D-Bus modules, so the interface, the SQL-backed collection database and the MPRIS2 remote control all come from the same framework. SQLite 3.9 or higher is the store underneath that collection. GStreamer is the playback engine, and the README tells you to install the base and good plugin sets, with bad, ugly and libav as optional additions for fuller codec coverage. That is the trade-off to understand before you install: codec support is not compiled in, it is assembled from GStreamer plugins on your system. TagLib 1.12 or higher handles tag reading and writing, ICU handles text, OpenSSL covers network work, and KDSingleApplication 1.1.0 or higher enforces a single running instance. Optional features pull in their own libraries: Chromaprint for acoustic fingerprinting against AcoustID, FFTW3 for the fast spectrum moodbar, libcdio for audio CDs, libmtp for MTP devices, libgpod for iPod Classic, and libebur128 for EBU R128 normalization. Nothing here is exotic, but each optional dependency you skip removes a feature from the build.

Installing Strawberry on Linux and playing a first album

The README points to prebuilt packages before source. Stable Ubuntu builds come from the jonaski PPA, unstable from the strawberry-unstable PPA, and openSUSE users have stable and unstable packages on the openSUSE Build Service. Latest builds are published at builds.strawberrymusicplayer.org. If you prefer to build, the README gives the clone command with the recursive flag, which matters because the repository has a .gitmodules entry and submodules are part of the tree.

bash
git clone --recursive https://github.com/strawberrymusicplayer/strawberry

The build uses CMake 3.13 or higher. The README's sequence configures into a build directory, compiles in parallel, and installs with elevated permissions.

bash
cd strawberry
cmake -S . -B build
cmake --build build --parallel $(nproc)
sudo cmake --install build

Before running any of this, confirm the base dependencies are present: a C or C++ compiler, pkg-config or pkgconf, Boost, GLib, OpenSSL, Qt 6.4 or higher, SQLite 3.9 or higher, ALSA on Linux, GStreamer, TagLib 1.12 or higher, ICU and KDSingleApplication 1.1.0 or higher. After installation, launch the player and add a music folder through the library settings. The collection is stored in SQLite, so the first scan is the slow one. From there, the practical first checks are whether your files play at all (a missing GStreamer plugin shows up here) and whether the moodbar and fingerprinting features are greyed out, which indicates FFTW3 or Chromaprint was not found at build time.

Where Strawberry stops being the right tool

The packaging situation is the first real limitation. The README states plainly that the project does not maintain the Flatpak package and that Flatpak-specific issues should go to Flatpak support. If your distribution workflow is Flatpak-first, you are running a build the upstream project will not debug. The second limitation is platform access. Strawberry is tested on Linux, OpenBSD, FreeBSD, macOS and Windows, but the README notes that macOS and Windows releases are currently available to sponsors only, with a monthly Patreon sponsorship granting direct access. So the Windows and macOS binaries are not a download you can simply fetch. Third, the issue process is deliberately narrow. Feature requests are not accepted on GitHub and issues created for them will be closed; the README directs technical problems, discussions and feature suggestions to the forum. If your expectation of an open source project is that the tracker is where ideas get filed, this one will feel closed. Finally, bit-perfect playback is a Linux feature. On other platforms you get a player, not the same audio path.

Clementine, the ancestor, and what changed

The most direct comparison is Clementine, because Strawberry is a fork of it, not an independent design. The README dates the fork to 2018 and names the framework, Qt, and the language, C++. What the fork bought is visible in the feature list: DSD (DSF/DSDIFF) support, bit-perfect playback on Linux, EBU R128 loudness analysis alongside ReplayGain, and integrations that Clementine never carried in the same shape, including ListenBrainz scrobbling next to Last.fm and Subsonic, streaming from Subsonic-compatible servers, and unofficial Tidal, Spotify and Qobuz integration. The divergence is also one of cadence and packaging: releases 1.2.28, 1.2.29 and 1.2.30 landed within about two weeks of each other in August and September 2026, and the project ships its own Ubuntu PPAs and openSUSE Build Service packages rather than relying on distribution maintainers alone. If you are choosing between the two, the deciding question is whether you need DSD, bit-perfect Linux output, or the newer scrobbling and streaming integrations. If you do not, the fork's advantages shrink to packaging and release frequency.

Licence, maintenance and the cost of staying current

Strawberry is free software released under the GPL, and the repository carries the GPL-3.0 licence identifier with a COPYING file at the top level. For anyone distributing a modified build, that has the usual consequences: source availability and the same licence for derivative work. This is not legal advice, and the COPYING file is the document that governs. On maintenance, the repository is not archived and the last push was on 2026-09-22, one day before this writing, so the codebase is moving. The upgrade cost depends on how you installed it. PPA and OBS users get new versions through their package manager, which means the cost is a package upgrade and, occasionally, a library version bump such as the Qt 6.4 or higher floor. Source builders pay more: every upgrade risks a dependency that has moved, and the optional features you enabled with FFTW3, Chromaprint, libcdio, libmtp, libgpod or libebur128 have to be present again at configure time or they silently disappear from the build. The README's build instructions do not document a rollback path, so keep the previous binary or package version available before upgrading a working install.

Editorial conclusion

Adopt Strawberry if you keep a local library, care about bit-perfect output on Linux, and are comfortable installing from a PPA, an OBS package, or a CMake build. Skip it if you need a maintained Flatpak, a packaged Windows or macOS build without a sponsorship, or an issue tracker that accepts feature requests. Before committing, verify that Qt 6.4 or higher and GStreamer base and good plugins are present on your distribution, and check the FAQ and forum first, because GitHub issues that are feature requests are closed.

Frequently asked questions

What is Strawberry Music Player?

It is a music player and music collection organizer written in C++ with the Qt framework, originally forked from Clementine in 2018 and designed for audiophiles and music collectors. It plays and organizes local files and supports formats including FLAC, WavPack, ALAC, MP3 and DSD.

How do I install Strawberry Music Player on Linux?

The README points to stable and unstable Ubuntu PPAs under jonaski, stable and unstable packages on the openSUSE Build Service, and builds at builds.strawberrymusicplayer.org. Building from source uses CMake 3.13 or higher with Qt 6.4 or higher, GStreamer and TagLib 1.12 or higher.

Does Strawberry Music Player support bit-perfect playback?

The README lists bit-perfect playback as a feature on Linux. It is not listed for the other platforms Strawberry is tested on, which are Linux, OpenBSD, FreeBSD, macOS and Windows.

Are there Windows and macOS releases of Strawberry Music Player?

Yes, but the README states that macOS and Windows releases are currently available to sponsors only, and that a monthly sponsorship via Patreon grants direct access to new releases.

Does Strawberry Music Player maintain the Flatpak package?

No. The README says the project does not maintain the Flatpak package and that Flatpak-specific issues should be reported through Flatpak support.

Official sources

  1. License: GPL-3.0
  2. Project website
  3. README
  4. Releases
  5. strawberrymusicplayer/strawberry on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/strawberrymusicplayer-strawberry.svg)](https://hysenlabs.com/projects/strawberrymusicplayer-strawberry)