RPI 4 Blog

Raspberry Pi 4: Chronicling the Desktop Experience – Music Players – Week 2

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 PlayerVersion in RepositoryCurrent release
cmus2.7.12.8.0
ncmpc
0.330.35
Cantata
2.3.32.3.3
Pragha Music Player1.3.31.3.99.1
Audacious3.10.13.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.

$ git clone https://github.com/Taiko2k/TauonMusicBox.git
$ 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

$ python3 tauon.py

Here’s an image of Tauon Music Box in action on the RPI4.

Tauon Music Boix - Raspberry Pi 4

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 36Manage your personal collections on the RPI4
Week 35Survey of terminal emulators
Week 34Search the desktop with the latest version of Recoll
Week 33Personal Information Managers on the RPI4
Week 32Keep a diary with the RPI4
Week 31Process complex mathematical functions, plot 2D and 3D graphs with calculators
Week 30Internet radio on this tiny computer. A detailed survey of open source software
Week 29Professionally manage your photo collection with digiKam
Week 28Typeset beautifully with LyX
Week 27Software that teaches young people how to learn basic computing skills and beyond
Week 26Firefox revisited - Raspbian now offers a real alternative to Chromium
Week 25Turn the Raspberry Pi 4 into a low power writing machine
Week 24Keep the kids learning and having fun
Week 23Lots of choices to view images
Week 22Listening to podcasts on the RPI4
Week 21File management on the RPI4
Week 20Open Broadcaster Software (OBS Studio) on the RPI4
Week 19Keep up-to-date with these news aggregators
Week 18Web Browsers Again: Firefox
Week 17Retro gaming on the RPI4
Week 16Screen capturing with the RPI4
Week 15Emulate the Amiga, ZX Spectrum, and the Atari ST on the RPI4
Week 14Choose the right model of the RPI4 for your desktop needs
Week 13Using the RPI4 as a screencaster
Week 12Have fun reading comics on the RPI4 with YACReader, MComix, and more
Week 11Turn the RPI4 into a complete home theater
Week 10Watching locally stored video with VLC, OMXPlayer, and others
Week 9PDF viewing on the RPI4
Week 8Access the RPI4 remotely running GUI apps
Week 7e-book tools are put under the microscope
Week 6The office suite is the archetypal business software. LibreOffice is tested
Week 5Managing your email box with the RPI4
Week 4Web surfing on the RPI4 looking at Chromium, Vivaldi, Firefox, and Midori
Week 3Video streaming with Chromium & omxplayerGUI as well as streamlink
Week 2A survey of open source music players on the RPI4 including Tauon Music Box
Week 1An introduction to the world of the RPI4 looking at musikcube and PiPackages

This blog is written on the RPI4.

Share this article

11 comments

  1. 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.

    1. 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.

    2. 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?

  2. 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.

  3. 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 🙂

    1. 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.

  4. 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!

  5. 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.

    1. 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.

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.