• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

moOde audio player for Raspberry Pi

1. Not possible out of the box
(a) Volume type "Hardware" refers to a locally attached (I2S/USB/HDMI) audio devices internal on-chip hardware volume controller. When you change volume in moode, MPD sends volume commands via ALSA to the audio devices volume controller which then performs the requested volume adjustment using its own internal algorithm.
(b) There is an MPD volume type named "null" or fake volume. This allows setting the volume but has no effect on the output audio stream. It provides a way to adjust volume and then via a custom written software driver, send volume commands to an external audio device. Think of it as a way to do a custom volume proxy. In this case the external audio device has to have an interface that accepts volume commands. Moode doesn't support this MPD volume type because it's an extreme edge case and requires the development of custom driver software.
(c) If you add a S/PDIF HAT then typically you would set moode volume to Fixed (0dB) and then use the downstream audio devices volume control. If instead you want to use moode to control volume, set it to other than Fixed (0dB) then "calibrate" the overall system volume. Do this by turning the downstream devices volume control to 0%, moode volume to 100% and then play some material that represents what you typically listen to. Then gradually turn up the downstream devices volume to the loudest level you would ever listen at. Then reduce moode volume to your typical listening level. This calibration process results in the least amount of attenuation for moode volume to achieve a typical listening volume level.

2. See #1

3. The 3rd party audio renderers in moode including Bluetooth, AirPlay, Spotify Connect, Deezer Connect, Squeezelite, Plexamp and RoonBridge are playback applications that are completely separate from MPD (core moode playback app). These renderers need exclusive control of the playback chain which is why an "overlay" screen appears when they are running.
(a) Moode does support applying DSP either ALSA based or CamillaDSP based on final renderer audio output. You just can't adjust it while the renderer is playing like you can while MPD is playing.
(b) The UPnP Client for MPD renderer is not a separate playback application. It functions as a UPnP media renderer that proxies tracks to MPD for playback.

4. Yes the CamillaDSP Quick Config change takes effect immediately. If you want to confirm that then open the CamillaDSP screen and copy the config named "Flat" to a new config named "Test". Then set Signal processing to Test. Next open the Pipeline editor, click the Filter tab, set Gain to -15 then "Apply and save". Finally, return to the main Playback screen and switch between Test and any other config. You should hear the difference.

5. Volume for the 3rd-party renderers is always controlled by their respective player apps. When a renderer connects, moode automatically sets its own volume to 0dB (no attenuation) to ensure that the overall volume is 0dB when the renderer client app volume is at 100%. CamillaDSP Loudness filter will still work as expected because Camilla is receiving already attenuated volume from the upstream app and since its own volume is configured to 0dB no further change to volume will occur. When a renderer disconnects, moode resets its volume (MPD volume) to the value in its volume Knob.
Thank you so much for the detailed answers!

Regarding #1, if I connect a USB DAC (e.g. something like a MiniDSP Flex or SHD Studio), will the "Hardware" option let me change the volume in Moode and have it reflected on that device's volume? And would CamillaDSP loudness still work since Moode will still know the volume that it is set at?
 
@bergfe - I'm not familiar with those particular audio devices but if the device has an on-chip volume controller accessible by Linux/ALSA "Hardware" will appear in the list of choices for "Volume type" in moode Audio Config screen.

Regardless of moode volume type, if CamillaDSP is ON the audio signal gets the processing defined in the selected Camilla config for example Loudness, then it's shipped off to the device. CamillaDSP always has a volume control in its pipeline. Its at 0dB (no attenuation) by default.

If you want to control volume with moode + CamillaDSP your best bet (and the easiest) is to just go with the automatic switch to CamillaDSP volume that happens when you turn CamillaDSP on. IIRC its volume algorithm is float 64 with a bunch of dither, ramp time, and aux channel options, so very high quality.

To learn more about CamillaDSP refer to the extensive documentation.
 
Hi,

moOde 9.2.1 is available in the Media Player OS section of the Raspberry Pi Imager or as a direct download at https://moodeaudio.org. Visit the Forum for more information https://moodeaudio.org/forum/showthread.php?tid=7239&pid=60238#pid60238

moode-r900-logotype-bg.png
 
I have an old version 7.4.1 running on Pi. Is there an in-place upgrade path to 9.X? Or I need to reinstall & reconfigure?
 
I have an old version 7.4.1 running on Pi. Is there an in-place upgrade path to 9.X? Or I need to reinstall & reconfigure?
nope. Every major version (7 => 8, or 8 => 9) requires a brand new flash.
what you ca do is;
1. make a complete backup of your config.
2. flash moOde 9
3. restore your backup

Your version is a bit old, so it may not be granted the backup/restore thing will work...
 
I have an old version 7.4.1 running on Pi. Is there an in-place upgrade path to 9.X? Or I need to reinstall & reconfigure?
In addition to @Nutul, your version is quite old. Not sure if you have followed moOde in the mean time but the way of installation has changed. Please make sure you check out the setup guide before installation.

 
Hi. I recently changed my old Toshiba Exceria 16GB UHS-I U1 microSD card to Samsung EVO Plus 120GB u3 a2 v30. The old card had Moode 8.3.0 installed and I installed 9.2.6 on the new one. The system on the old card works very slowly but the music played normally.

The sound has changed significantly, it is brighter, more spacious and there is less bass. What could be the cause? Could the new system have some filters programmed differently? Or is it a matter of the memory card - a different chip or some other electronic element on the card? The sound is different, this was also confirmed by other people for whom I played the same music on two cards. All other elements of the audio path have not changed -> Raspberry Pi 4 / Waveio / DAC. I emphasize, the difference is clear.

I would be grateful for your opinions.
Regards
 
I am keen to say a clear and definite NO.
You may want to check what settings were in action on the old card... maybe some DSP using Camilla...?
Of course I am assuming you test the two moOde versions on the same system: same RPi, same DAC, same AMP, same SPEAKERS, same ROOM, same listening position, same volume type (HW vs SW...? again moOde specific setting...), and... SAME VOLUME LEVEL.

See... MPD (the audio player moOde uses) has no way to manipulate the audio files/streams it plays... it just plays them to the ALSA audio sink.
 
I just recently moved a Pi 5 into an Argon One V5 case to get NVME support. I wanted to have the music on the device as I will take it with me when traveling.

Argon's scripts to get the case features working are really designed for Pi OS so it took me a bit of searching to find a process that would work in Moode.

Using SSH into Moode I entered the following.

sudo apt update
sudo wget https://download.argon40.com/argon1v5.sh
sudo chmod 755 ./argon1v5.sh
sudo ./argon1v5.sh

Wanted to leave these steps here just in case someone in the future is searching for the script install for the V5 case.

The script takes a bit to fully install. It worked fine though after reboot and I have the front USBs (handy for a Flirc IR dongle) and the NVME working great.
I also appreciated I could format the NVME directly in Moode and then transfer the songs over with Samba.
 
Last edited:
Is it only me that encounter that my installation of moode v7, there spotify connect stopped working.

Tried to upgrade to moode v8 when it is the last 32 bit supported OS (using a pi2B).
Of course spotify connect does not work there either.

I remember that this has happened years ago when I had something older and needed to upgrade to moode v7.

It is annoying that it comes apparently to a point where spotify connect stopps working soner or later at some point. And what when moode drops v8 and with it 32 bit (like Volumio have done).

Well i will keep on trying with other solutions but again is it only I that has issue with Spotify connect that stop working without any reason?
 
Is it only me that encounter that my installation of moode v7, there spotify connect stopped working.

Tried to upgrade to moode v8 when it is the last 32 bit supported OS (using a pi2B).
Of course spotify connect does not work there either.

I remember that this has happened years ago when I had something older and needed to upgrade to moode v7.

It is annoying that it comes apparently to a point where spotify connect stopps working soner or later at some point. And what when moode drops v8 and with it 32 bit (like Volumio have done).

Well i will keep on trying with other solutions but again is it only I that has issue with Spotify connect that stop working without any reason?
It's not easy maintaining packages for old hardware, especially when the same OS (on which moOde is based and relies to) doesn't.
Also, moOde is a free project, so the resources (all resources, economic too...) are limited.
I would suggest you get yourself at least a Pi4 and install the latest v9.x, there is a gazillion improvements / new features. And Spotify Connect does work.
 
Actually, PiOS supports all the Pi's. They have the bandwidth to do that.

Our build tooling which is based on pi-gen, the same toolchain used to make official Pi images could certainly support 32-bit for our current 9 series but we don't have the developer bandwidth on our project to do that. It's a substantial effort requiring expertise in Debian packing, patching and all the various build toolchains (Rust, C/C++, Python, etc etc etc).

Its a nice challenge for an interested dev :-)
 
Back
Top Bottom