• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. 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

Hi,

moOde 9.1.5 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=7134&pid=59341#pid59341

moode-r900-logotype-bg.png
 
Awesome. Touch Display 2 is working great now. Thank you for the updates.
 
Hi Tim,

Thanks for making Moode. I'm trying it out as I wanted an easy way to run CamillaDSP. I was hoping to get help with a few questions:

1. If I change the volume option to "Hardware", and added a SPDIF HAT device to my Rasperry Pi, with an SPDIF cable connected to a Wiim Amp Pro, does that mean that I could potentially have it so that when I change the volume in Moode, it will change the volume on the Wiim (i.e. so that they both show the same volume level as it is adjusted in either place)? I understand you may not have specifically tested the Wiim Amp Pro, but would be grateful to know if that's the general idea or any known limitations.

2. If the above is possible, would I still be able to use CamillaDSP's "loudness" feature, or do I need to keep the volume setting on "CamillaDSP" for that to work?

3. When using Spotify Connect, how come the "m" icon on the top right disappears? It would be nice to be able to edit the settings even when having Spotify Connect live. It does not appear to be a functional limitation as if I keep a browser window open on the setting page, I can still use it when Spotify Connnect is running.

4. When using the icon to the left of "m" to change CamillaDSP from, e.g. loudness to flat, it does not seem to take immediate effect. Is it supposed to? Is there a way to keep an audio file running and toggle these back and forth with instant effect (so one can see if they like what it does to the sound)?

5. Shoot, I just read on the forum that using Spotify Connect sets the Moode volume to 100%, and you control volume with Spotify. Does that mean that the loudness feature from CamillaDSP would not work with Spotify Connect?

Many thanks for any help here.
 
Last edited:
Hi Tim,

Thanks for making Moode. I'm trying it out as I wanted an easy way to run CamillaDSP. I was hoping to get help with a few questions:

1. If I change the volume option to "Hardware", and added a SPDIF HAT device to my Rasperry Pi, with an SPDIF cable connected to a Wiim Amp Pro, does that mean that I could potentially have it so that when I change the volume in Moode, it will change the volume on the Wiim (i.e. so that they both show the same volume level as it is adjusted in either place)? I understand you may not have specifically tested the Wiim Amp Pro, but would be grateful to know if that's the general idea or any known limitations.

2. If the above is possible, would I still be able to use CamillaDSP's "loudness" feature, or do I need to keep the volume setting on "CamillaDSP" for that to work?

3. When using Spotify Connect, how come the "m" icon on the top right disappears? It would be nice to be able to edit the settings even when having Spotify Connect live. It does not appear to be a functional limitation as if I keep a browser window open on the setting page, I can still use it when Spotify Connnect is running.

4. When using the icon to the left of "m" to change CamillaDSP from, e.g. loudness to flat, it does not seem to take immediate effect. Is it supposed to? Is there a way to keep an audio file running and toggle these back and forth with instant effect (so one can see if they like what it does to the sound)?

5. Shoot, I just read on the forum that using Spotify Connect sets the Moode volume to 100%, and you control volume with Spotify. Does that mean that the loudness feature from CamillaDSP would not work with Spotify Connect?

Many thanks for any help here.

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

 
Back
Top Bottom