• 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!

Help with Moode: What is controlling the volume?

johnryder42

New Member
Joined
Aug 29, 2024
Messages
3
Likes
0
I got Moode working fine and playing music. I have a Bubble upnp controller playing Qobuz from my android phone, and my headphones are plugged into a USB DAC which is plugged into the pi.

In the Moode settings, I don't understand the difference between hardware and software volume control. Right now I have it set to hardware but I can change it from both my phone and the USB DAC's volume controls, which sounds fine after some initial leveling. I have also tried 0db so, I thought, the sound would pass through to the DAC which has volume buttons on it.

I guess I was looking for the best option knowing that I am listening through a USB DAC.

Thanks in advance.
 
Software volume is MPD's internal volume algorithm which IIRC is 32-bit float with dither. Hardware volume configures MPD to proxy volume commands to the audio device's on-board volume controller. Fixed 0dB configures MPD to output 100% volume.

What make and model is the DAC?
 
The DAC is the Fosi Audio DS1. It's recognized by Moode as I can select it as the output device.

Essentially, can I ask does whether the volume is controlled by software or hardware affect the quality of sound, or is it just for practicality (e.g. the location of the controls). It's difficult to follow the chain of the audio between Qobuz, the Moode software and the upnp controller, so where the volume control fits in I am uncertain.

Thank you.
 
For audio devices that have no internal volume controller the player application provides "software" volume control. As I mentioned MPD's algorithm AFAIK uses 32-bit float with dither only applied to 16 bit samples. CamillaDSP uses 64-bit float with selectable dither optionally applied to 16-bit samples. There is no need to dither 24-bit or higher samples because at those bit depths dithering occurs way below the limit of human hearing.

I'm not sure what type of algorithm is used for audio device "hardware" volume controllers because I've never seen any of that proprietary source code.

The UPnP Client for MPD (upmpdcli) which is what moode uses to provide a UPnP media renderer service acts as a proxy between a UPnP control point like Bubble, or mConnect and MPD.

The volume control flow looks like below

Code:
Bubble -> volcmd -> ((network)) -> moode/upmpdcli -> volcmd -> MPD -> software vol -> Audio device
                                                                   -> hardware vol -> [controller -> Audio device]
 
Hi Tim, thanks for explaining this and the flow chart of audio chain is extremely helpful. I have really really enjoyed using moode and I am looking forward to getting another couple of pis and experimenting with multi-room audio.

Have a great weekend.
 
Back
Top Bottom