Media Players
- Test checklist
- strawberry
- BELOW THIS LINE IS THE OLD NOTES, THIS WILL BE UPDATED WITH THE TEST PROCEDURE LISTED ABOVE
- quod libet
- rhythmbox
- pragha
- exaile
- sayonara
- lollypop
- tauon music box
- Strawberry
- clementine
- mpg123
- nuclear
- vlc
- kodi
- jellyfin
- jellycli
- jftui
- musikcube
- audacious
- gnome-music
- ymuse
- museeks
- cmus
- polaris
- cplay-ng
- qmplay2
- termusic
- sonata
- mellowplayer
- deadbeef
- amberol
- amarok
- headset
Test checklist
About
Links
- Project Page
- Screenshots
- Documentation
- Source Code
- Community
Features
- From website/docs
- Tested
Performance
Notes
Memory/CPU
- shortly after startup.
- while playing Small opus file.
- while playing large opus file.
- end of testing.
General interface speed.
How quick will it play a new song after clicking it.
Interface
Notes
Interfaces
- GUI
- TUI
- CLI
- Web
- Remote/App
- MPRIS
- KDEConnect
- Streaming server?
Resizing
- Half screen quality
- Quarter screen quality
- extra minimal interface?
Keyboard Control?
"10 foot" (TV) interface?
- Does it work well with a remote?
Notifications
- View only or controls on it?
- Album art?
Dark Mode (Manual or matches system)
Interface complexity
Tag editing process
- one song
- bulk edit
Search
- General Search Behavior
- Everything search (tags + filename)
- Tag search (one tag, all tags)
- Other notes
Library
Automatic Updates on folder change
- How fast does this happen?
Playlist imports?
Web radio imports?
Song plays written to tags?
Automatic tagging
Album art
Fan art
Lyrics
- Lyrics retrieval
- Show lyrics during playback
- Lyrics tag editing
Podcasts
- Stream or download?
- OPML Import?
- OPML Creation?
Subsonic
Subsonic load is sloooow. Downloading album covers took me 45+ minutes for a relatively small collection of 165 albums. For some reason album cover download reported 650 albums. All subsequent updates of subsonic library have to start this process over, so expect a long delay before you can play any new music from subsonic. With my medium-small collection of <3GB of music, this took over 45 minutes. Subsonic does mix into playlists/queues just fine. I was unable to get subsonic to play. EDIT: Downloading album covers can be disabled altogether. There should be better handling here. EDIT EDIT: MP4 AAC via subsonic works fine, OGG/Opus fails to play with an error.
Physical (MP3) player export
- Transcoding?
Track Rating
- Ease/Process
- Automatic
- Automatically written to tags?
Playlists
Manual Playlists
Smart playlists
- 'Weighted' shuffle
- Least recently played
- Stars/rating
- Minimum time between replays of artists/albums/songs
- Prioritize most liked songs
- Prioritize less played songs
Playlist import/export to standard formats
Playback
What does 'Now playing' look like
Shuffle mode
- Does shuffle mode have a queue that you can edit?
- Exclude some songs from shuffle?
Internet Radio
- Directory included?
- SomaFM
- Can add internet radio to local file queue
Gapless playback
Crossfade
Normalization/Volume leveling
Visualisations
Small FFT on playing bar.
WAF
Wife factor: Approved
strawberry
About
Strawberry is a music player and music collection organizer. It is aimed at music collectors and audiophiles. With Strawberry you can play and manage your digital music collection, or stream your favorite radios. Strawberry is free software released under GPL. The source code is available on GitHub. Strawberry is a fork of Clementine. It's written in C++ using the Qt toolkit and GStreamer. Strawberry is compatible with both Qt version 5 and 6.
Links
Features
From website/docs
- Play and organize music
- Supports WAV, FLAC, WavPack, Ogg Vorbis, Speex, MPC, TrueAudio, AIFF, MP4, MP3, ASF and Monkey's Audio
- Audio CD playback [*]
- Native desktop notifications
- Playlist management and playlists in multiple formats
- Smart and dynamic playlists
- Advanced audio output and device configuration for bit-perfect playback on Linux
- Edit tags on audio files
- Automatically retrieve tags from MusicBrainz
- Album cover art from Last.fm, Musicbrainz, Discogs, Musixmatch, Deezer, Tidal and Spotify
- Song lyrics from Lyrics.com, Genius, Musixmatch, ChartLyrics, lyrics.ovh and lololyrics.com
- Audio analyzer
- Audio equalizer
- Transfer music to mass-storage USB players, MTP compatible devices and iPod Nano/Classic [*]
- Scrobbler with support for Last.fm, Libre.fm and ListenBrainz
- Streaming support for Subsonic-compatible servers
Tested
Performance
Notes
Seems to be a memory leak. Mem goes up on every play. Halfway through testing I'm at 850MB. EDIT: 900MB. During previous testing it would periodically flush memory and go back <200MB but it doesn't seem to this session.
Memory/CPU
Startup: 0.15% CPU 196MB Memory Audio (small): 0.6% CPU 227MB Memory Audio (large): 0.6% CPU 270MB Memory - end of testing.
General interface speed.
Extremely responsive. Anything that doesn't require a library update (e.g. adding a subsonic server) happens instantly.
How quick will it play a new song after clicking it.
Interface
Notes
Tested on 1440p. Fractional scaling. i3/xfce dark mode
Interfaces
- GUI Primarily a GUI-based app.
- CLI Strawberry has a very easy to use CLI interface to control the running instance.
❯ strawberry --help
Usage: strawberry [options] [URL(s)]
Player options:
-p, --play Start the playlist currently playing
-t, --play-pause Play if stopped, pause if playing
-u, --pause Pause playback
-s, --stop Stop playback
-q, --stop-after-current Stop playback after current track
-r, --previous Skip backwards in playlist
-f, --next Skip forwards in playlist
-v, --volume <value> Set the volume to <value> percent
--volume-up Increase the volume by 4 percent
--volume-down Decrease the volume by 4 percent
--volume-increase-by Increase the volume by <value> percent
--volume-decrease-by Decrease the volume by <value> percent
--seek-to <seconds> Seek the currently playing track to an absolute position
--seek-by <seconds> Seek the currently playing track by a relative amount
--restart-or-previous Restart the track, or play the previous track if within 8 seconds of start.
Playlist options:
-c, --create <name> Create a new playlist with files
-a, --append Append files/URLs to the playlist
-l, --load Loads files/URLs, replacing current playlist
-k, --play-track <n> Play the <n>th track in the playlist
-i, --play-playlist <name> Play given playlist
Other options:
-o, --show-osd Display the on-screen-display
-y, --toggle-pretty-osd Toggle visibility for the pretty on-screen-display
-g, --language <lang> Change the language
-w, --resize-window <WxH> Resize the window
--quiet Equivalent to --log-levels *:1
--verbose Equivalent to --log-levels *:3
--log-levels <levels> Comma separated list of class:level, level is 0-3
--version Print out version information
- Web No web-based interface.
- Remote/App No dedicated remote/app. CLI and KDEConnect are both able to act as remotes.
- MPRIS Tested, works.
- KDEConnect Comprehensive. Album art, seek, volume, title, shuffle, loop, fw/rw.
- Streaming server No.
Resizing
Responds great to vertical resizing. Horizontal resizing is likewise good, however columns get compressed and may need resizing. No extra-minimal interface.
Keyboard Control
Customizable shortcuts, or can use X11 shortcuts.
"10 foot" (TV) interface?
No 10-foot interface. The standard interface works fine with an air-mouse and/or wireless keyboard. Had no problem reading the standard interface on a 1080p tv from across the room. Works well with remote.
Notifications
View-only notifications. Displays album art. Supports a custom on-screen-display, system notifications, or tray popups. Customizable timeout, and supports custom notifications based on song tags/playcount/rating.
Dark Mode (Manual or matches system)
Dark mode works automatically with KDE/Plasma5. Fails to enter dark mode on i3/xfce. I can't figure out how to even set it manually.
Interface complexity
Tag editing process
- one song
- bulk edit Cannot bulk remove a common prefix from tags (e.g. "Artist name - Song title" as the song title.)
Search
Does not search filename in collection search. Playlist window search is for everything. A hack to search everything is to open the "all tracks" smart playlist then search in there. No provision for searching one tag.
Library
Automatic Updates on folder change
- How fast does this happen?
Playlist imports?
Web radio imports?
Song plays written to tags?
Automatic tagging
Album art
Fan art
Lyrics
- Lyrics retrieval
- Show lyrics during playback
- Lyrics tag editing
Podcasts
- Stream or download?
- OPML Import?
- OPML Creation?
Subsonic
- Mix/Match subsonic with local files in queue
Physical (MP3) player export
- Transcoding?
Track Rating
- Ease/Process
- Automatic
- Automatically written to tags?
Playlists
Manual Playlists
Cannot unsort or manually sort playlists if you (purposely or accidentally) click a header to sort by title/artist/time/etc. This isn't strictly true in that you can undo the sort, but if you keep adding music to the playlist, the only way to make it manually editable again is to undo all the way back to the sort.
Smart playlists
- 'Weighted' shuffle
- Least recently played
- Stars/rating
- Minimum time between replays of artists/albums/songs
- Prioritize most liked songs
- Prioritize less played songs
Playlist import/export to standard formats
Playback
Sometimes songs would repeat or jump around while I was testing playlists. I'm not sure what caused this, as it never happened during daily use for the last week.
What does 'Now playing' look like
Customizable "Context" sidebar. Has both "stop" and "stop after this track". FFT and "mood bar", and supports automatically saving .mood
files.
Shuffle mode
- Does shuffle mode have a queue that you can edit?
- Exclude some songs from shuffle?
Internet Radio
- Directory included?
- SomaFM
- Can add internet radio to local file queue
Gapless playback
Crossfade
Normalization/Volume leveling
Visualisations?
Resource Use: 240MB Ram, 4.5% CPU. While looking at htop, cpu bumped up to 8-30%, ram was at >400MB, and then it dropped to 177MB. Back to 390MB. IDK MY BFF JILL. Pretty consistently sitting at 383MB now.
Interface is busy. Substantial right-click menu. Not super happy without being full-screen when fractional scaling.
Supports "Skip this track" in playlists. I don't understand how queues work? I can add to queue but not play from it? I don't understand how to shuffle. I can shuffle the playlist, but it plays in the original order.
Based on 'source' Column showing a disk for local files. Supports mixed sources for a playlist or queue, probably (untested).
SomaFM out of the box? I didn't see it originally, but added a single .pls from their webstie and somafm populated in the radio section with all (or most of) their stations. Maybe it took a minute to load them or maybe it discovered from my downloaded .pls file /shrug
Adds ratings and listen counts to file metadata.
Supports subsonic
Library scan does not detect internet radio playlists. When added manually, playlists can be added to a regular queue.
Supports organizing files based on tags.
Has many smart playlists out of the box, and supports making more with a simple wizard (what is this 1998?)/builder.
Reliably found (mostly) and displayed lyrics. No way to automatically put those in tags. Could just copy/paste them, I guess.
Supports external media hardware/MTP. Supports transcoding.
No dark mode RIP my eyes.
BELOW THIS LINE IS THE OLD NOTES, THIS WILL BE UPDATED WITH THE TEST PROCEDURE LISTED ABOVE
quod libet
source docs features screenshots
Used ~500MB Ram with a pile of plugins, and 1.5% CPU, as of the end of my testing. Did not test resources on first launch.
Lightweight, simple, fast interface. A lot of plugins come pre-installed. Audio-fingerprint based tagging does a reasonable first-pass for tagging. Supports rewriting filenames based on tags. Supports regex in most search fields.
The interface, though simple, is sometimes a bit disorganized. For example, shuffle and loop are on the bottom bar of the player, that is otherwise unused except those buttons. There are ten different interfaces that have a lot of overlap. These can be further modified with plugins.
Editing tags is easy enough, but cannot be done directly from the main window, and a second window has to open. Advanced tag editing with regex is possible. If a group of tags are hilighted, you will see (Tag FooBar (All except 3 songs)), making it easy to correct a few stragglers.
Audio Features: Equalizer, Compressor, downmixer (stereo to mono). A horrible karaoke mode.
Has a plethora of interfaces for control. DBUS, MQTT, MPD Server.
MPD server is barebones and does not support streaming, library management, or playlists. Only shows current track, volume, and track control. Shuffle and loop are also supported.
Outputs JEP-118 (Jabber user tunes file), and several instant messengers.
Many themes, dark theme worked without configuration.
Internet radio browser with many stations built in.
Supports manually added podcast RSS "Audio Feeds". Only supports streaming, no download (as far as I can tell?).
Supports building a queue while on shuffle (some songs ordered, then back to shuffle).
Can export a playlist as a folder full of files, m3u/pls, or HTML.
Automatic rating songs based on plays/skips. Supports weighted playback based on ratings, last time played, last time album/artist played, repeat penalties, etc. Powerful shuffle engine.
Several times it reported the wrong song was playing, or a different song than I clicked would play, but it showed the correct song in the player.
Supports running custom commands (in batch or on play) on songs based on their tags.
Plugins to show/sync lyrics, but no way to download them (that I can see, I do not rule out that one of the many tag plugins will do this).
Alarm clock and lullaby (fade out/sleep mode).
Internet radio .pls
and .m3u
files are not detected by library scanner. The stream links can be manually added from the 'Internet Radio' View, however saved files cannot be opened directly by the player. Internet radio cannot be added to the queue to play after local files.
Has inotify-based library watcher.
Notifications come with MPD server.
Based on some plugin and view text, some of the magic comes from saved playlists. I have not tested this.
Supports visualisations with projectM (milkdrop compatible)
Adds ratings and listen counts to file metadata.
Many more features available in plugins that remain untested.
rhythmbox
source homepage screenshots plugins
Resources: 250MB RAM, ~1.5% cpu. By the end of testing, resources climbed to ~300MB.
Small, light, fast. Simple interface. Happy using less space.
Supports "replaygain" to provide consistent volume. Untested.
Supports MTP devices.
Supports "DAAP" to share and play music over the network. Untested.
Automatically added and imported /home/$USER/Music. Set library to the correct location, but can't figure out how to unimport this, or make it rescan now that it's updated. Update, Just select all then click "remove". After doing this, you can click import and it will scan your new library.
Preferences has a checkbox to monitor library.
notifications include album art and play/pause/next/previous controls.
Metadata editing is stupid simple. A popup window opens that gives you editable fields. No advanced features, but several can be edited at once. Ostensibly has a lyrics search, but I haven't had any success returning lyrics.
Shuffle isn't a 'mode', but a button that shuffles your current queue, then plays linearly. This means no undoing, but you can also reorder it as you like, or add to it.
Internet radio .pls
and .m3u
files are not detected by library scanner. The stream links can be manually added from the 'Internet Radio' View, however saved files cannot be opened directly by the player. Internet radio cannot be added to the queue to play after local files.
Supports searching for podcasts directly from fapple podcasts. Subscribing to them doesn't seem to work. Manually adding them doesn't work either. The corner says "0 episodes" with a spinning circle, so maybe it'll work, but for now I can't even see evidence that tehy were subscribed to.
Update several minutes later: The podcasts are now in teh interface, but show no episodes.
Defaulted to match system dark mode.
There are several plugins that provide things like web control and other assorted features.
pragha
60MB Ram, 1.5% CPUImport
Crashes when adding new library folder. Works fine with default folder, I guess. Very minimal.