mucke (Android music player) – Adventures in Free Software #1
I'm a big music nerd. I currently have over 25GB of music stored on my Pixel 5 phone running the stock Android ROM, and I'm constantly adding to that number by downloading new albums from Bandcamp, and buying new CDs, to add to that number. Since I'm constantly listening to music at any spare moment, I use my phone's music player app very regularly, and am accordingly very picky about which I use.
Most Android users are reliant on streaming services like Spotify, which I avoid because they typically underpay their artists. I also prefer to own my music collection, and have all the control that comes with digital files. There are a great many local music players for Android, but possibly due to Android's infamous audio stack, they all leave something to be desired. Most of the commercial offerings have ads and paywalled features, two things I'd like to avoid. Among the free software players, many of them are missing gapless playback, a feature that is essential to me, as most of my favorite albums rely on unbroken transitions between songs. Many of them fall far short of my expectations for library management features, some seemingly unable to detect certain files while refusing to remove others from the library. And many will crash randomly, or strange audio playback issues. For most people, an app like VLC or Phonograph will be sufficient, but I'm too picky for those.
After trying several apps from F-Droid, eventually I found a rather unique music player called mucke, a hobby project of German developer Moritz Weber. The inclusion of gapless playback without the aforementioned bug was enough to put it above all others I'd tried. But not only did it have all the features I expected, it had several unique and useful features I wasn't expecting.
Feature overview
mucke has all the standard features necessary for managing a medium-sized music collection. It scans a user-provided list of folders for music for files with certain extensions, and allows the user to browse the collection by artist, album, or song. Custom playlists can be created from songs in the library, songs and albums can be looped, and albums and playlists can be shuffled. Every time a new song or album is added, the library must be manually rescanned from the settings menu; thankfully, this process is surprisingly fast, and in my experience always detects the new albums.
Designed for shuffle
Most of mucke's distinguishing features come into play in shuffle mode. On most music players, shuffle mode is near unusable for me; long suites are broken up, interludes play out of context, and bonus tracks like “demos” are mixed in between quality songs. mucke fixes all those problems, with features that allow the user to curate their shuffled playlists: * The ability to “link” adjacent songs on an album, so they will always appear together in shuffle mode * The ability to exclude songs from shuffle-all, shuffle, or while playing the album. * A song can be “favorited” up to three times, increasing the likelihood of its appearing in “favorite shuffle” mode. (There is also a standard shuffle mode which ignores “favorites”.)
In addition to the standard “shuffle all”, a user can create smart playlists (“Smartlists”) which include all songs in the library meeting certain criteria, and have a default shuffle mode. Getting into the wealth of options available for these would take a long time – suffice it to say, they're very useful for filtering the library to music appropriate for various occasions.
Problems
Most of my issues with the app amount to nitpicks. The app doesn't seem to save progress within a song while exiting, meaning that if it crashes or I accidentally close it, I have to restart a song. I don't particularly like the look of the playlist icons (a white symbolic icon on a color background). Furthermore, mucke's library management could be improved; it seems to entirely ignore each song's “artist” tag in favor of the “album artist”, many albums are tagged with a release year of “null” despite all its tracks having proper “year” tags. Lastly, there's no built-in tag editor, a feature I made great use of in Metro, the music player I used before discovering mucke.
I have encountered one notable bug, though I do not yet know its cause. I seem unable to view certain albums; where I would ordinarily see a list of their tracks, I instead see a grey screen. This bug happens inconsistently, and I can find no commonalities between the broken albums which may be the cause.
Conclusion
mucke is the exact sort of project I created this blog to discuss. It's a low-profile hobby project that shows great dedication on the part of its developer, and it scarcely receives widespread attention, but does unique things that no other software replicates. Despite its humble origins, it looks professional and is quite easy to use. mucke is close to the perfect Android music player for me, which is saying a lot given my pickiness. If you're looking to play your local music collection on Android, this is the first app I'd recommend.
mucke's source code and bug tracker are hosted on GitHub. Pre-built packages are available from F-Droid. Many thanks to Moritz Weber et al. for developing it and releasing it under a free license.
P.S. Don't expect me to write this much in every post.
Feel free to suggest apps and services to review, and I might review them.
My main Fediverse presence is at the handle (at)f00fc7c8(at)0w0.is. You can also contact me on XMPP at c16deeptread(at)hookipa.net. Feel free to ask for other socials, but know that I'm not on the majority of large proprietary platforms.