Last Updated on April 12, 2020
This is a weekly blog about the Raspberry Pi 4 (“RPI4”), the latest product in the popular Raspberry Pi range of computers.
For this week, I’ve been surveying the music player scene from an RPI4 respective. I’ve published reviews for more than 20 open source music players. There’s at least half a dozen other open source music players that are under active development that I’ve not yet covered.
How many music players I’ve looked at provide a .deb compiled for the Raspberry? A solitary program (musikcube). And I have a lot of sympathy with open source developers in this regard. They cannot possibly be expected to provide packages for Linux distributions given the sheer number available, although many do provide packages for the most popular. And the RPI4 doesn’t even run the x86 instruction set. The responsibility for packages squarely rests with a distribution.
The vast majority of actively maintained open source music players are not available as packages in Raspbian’s repository. Ones where there are convenient packages are limited to cmus, ncmpc, Cantata, Pragha Music Player, and Audacious. You can install them with the command: sudo apt install package-name or using the graphical package manager, PiPackages. But do you want to install them this way?
Music Player | Version in Repository | Current release |
---|---|---|
cmus | 2.7.1 | 2.8.0 |
ncmpc | 0.33 | 0.35 |
Cantata | 2.3.3 | 2.3.3 |
Pragha Music Player | 1.3.3 | 1.3.99.1 |
Audacious | 3.10.1 | 3.10.1 |
As the above table illustrates, you won’t get very old versions using the repository, and in a couple of cases you’ll get the latest release. But the majority of the other music players aren’t available to install in this way.
I turned to cross-platform packages next. The 3 main cross-platform package managers are Flatpak, snap, and AppImage.
Flatpak seemed promising with Flathub listing flatpaks for Clementine, Lollypop, Elisa, GNOME Music, Quod Libet, Rhythmbox and Tauon Music Box. The latter is, in my opinion, the best graphical music player. However, the flatpaks for Clementine, and Tauon Music Box are not compiled for RPI-4’s architecture (Tauon Music Box is compiled for the x86_64 architecture only, the 64-bit version of the x86 instruction set). In plain language, it’s not compatible with the RPI-4’s architecture, ARMv8 Cortex-A72. There’s, of course, the option to build my own flatpak as flatpak-builder and the GNOME SDK are available for ARM.
The others flatpaks installed although to launch the apps you need to use the CLI, as they don’t appear on the Pi application menu. Creating menu entries from the Application menu > Preferences > Main Menu Editor isn’t too much of a hurdle though.
Similarly, snaps and AppImages need to be compiled for RPI4’s architecture. On balance, it’s easier to compile the source code for projects than go down the Flatpak / snap / AppImage route.
If you’ve used Linux before, you’ve probably already got a favorite music player. If you’re new to Linux, it’s easier to experiment with software on a machine running with an x86 instruction set. For example, if you use an Arch-based distribution the Arch User Repository is available, and the majority of music players are available there. When you’ve chosen your favorite few, compile the source code for each on the RPI-4.
As stated above above, Tauon Music Box is my preferred GUI music player (although Cantata runs it very close). To compile Tauon, issue the following commands at a shell. The first command clones the project’s repository. Change into the code’s directory, and install packages with apt and pip3.
$ cd TauonMusicBox
$ sudo apt install libsdl2-2.0-0 libsdl2-image-2.0-0 fonts-noto python3-gi python3-cairo gir1.2-notify python3-gi-cairo
$ pip3 install –user -r requirements.txt
To launch the software, just issue the command
Here’s an image of Tauon Music Box in action on the RPI4.
Tauon has two backends: BASS Audio library (a proprietary closed source library), and GStreamer (open source). Using BASS offers more features. Specifically, an equalizer, visualizers, fading + crossfading, and inbound and outbound streaming. However, you can’t use BASS with the RPI4. But that’s not important to me as the additional features offered by BASS raise little interest from my perspective.
How does Tauon run on the RPI4? I couldn’t honestly tell any difference using the software on the RPI4 compared to a Core i7 PC running Arch. On the RPI4, Tauon uses about 12% CPU of 1 core, and consumes about 110MB of RAM when playing tracks. Quite lightweight for a GUI-based music player. These statistics apply with a music library of about 12,000 tracks. Even with a larger library, the software should run fine even on the more modest 1GB and 2GB RAM versions.
The author has released a new version (5.0) yesterday which I’ve not tested yet. But the new side panel view looks very useful.
Summary
Overall I’m more than satisfied with RPI4’s performance with my preferred 3 music players (Tauon Music Box, Cantata, and musikcube).
For next week’s blog, I’ll be looking at streaming video on the RPI4.
Read all my blog posts about the RPI4.
Raspberry Pi 4 Blog | |
---|---|
Week 36 | Manage your personal collections on the RPI4 |
Week 35 | Survey of terminal emulators |
Week 34 | Search the desktop with the latest version of Recoll |
Week 33 | Personal Information Managers on the RPI4 |
Week 32 | Keep a diary with the RPI4 |
Week 31 | Process complex mathematical functions, plot 2D and 3D graphs with calculators |
Week 30 | Internet radio on this tiny computer. A detailed survey of open source software |
Week 29 | Professionally manage your photo collection with digiKam |
Week 28 | Typeset beautifully with LyX |
Week 27 | Software that teaches young people how to learn basic computing skills and beyond |
Week 26 | Firefox revisited - Raspbian now offers a real alternative to Chromium |
Week 25 | Turn the Raspberry Pi 4 into a low power writing machine |
Week 24 | Keep the kids learning and having fun |
Week 23 | Lots of choices to view images |
Week 22 | Listening to podcasts on the RPI4 |
Week 21 | File management on the RPI4 |
Week 20 | Open Broadcaster Software (OBS Studio) on the RPI4 |
Week 19 | Keep up-to-date with these news aggregators |
Week 18 | Web Browsers Again: Firefox |
Week 17 | Retro gaming on the RPI4 |
Week 16 | Screen capturing with the RPI4 |
Week 15 | Emulate the Amiga, ZX Spectrum, and the Atari ST on the RPI4 |
Week 14 | Choose the right model of the RPI4 for your desktop needs |
Week 13 | Using the RPI4 as a screencaster |
Week 12 | Have fun reading comics on the RPI4 with YACReader, MComix, and more |
Week 11 | Turn the RPI4 into a complete home theater |
Week 10 | Watching locally stored video with VLC, OMXPlayer, and others |
Week 9 | PDF viewing on the RPI4 |
Week 8 | Access the RPI4 remotely running GUI apps |
Week 7 | e-book tools are put under the microscope |
Week 6 | The office suite is the archetypal business software. LibreOffice is tested |
Week 5 | Managing your email box with the RPI4 |
Week 4 | Web surfing on the RPI4 looking at Chromium, Vivaldi, Firefox, and Midori |
Week 3 | Video streaming with Chromium & omxplayerGUI as well as streamlink |
Week 2 | A survey of open source music players on the RPI4 including Tauon Music Box |
Week 1 | An introduction to the world of the RPI4 looking at musikcube and PiPackages |
This blog is written on the RPI4.
After trying several players, the one I kept coming back to is picoreplayer. Install it on some Pi’s, link them to Logitech Media Server and voila, multi-room synchronized music over WiFi or wired Ethernet. Use some good quality DAC boards with those Pi’s and I won’t believe the amazing results.
piCorePlayer looks interesting, built on a very small linux distro which is only about 12 MB, known as Tiny Core Linux.
I’ll definitely look at it after I’ve written a few more weeks of this blog about running desktop software in Raspbian.
So you have an LMS server, and your RPi connects to it over wifi.
Do you connect from your android device to the piCorePlayer to play the music? If so, which app do you use on your Android?
Something else I would like to see, and I realize this is something that lower RPi’s could do, byt the RPi4 has two displays, which makes it better than previous ones: Remote desktop solutions to other Linux servers/vms, as well as Windows servers. Irealy would want to see my RPi4 to be used as a launchpad to have great dplays over all other kinds of servers.
Many thanks for your suggestion. I’ll investigate and publish my findings in a future edition of the blog.
I just used ‘sudo apt install rhythmbox’ and have a very slick, easy to use music player with all the needs of a jukebox without any issues 🙂
Just tried Tauon today, and it’s amazing. Thanks for the heads up.
How did you get the sound working with the latest Buster. I know they split the audio into HDMI1, HDMI2 and JACK, but can’t work out how to get to settings right in Tauon. Picked up my Airsonic (PI) server well though.
Ok, finally got Tauon music player to work. But for anyone using a Pi4 without pulse audio looking to get sound to bluetooth headphones all you need to do is goto Menu -> Audio -> Customise GStreamer Options and simply type
alsasink
that’s it. I hope this saves someone lots of time searching for an answer. Pulseaudio is the worst on the PI!
Hi, Luke. I was looking for a decent music player after finding Rhythmbox pretty lacking and I came across this blog series (which I’ll definitely be reading more of!) and tried to try out Tauon on the pi. I haven’t quite succeeded and was wondering if I’m doing something wrong here.
After following your instructions (I think correctly), I tried to run:
$ python3 tauon.py
with no success, as it just said that there was no such file or directory. Thus I tried to send it directly to the file in the directory, with:
$ python3 /home/pi/TauonMusicBox/tauon.py
This gave me the following in the terminal, during which time the start-up screen for the app would appear and then disappear.
Tauon Music Box v6.1.3
Copyright 2015-2020 Taiko2k
Running in portable mode
Found XDG-Downloads: /home/pi/Downloads
Found XDG-Music: /home/pi/Music
Install directory: /home/pi/TauonMusicBox
Error loading window state file
No existing star.p file
No existing album-star.p file
Database loaded in 0.0 seconds.
No translation file available
Applying scale based on xft setting
Using UI scale: 1.0
warning: error loading settings
BASS not found
Could not connect to gnome media keys
Traceback (most recent call last):
File “/home/pi/TauonMusicBox/tauon.py”, line 35783, in
tm.ready_playback()
File “/home/pi/TauonMusicBox/tauon.py”, line 35771, in ready_playback
from t_modules.t_gstreamer import player3
File “/home/pi/TauonMusicBox/t_modules/t_gstreamer.py”, line 28, in
gi.require_version(‘Gst’, ‘1.0’)
File “/usr/lib/python3/dist-packages/gi/__init__.py”, line 129, in require_version
raise ValueError(‘Namespace %s not available’ % namespace)
ValueError: Namespace Gst not available
Thus, the app failed to launch. I’m just wondering whether there’s any obvious solution to this error which has escaped me. Might it be something to with Gstreamer?
If not, and there’s some issue to do with how either Raspbian or Tauon has changed since your post was written making them incompatible, I’m wondering then how I might go about removing the code if necessary. Can one just delete the files in “/home/pi/TauonMusicBox”, or should it be done from terminal?
Apologies for the wall of text, and for taking up your time in this way.
Thanks,
Graham.
Graham, the Comments section isn’t really best placed for support queries of this type. I would say:
– the last time I used the RPI4, Tauon was working fine. And I doubt the latest release has broken anything from an RPI4 perspective.
– my RPI4 died, and I’m unable to afford to replace it, so I cannot really help further other than to say you need to ensure you have the program’s dependencies installed. Try asking the developer of the RPI4 when you’re sure you have all the requirements (like gstreamer) working.
– the good news is that my weekly blog published here has turned to the AWOW AK41 Mini PC running Manjaro.