A Beginner’s Introduction to moOde Audio – Software to Set the Mood

MoOde Audio's Logo
MoOde Audio’s Logo

Transform a Raspberry Pi into a high-end music streamer/player with the comprehensive moOde Audio software package.

Introduction

Since building a couple of Raspberry Pi-based music streamers, I’ve been on the hunt for the perfect music playback software package. I started out with the comprehensive Volumio program, but I found it struggled a bit with my large local digital music collection, and it appears to be transitioning to a subscription-based service for advanced features.

Eventually, I ended up going in the opposite direction with the ultrasimple, appliance-like Ropieee Roon Endpoint software, which abandons any non-Roon-based local file playback but fits my primary needs pretty well.

My priorities for music software for a Pi-based player are (in order of importance):

  • High-quality Roon playback for critical headphone listening.
  • Spotify Connect for background stereo listening.
  • Local file playback from Samba shared network directories.
  • Support for the official Raspberry Pi screen.
  • Attractive and user-friendly interface.
  • Easy to set up and configure.
This is the version of moOde Audio that I tested.
This is the version of moOde Audio that I tested.

Another Pi-based, music software package that seems to get frequently mentioned online is moOde Audio, developed by Tim Curtis around 2014. moOde is a custom-built operating system based on Debian GNU/Linux. Version 7.3 is the most recent release at this point of writing.

At first glance, its feature set looks similar to Volumio, but moOde is entirely free. That’s a win in my books, so I decided to give it a whirl. What follows are my experiences and observations, what I like and what I do not.

The moOde Audio main screen.
Bottom Line

If you are currently a Volumio user or are new to the Raspberry Pi music player scene, you owe it to yourself to try moOde Audio out and see if it is a fit for you. moOde Audio development is far from static and is continually evolving and adding feature support. Version 7 is a polished and mature offering, and I look forward to checking out v8 whenever it appears.

What We Like
  • Free!
  • Simple and clean user interface
  • Quick navigation of large local network libraries
  • Roon, Spotify, and Airplay support
  • Parametric and graphic EQ
  • Active support forum
  • Frequent bug-fix and feature updates
What We Don't Like
  • Screen timeout issues
  • Default settings did not match my uses – most default to OFF and require manual setup
  • Setting up some features requires terminal access and typing in commands
  • Initial Setup Guide is a text document so no user-friendly pictures for newbies
  • No plugins, all configuration options are located in submenus

My Hardware Setup

My Pi-based setup.
My Pi-based setup.

How to Install moOde Audio on Raspberry Pi

Regardless if you’ve ever installed software on a Raspberry Pi, the process is pretty straightforward.

Remember that with a Pi, swapping the Operating System (OS) is as easy as plugging in a new SD card!

  1. Using a computer, download a software package (OS image).
  2. Flash the image to a high-quality micro-SD card (16Gb is plenty for most uses) using a program such as balenaEtcher.
  3. Remove the micro-SD card from the computer and insert it into the Pi.
  4. Power on.
  5. Done!
Or, at least, that’s how simple it SHOULD be. Of course, further setup is required to configure such things as the network connection, DAC, screen, etc. It depends on the individual software as to how easy (or not) these additional steps are to complete.

The basic installation of moOde Audio onto the SD card went flawlessly for me. I popped it in the Pi and the initial setup process went scrolling by on the screen. Of note, the default screen orientation was correct for my setup in a SmartiPi Touch Pro case (something that is not always the… err… case). However, it ended with a command prompt on the screen, and not the moOde visual interface I was hoping for.

Hmmm… where do we go from here? Clearly, additional setup steps are required.

moOde, like many of the music playback software options for the Pi, is designed to be headless, that is, accessed via a web interface on a computer and not with an attached screen. So it shouldn’t be a surprise that the screen isn’t enabled by default.

How to Setup moOde Audio

A primary difference between Volumio and moOde is that Volumio uses plugins that can be installed, removed, and individually configured, while moOde incorporates all its options into the configuration menu.

With a brief stop at the official moOde support forum, I quickly located the official Setup Guide. While comprehensive, it’s unfortunately just a simple text document, so the format may scare off some newbies who are expecting a visual guide with pictures.

The Setup Guide is a plain text document and not a visual guide.
The Setup Guide is a plain text document and not a visual guide.

Without reproducing the entire setup process here, I’ll include a few notes that I discovered along the way that may be of use to you.

Most of moOde Audio’s settings default to OFF, so it is necessary to manually enable all the features you want to use.

All the configuration options are located in the settings.
All the configuration options are located in the settings.

Pro Tips for moOde setup

  • Attach a network cable before turning on the Pi and proceeding with the installation. This simplifies things and you will set up the WIFI connection shortly.
  • Use a web browser on your computer to connect to the moOde interface at (http://moode.local or http://172.24.1.1).
  • Once connected to the interface, click the small m icon in the top right corner to access the configuration settings.
  • The Setup Guide walks you through setting up the audio device (USB or I2S DAC), Time Zone, Audio Source, and WIFI connection. I highly suggest leaving the Audio Source setup as the last thing you do, as depending on the size of your local collection, this can take hours to complete.
The Raspberry Pi connects to add-on extension boards via its 40-pin GPIO header interface. These add-on boards are called HATs (Hardware Attached on Top). The GPIO interface circumvents any bandwidth limitations of USB and can ensure maximum sound quality using its Inter-IC Sound (I2S) serial connection.

Enable the Raspberry Pi screen

Enable the pi screen via the Local UI display option.
Enable the pi screen via the Local UI display option.
  • Enable the Pi screen: m → Configure → System → Local Display → Local UI Display → ON (Press SET to save the change)

Enable a USB DAC

The default audio output headphone jack must be changed to the USB DAC.
The default audio output headphone jack must be changed to the USB DAC.
  • Enable a USB DAC: m → Configure → Audio → MPD Options → MPD Settings → Edit → Audio Output → Output Device → Change from the Pi Headphone Jack to the USB DAC. (moOde default is to output via the headphone jack)

Enable Spotify Connect

You must manually change the Spotify settings to enable 320kbps output.
You must manually change the Spotify settings to enable 320kbps output.
  • Enable Spotify Playback: m → Configure → Audio → Audio Renderers → Spotify renderer → Spotify → ON. (Press EDIT to change the Spotify config to increase the bit rate from the default 160 to 320kbps)

Unfortunately, after completing the above, Spotify appeared to work but no sound could be heard. This required me to dive back into the forum to discover that I was far from the only one having this issue with the 7.x versions of moOde and Spotify.

Want more information when using Spotify? Nope.
Want more information when using Spotify? Nope.

Eventually, with a bit of trial and error, I kludged together a fix that seems to work, but does require you to do a bit more work. The first step is to turn on terminal access.

  • Enable terminal access: m → Configure → System → Local Service → SSH term server → ON.
Unfortunately Spotify didn't output audio for my setup unless this fix is applied.
Unfortunately Spotify didn’t output audio for my setup unless this fix is applied.
  • Once terminal access is enabled, click the OPEN button under SSH term server. This launches the moOde login.
  • Enter “pi” and then the password “moodeaudio” when prompted.
  • At the [email protected]:~ $ prompt, enter the following: sudo sed -I ‘s/\ “hw/\”plughw/g’ /etc/alsa/conf.d/_audioout.conf

This sets the proper audio output for Spotify and sound will be passed through to the DAC. The fix seems relatively permanent as it still works after disconnecting power to the Pi and rebooting.

Enable RoonBridge

In order to access the RoonBridge Renderer settings under Configure → Audio, it is necessary to once again jump into the terminal as we did above for Spotify. The full instructions are located in the moOde forums.

The RoonBridge installation process is well documented but does require terminal access.
The RoonBridge installation process is well documented but does require terminal access.

By completing all the above (which took me a few hours) I configured moOde to do essentially everything that I want it to do. There are a ton of options located in the Configuration settings, and I suggest you do your own trial-and-error to figure out what works best for you.

moOde Audio Features

Once you’ve got moOde up and running, it’s time to check out all the features that it has to offer.

The user interface is simple and relatively attractive. It’s broken into three main sections with the playlist on the left, volume and track completion represented as two circles in the middle, and album art and information on the right. I find the Volumio interface a bit prettier overall, but it is busier compared to the cleaner moOde design.

The moOde Audio main screen is simple but functional.
The moOde Audio main screen is simple but functional.

Additional moOde features

  • Radio, Folder, Tag, and Album views
  • Advanced Library search/filtering engine
  • Online radio station support with sort/group and metadata
  • CamillaDSP and CamillaGUI Pipeline editor
  • 12-band Parametric and 10-band Graphic EQ
  • Crossfeed for Headphone listening
  • CoverView full-screen UI for Album Art
  • Bluetooth with w/SBC XQ CODEC
  • Airplay, Spotify, Squeezelite, RoonBridge support
  • Samba scan for easy NAS connection
  • UPnP browser with folder scan
  • Qobuz and Tidal access via UPnP
  • WiFi Access Point (AP) Mode
  • Touchscreen and HDMI display support
  • USB keyboard and volume control support
  • 64-bit driver support for Allo USBridge SIG DAC HAT
  • In-place software updates
EQ fans will be happy to see support for both parametric and graphic equalizer settings.
EQ fans will be happy to see support for both parametric and graphic equalizer settings.

I2S DAC HAT audio device support

While USB audio devices are enabled by the standard Linux kernel USB audio driver, I2S audio devices are supported via specific drivers included by the device manufacturer. moOde Audio supports I2S DAC HATs from manufacturers including Allo, Denafrips, HiFiBerry, JustBoom, Lucid Labs, and many others. The full list is available here.

User Experience

Once I hammered out how to get everything working, using moOde has proven to be relatively trouble-free. The only real bug that seems to crop up frequently is that the Pi display changes over to the default Chrome browser “Aw, Snap! Something went wrong while displaying this web page” error after a while. Clicking the Reload button refreshes the screen and brings back the moOde user interface, so it’s just moderately annoying rather than a deal-breaker.

I haven’t yet discovered a fix, but with this sort of actively developing software, new versions full of bug fixes are already in the pipeline.

When using remote access via a computer, the “Aw, Snap!” error screen doesn’t seem to appear, so headless users may never run into this issue.
I'm sick of seeing this error screen.
I’m sick of seeing this error screen.

I’m not entirely enamored with the plain screens displayed when using RoonBridge or Spotify Connect, which just show the active connection name and a “disconnect” button mid-screen. I prefer the album art and simple controls displayed by Ropieee when playing tracks from Roon – after all, that’s the point of having a screen on the Pi in the first place. So only seeing “RoonBridge Active” is a bit of a disappointment.

No on-screen controls mean you are forced into using the Roon application on another device to control all aspects of playback. The same goes for Spotify.

When connected to Spotify or Roon, moOde does not display any album info or have on-screen controls.
When connected to Spotify or Roon, moOde does not display any album info or have on-screen controls.

Of course, album art and onscreen controls display properly when using the built-in player, so this won’t be a problem for all users.

Playback from network sources works well.
Playback from network sources works well.

Sound quality is really only limited by the quality of your DAC and other hardware components, and I’m happy to report that everything seems to work fine with moOde. It’s an audibly transparent user interface for the Pi that allows users to access their music in a variety of methods.

Audio track information is easily displayed.
Audio track information is easily displayed.
Specific file encoding information and playback settings are displayed on the Hardware tab.
Specific file encoding information and playback settings are displayed on the Hardware tab.

Conclusion

Now that I’ve spent time with moOde Audio, Volumio, and Ropieee, I can appreciate that they all offer different things to users with a variety of needs. moOde and Volumio are very similar programs, and although Volumio has a slightly prettier interface and more intuitive plugin support, its decision to paywall some features behind a subscription fee means that I have to give the nod to moOde.

moOde offers much of the same feature set, and you just can’t beat free!

Ropieee is a different beast. It’s far more streamlined, with a focus on Roon playback and little else. However, it offers onscreen controls, cover art support, Spotify Connect, and a useful clock display when not active. This means that it fits my particular set of requirements almost perfectly. As always, YMMV.

moOde is constantly updating and evolving.
moOde is constantly updating and evolving.

If you are currently a Volumio user or are new to the Raspberry Pi music player scene, you owe it to yourself to try moOde Audio out and see if it is a fit for you.

moOde Audio development is far from static and is continually evolving and adding feature support. Version 7 is a polished and mature offering, and I look forward to checking out v8 whenever it appears.

Leave a Reply