A question on MoOde audio software

msankadi

Well-Known Member
Joined
Apr 3, 2012
Messages
632
Points
63
Location
Bangalore
Hi

I have recently configured MoOde on a raspberry pi 4. Am using it to stream music via upnp/tidal and spotify.
In the MoOde settings below Para is mentioned

The audio renderers are playback applications separate from MPD. When a client connects to one of the renderers MPD will stop and the renderer will begin playback. When the client stops or disconnects MPD can resume playback depending on the "Resume MPD" setting

The up sampling setting I have done for mpd to up sample everything to 384khz..does it apply to the streaming I am doing through upnp and spotify or not?
 
Hi

I have recently configured MoOde on a raspberry pi 4. Am using it to stream music via upnp/tidal and spotify.
In the MoOde settings below Para is mentioned



The up sampling setting I have done for mpd to up sample everything to 384khz..does it apply to the streaming I am doing through upnp and spotify or not?
No. The upsampling in mpd is done in /etc/mpd.conf. You can take a look at this file. You can do ssh to the RPI4 and take a look at this file. It will have the following line in /etc/mpd.conf

I play my music bit-perfect and so I don't do upsampling. This is what you will find in /etc/mpd.conf with the comment removed
#Realtime audio conversion & upscaling
#audio_output_format "*:32:2"
#samplerate_converter "soxr high"

In the above audio_output_format will be "384000:32:2" which essentially means convert all music to 384000 sampling rate at 32bits and stereo.
mpd.conf

Spotify is rendered by a totally different application. I'm not sure what moode installs. I use raspotify which allows my RPI4 to be available as a device on spotify on all of my devices.

Regarding tidal, qobuz, again I'm not sure what moode uses. If it is a separate process that runs for tidal than mpd setting will not apply. However, mpd by itself also allows you to play on tidal and this is how the configuration looks like (I have it disabled).

# TIDAL input plugin
input {
enabled "no"
plugin "tidal"
# token "TOKEN"
# username "USERNAME"
# password "PASSWORD"
# audioquality "Q"
}
#

If the above config you have the line enabled "yes", then the mpd setting of upsampling will apply to tidal too.

If you require any help, let me know.
 
However, mpd by itself also allows you to play on tidal and this is how the configuration looks like (I have it disabled).
Wow so much good info in your post which I will need time to digest.. How do i play tidal through mpd? Right now I am simply using bubbleupnp
 
I think SoX applies only to MPD and not to renderers. You need to upsample on your source player.
Could be. I don't have tidal so I have no way to check it. But in each of this plugins you can have a custom sample rate apart from the global setting which I posted above. e.g. for my allo revolution dac, this is what I have done. Again, I have not enabled resampling for Revolution dac, but I can

audio_output {
type "alsa"
name "Revolution"
device "hw:Revolution"
mixer_type "hardware"
mixer_device "hw:Revolution"
mixer_control "Revolution "
# format "*:32:2"
# format "384000:32:2"
##########
# buffer_time "200000"
# period_time "1024000000"
auto_resample "no"
auto_channels "no"
auto_format "no"
###########
dop "no"
# dsd_usb "no"
# dsd_native "yes"
# dsd_native_type "2"
}

Apart from this you can configure what resampler to use. You can either use mpd's own resampler or use soxr which so far does the best resampling. You can separately configure the decoder section.
mpd is the best music player available today. It doesn't have any ui. But has open standards allowing multiple clients to play it. There are plenty of clients available for Linux, Windows, Mac, Android and IOS. mpd is vast and distributions like moode, volumio, etc take advantage of a fraction of the features. Volumio has the worst integration. It forces just one song in the playlist forcing you to use it's own paid android client. You loose multiclient support in mpd if you use volumio
# Decoder #####################################################################
#
decoder {
plugin "hybrid_dsd"
enabled "no"
gapless "no"
}

resampler {
plugin "soxr"
quality "high"
threads "0"
}
 
Last edited:
No. The upsampling in mpd is done in /etc/mpd.conf. You can take a look at this file. You can do ssh to the RPI4 and take a look at this file. It will have the following line in /etc/mpd.conf

I play my music bit-perfect and so I don't do upsampling. This is what you will find in /etc/mpd.conf with the comment removed


In the above audio_output_format will be "384000:32:2" which essentially means convert all music to 384000 sampling rate at 32bits and stereo.
mpd.conf

Spotify is rendered by a totally different application. I'm not sure what moode installs. I use raspotify which allows my RPI4 to be available as a device on spotify on all of my devices.

Regarding tidal, qobuz, again I'm not sure what moode uses. If it is a separate process that runs for tidal than mpd setting will not apply. However, mpd by itself also allows you to play on tidal and this is how the configuration looks like (I have it disabled).



If the above config you have the line enabled "yes", then the mpd setting of upsampling will apply to tidal too.

If you require any help, let me know.
Also I just connected my ifi zen dac v2 with the pi and I can see white light meaning most probably it is up scaling the output from upnp renderer unless the dac is getting confused
 
Wow so much good info in your post which I will need time to digest.. How do i play tidal through mpd? Right now I am simply using bubbleupnp
Are you familiar with linux? Are you a window user? I can guide you on skype, etc. Will be easy. Back and forth on hifivision mail is inefficent.
You require just the following skills

1) ability to do ssh and login to your RPI4. @premoddev IIRC you had once told me the default moode username / password. What is it?
2) ability to edit files. You can use nano editor. I use vi, but if you haven't used vi, then it requires some skills.

Once you get familiar with Linux, one day you will stop using these distributions like volumio, moode. But that will be for another day:). I urge people to learn it, because Linux is fantastic. There is nothing you cannot do.
 
Also I just connected my ifi zen dac v2 with the pi and I can see white light meaning most probably it is up scaling the output from upnp renderer unless the dac is getting confused
There is nothing like the dac is getting confused. It is what it is being instructed to do so by the software which is using the alsa driver.
ALSA stands for advanced linux sound architecture. It is a very low latency driver in the kernel. If you want to produce sound, you have to use ALSA. So any software has to go through ALSA in able to produce sound. It is the software that has to set the sampling rate when using the ALSA driver. A good software will use the source's native sampling rate and set that rate in the ALSA driver.
mpd can do that easily. There are other software that can do it well do. Jriver mediacenter is another one that people find excellent. But it is paid I believe. But you get album art, media management and other jing bang with that. Media management and linux being an unknown animal is another reason why people go for moode, volumio, etc.
 
Last edited:
But in each of this plugins you can have a custom sample rate apart from the global setting which I posted above. e.g. for my allo revolution dac, this is what I have done. Again, I have not enabled resampling for Revolution dac, but I can
yes...looks like can be enabled through command line. I never experimented as I do not like upampling. I have disabled the same on my DAC also (It has a NOS feature).
 
I just found the default moodeaudio username and password. The login is pi and password moodeaudio.
If you are a windows user, you can install a ssh client like putty. For mac and linux, ssh is part and parcel of the OS distribution.
BTW @Sean de Silva is another user who uses moode and i think he has used all options. He has a thread running for allo boss2 player. You will get lot of information there too. Basically Allo Boss2 is a RPI4 with a DAC connected on the expansion slot. So it is exactly like your case with just the difference that you have an exernal dac. But all features will be the same.
 
Last edited:
T
I just found the default moodeaudio username and password. The login is pi and password moodeaudio.
If you are a windows user, you can install a ssh client like putty. For mac and linux, ssh is part and parcel of the OS distribution.
BTW @Sean de Silva is another user who uses moode and i think he has used all options. He has a thread running for allo boss2 player. You will get lot of information there too. Basically Allo Boss2 is a RPI4 with a DAC connected on the expansion slot. So it is exactly like your case with just the difference that you have an exernal dac. But all features will be the same.
Thanks but for now, I have left it as is, as it is playing Tidal in upsampled mode which is what I wanted...I will check spotify later too

Which streaming service do you use? Any way to put chromecast within rpbi as well :p I know, 99% not but whats the harm in asking
 
T

Thanks but for now, I have left it as is, as it is playing Tidal in upsampled mode which is what I wanted...I will check spotify later too

Which streaming service do you use? Any way to put chromecast within rpbi as well :p I know, 99% not but whats the harm in asking
I use spotify and apple music (this was the most painful to setup to get a decent playback). I just cancelled my YT music subscription when they asked me for more money in able to cast to chromecast audio from another device.

But you can convert your RPI into a cast device. But I'm not going to try it. This company is becoming an evil giant.

 
@mbhangui Moode uses librespot for spotify.. @msankadi you can use UPnP or Airplay to stream Tidal & Qobuz. I use Moode in my setup, mainly I use it for local files, webradios and spotify and occasionally Youtube through BubbleUPnP. If you are on rpi4, Bluetooth is also good to use which is free in Moode, but paid on Volumio.
 
@mbhangui Moode uses librespot for spotify.. @msankadi you can use UPnP or Airplay to stream Tidal & Qobuz. I use Moode in my setup, mainly I use it for local files, webradios and spotify and occasionally Youtube through BubbleUPnP. If you are on rpi4, Bluetooth is also good to use which is free in Moode, but paid on Volumio.
Ah. I'm also using librespot via raspotify, mainly because raspotify provides a 64bit build
usbridge:(pi) /home/pi >ps -ef|grep spot
62638 753 1 0 10:22 ? 00:00:00 /usr/bin/librespot

This is my modified config. I have modified LIBRESPOT_FORMAT, and LIBRESPOT_BITRATE
# Device name.
# Raspotify defaults to "raspotify (*hostname)".
# Librespot defaults to "Librespot".
LIBRESPOT_NAME="usbridge"

# Bitrate (kbps) {96|160|320}. Defaults to 160.
LIBRESPOT_BITRATE="320"

# Output format {F64|F32|S32|S24|S24_3|S16}. Defaults to S16.
LIBRESPOT_FORMAT="S32"
 
# Output format {F64|F32|S32|S24|S24_3|S16}. Defaults to S16.
LIBRESPOT_FORMAT="S32"

There is such an option in moode audio as well...is it bitrate? Does f32 mean 32 bit float?


 
There is such an option in moode audio as well...is it bitrate? Does f32 mean 32 bit float?


Yes. Now you have DACs supporting f64, s64 too. But your dac should support f32. You need to see /proc/asound/card0/pcm0p/sub0/hw_params. e.g. my allo revolution is S32
usbridge:(pi) / >cd /proc/asound/card0/pcm0p/sub0/
usbridge:(pi) /proc/asound/card0/pcm0p/sub0 >cat hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 5513
buffer_size: 22050

For 64bit you need to install 64bit raspbian. Moode, volumio and all others install the 32bit Raspbian OS. Even if you have a dac capable of 64bit, it will not be supported if you have a 32bit os.
 
Last edited:
Wharfedale Linton Heritage Speakers in Red Mahogany finish at a Special Offer Price. BUY now before the price increase.
Back
Top