Moode Audio Player for Raspberry Pi

I've been playing around the last weeks trying to implement some of the Sound profile settings I liked from Rune Audio into Moode Audio.

First I modified the rc.local file adding some kernel parameters ending up in not couldn't stream to the RPI anymore.

Then I removed those parameters from the rc.local file but still I couldn't stream music to my RPI. So I had to install a new/clean image on the SD card.

After that I made a shell script containing the kernel parameters which I ran.

Code:
echo 0 > /proc/sys/vm/swappiness
echo 3500075 > /proc/sys/kernel/sched_latency_ns
echo 1000000 > /proc/sys/kernel/sched_rt_period_us
echo 950000 > /proc/sys/kernel/sched_rt_runtime_us
echo 1 > proc/sys/kernel/sched_autogroup_enabled
echo 10 > /proc/sys/kernel/sched_min_granularity_ns
echo 2250000 > /proc/sys/kernel/sched_min_granularity_ns
echo 3000000 > /proc/sys/kernel/sched_wakeup_granularity_ns

The output from the shell was:
Code:
cannot create /proc/sys/kernel/sched_latency_ns: Directory nonexistent
cannot create /proc/sys/kernel/sched_min_granularity_ns: Directory nonexistent
cannot create /proc/sys/kernel/sched_wakeup_granularity_ns: Directory nonexistent

So there seem to be differences between the kernels used by Rune Audio and Moode Audio.

For now I am getting nowhere, somebody suggestions?
 
Hello,

I've just setup my Pi and Moode and it seems great thanks but I have a few questions please. So I'm totally new to Raspberry Pi's, Moode and while I know Windows very well, I'm not that knowledgeable regarding Linux, but am keen to learn!

I don't have any digital files or NAS. I really just want to use the Pi as a server to stream Spotify. I want the Pi to be the client for the Spotify streaming. I believe Airplay would require a phone or PC to stream from, is that correct?

Is there a way to have the Moode box run a spotify client and is there some clear instructions on how to achieve this? My google skills are failing me..

Also, how can I add additional radio stations to the Moode default stations?

Lastly, are there any instructions on getting started with Moode? The setup readme is great thanks but is that the extent of the "manual"? Is there a document that might have answered my above questions?


Many thanks,

Rob

Rob, you need this,

http://www.diyaudio.com/forums/pc-based/271811-moode-audio-player-raspberry-pi-756.html#post5066758

I run a rpi3b just with Spotify-Connect (using an Audiophonics ES9023 Dac Hat).
In the UK I'm more active than here and did a little guide for how to do this on another forum (hopefully without too many errors)

How to Spotify yer pi (headless) - Computer based HiFi - HiFi WigWam

For adding Radio Stations, see this post

http://www.diyaudio.com/forums/pc-based/271811-moode-audio-player-raspberry-pi-796.html#post5090336

If Mr Curtis deems you worthy enough, he may tell you how to to do it, otherwise you will have to sort for yourself.

Enjoy:)

Ronnie
 
Hi Tim,

Just updated to 3.7. Audio wise, anything other than 44.1/16 FLAC does not play correctly


Usability wise no improvement. You suggested to use dearch in order to easily find what I need in my 1000+ albums library. This is even worse than scrolling through a list of 1000 albums, the results are by track!!!! Are you serious? I have complete discographies typing Iron Maiden in the search box returns 1000 results.

Ok, I thought I could browse via browse Tab In my NAS folder structure. Each time I enter one folder, the focus is taken by the search box and phone keyboard comes up. That does it. I have no Linux knowledge and do not possess the skill to customise moode as it seems it is expected from moode users.

Looking fwd for an usable release. Usually I am not that demanding, but asking for money upfront makes me act like this. Volumio got 25 EUR donation after two weeks, and rune got the same instantly. KODI received more than EUR 200 from me in the last 5 years I have been using it. Moode gets EUR 10 and that's it...
 
Hi Tim,

I'm looking to build a Pi-DAC-Moode inside a pre-amp, where I'll have other boards so space is limited. I had not intended to include it but now the idea is growing. The zero-w looks like a good option because of it's size and the built-in wi-fi. I didn't see many folk choosing the zero, presumably because why should they if not space constrained.

Do I give anything up in choosing the zero-w over the larger Pi boards if the goal is to use it 'only' as a music server, e.g. for Spotify and possibly a NAS. Does the zero-w have the performance it needs to give a good user experience with Moode ?

When my chassis arrives (slow boat from China) I may find space for a larger Pi, but don't know yet.

I am currently running MoOde 3.6 on a Pi Zero W with a JustBoom pHAT AMP over WiFi without any issues. I can reliably stream FLAC files that are encoded 24bit 96kHz from a NAS on my network. I am using this set up with a pair of modified Radio Shack Minimus 7's as a streaming BoomBox for porable music around the house and yard.

As others pointed out, putting the Pi Zero W into a metal chassis will severely impede the WiFi signal.

Good luck with your project.
 
I updated from 3.6 to 3.7 and everything works perfect :) and IMHO sound quality improved very little compared to 3.6. I did ssh login and was looking at cpu load using "top". When playing pcm files 16/44, 24/96 and 24/192 cpu load varies form 1% to 4%. Playing dsd files is causing 29-30% load. I don't know why the difference is so big.

I noticed, that they are some processes running, which are no needed, when playing from localy atached hd - nmb, smb, rpcbind. I have set fixed ip, but the dhcp daemon was still running.

Would it be possible (for version 4.0) to have the possibilty to turn off some non audio relevant options and services - ipv6, dhcpd, nmb, smb, rpcbind, ssh and maybe some others (syslog ?) or stopping ntp 2 minutes after boot, if pi already got time from ntp server. nmb, smb, rpcbind are only needed, when music library is not on the localy attached disk.

I did this editing /etc/rc.local and 30 sec after boot i am stopping different processes with:

sleep 30
sudo /etc/init.d/dhcpcd stop
sudo /etc/init.d/nmbd stop
sudo /etc/init.d/smbd stop
sudo /etc/init.d/rpcbind stop
sudo kill -9 $(pidof rpcbind)
sleep 120
sudo /etc/init.d/ntp stop
# stopping ssh 5 minutes after boot, so i can login before it and change
sleep 300
sudo /etc/init.d/ssh stop

All processes and services are causing some cpu load, io and power consumption, so disabling them leaves more ressources for audio player and this will have positive effect on sound quality.

It is just one idea for hifi fans with untreatable "audiophilia nervosa" :D:D:D
 
Hi Tim,

Just updated to 3.7. Audio wise, anything other than 44.1/16 FLAC does not play correctly


Usability wise no improvement. You suggested to use dearch in order to easily find what I need in my 1000+ albums library. This is even worse than scrolling through a list of 1000 albums, the results are by track!!!! Are you serious? I have complete discographies typing Iron Maiden in the search box returns 1000 results.

Ok, I thought I could browse via browse Tab In my NAS folder structure. Each time I enter one folder, the focus is taken by the search box and phone keyboard comes up. That does it. I have no Linux knowledge and do not possess the skill to customise moode as it seems it is expected from moode users.

Looking fwd for an usable release. Usually I am not that demanding, but asking for money upfront makes me act like this. Volumio got 25 EUR donation after two weeks, and rune got the same instantly. KODI received more than EUR 200 from me in the last 5 years I have been using it. Moode gets EUR 10 and that's it...

Hi,

Based on the feedback I receive, Moode works just fine for the majority of users and without any modifications or a need to have Linux experience.

But since its not working for you just send me an email (tim at moodeaudio dot org) and I'll refund your payment.

-Tim
 
I updated from 3.6 to 3.7 and everything works perfect :) and IMHO sound quality improved very little compared to 3.6. I did ssh login and was looking at cpu load using "top". When playing pcm files 16/44, 24/96 and 24/192 cpu load varies form 1% to 4%. Playing dsd files is causing 29-30% load. I don't know why the difference is so big.

I noticed, that they are some processes running, which are no needed, when playing from localy atached hd - nmb, smb, rpcbind. I have set fixed ip, but the dhcp daemon was still running.

Would it be possible (for version 4.0) to have the possibilty to turn off some non audio relevant options and services - ipv6, dhcpd, nmb, smb, rpcbind, ssh and maybe some others (syslog ?) or stopping ntp 2 minutes after boot, if pi already got time from ntp server. nmb, smb, rpcbind are only needed, when music library is not on the localy attached disk.

I did this editing /etc/rc.local and 30 sec after boot i am stopping different processes with:



All processes and services are causing some cpu load, io and power consumption, so disabling them leaves more ressources for audio player and this will have positive effect on sound quality.

It is just one idea for hifi fans with untreatable "audiophilia nervosa" :D:D:D

Hi,

lol, "audiophilia nervosa"

DSD to PCM decode is CPU intensive.

In version 4.0 I'm looking at creating a set of System Profiles. These are named collections of settings that are applied automatically.

One of the profiles could be named "Essential services only" or "Audiophile 1", something like that. When applied, this profile would do what you describe and turn off everything not needed for audio. There are also other parts of the Pi that can be turned off including the LEDS, etc.

-Tim
 
Hi,

lol, "audiophilia nervosa"

DSD to PCM decode is CPU intensive.

In version 4.0 I'm looking at creating a set of System Profiles. These are named collections of settings that are applied automatically.

One of the profiles could be named "Essential services only" or "Audiophile 1", something like that. When applied, this profile would do what you describe and turn off everything not needed for audio. There are also other parts of the Pi that can be turned off including the LEDS, etc.

-Tim

Great !

maybe we have already a name for audiophile system profile:

"Audiophilia Nervosa" :D
 
I updated from 3.6 to 3.7 and everything works perfect :) and IMHO sound quality improved very little compared to 3.6. I did ssh login and was looking at cpu load using "top". When playing pcm files 16/44, 24/96 and 24/192 cpu load varies form 1% to 4%. Playing dsd files is causing 29-30% load. I don't know why the difference is so big.

I noticed, that they are some processes running, which are no needed, when playing from localy atached hd - nmb, smb, rpcbind. I have set fixed ip, but the dhcp daemon was still running.

Would it be possible (for version 4.0) to have the possibilty to turn off some non audio relevant options and services - ipv6, dhcpd, nmb, smb, rpcbind, ssh and maybe some others (syslog ?) or stopping ntp 2 minutes after boot, if pi already got time from ntp server. nmb, smb, rpcbind are only needed, when music library is not on the localy attached disk.
...

All processes and services are causing some cpu load, io and power consumption, so disabling them leaves more ressources for audio player and this will have positive effect on sound quality.

It is just one idea for hifi fans with untreatable "audiophilia nervosa" :D:D:D

[Full disclosure, I was variously an experimental physicist and research engineer for 30+ years. I live for measurement!]

I think that assertion should be changed to "this may have a positive effect on sound quality."

You told us the cpu loads you saw with vanilla MoOde Player, so why not tell us the difference you saw when you turned off these "unneeded" services? For that matter, what positive effect on sound quality did you hear?

Frankly, I'm dubious that there is much to be gained here. Yes, a number of apparently unneeded processes are loaded into memory, but they are executed a vanishingly small amount of the time. Using the Linux top command on my vanilla MoOde Player playing a FLAC track on an RPi3B, I see less than 10 percent cpu usage by mpd and zero usage by all the processes you mention. More than 500MB of RAM is still free.

It's always tempting to assume that cpu loading itself is the cause of audio artifacts but it's the variability in latency which bites us. Maybe the processes you mention are disruptive when they wake up but there are many other processes essential to MoOde Player which are constantly popping up and down on the usage scale.

Unfortunately, it's hard to measure latency in a working program and harder to measure variations in latency. When I worked on realtime-kernel based CNC projects such as LinuxCNC and Machinekit, we spent countless person-hours trying to define appropriate figures of merit and create tools to measure them. There was more smoke than fire.

The basic answer always seems to be, does a given configuration work for your application or not. For me, the default MoOde Player settings work. If Tim adds his essential services page, everyone can play to their heart's content.

Mind you, I'm not trying to cure your Audiophilia nervosa. I love what it drove you to do with your hardware!

Regards,
Kent
 
[Full disclosure, I was variously an experimental physicist and research engineer for 30+ years. I live for measurement!]

I think that assertion should be changed to "this may have a positive effect on sound quality."

You told us the cpu loads you saw with vanilla MoOde Player, so why not tell us the difference you saw when you turned off these "unneeded" services? For that matter, what positive effect on sound quality did you hear?

Frankly, I'm dubious that there is much to be gained here. Yes, a number of apparently unneeded processes are loaded into memory, but they are executed a vanishingly small amount of the time. Using the Linux top command on my vanilla MoOde Player playing a FLAC track on an RPi3B, I see less than 10 percent cpu usage by mpd and zero usage by all the processes you mention. More than 500MB of RAM is still free.

It's always tempting to assume that cpu loading itself is the cause of audio artifacts but it's the variability in latency which bites us. Maybe the processes you mention are disruptive when they wake up but there are many other processes essential to MoOde Player which are constantly popping up and down on the usage scale.

Unfortunately, it's hard to measure latency in a working program and harder to measure variations in latency. When I worked on realtime-kernel based CNC projects such as LinuxCNC and Machinekit, we spent countless person-hours trying to define appropriate figures of merit and create tools to measure them. There was more smoke than fire.

The basic answer always seems to be, does a given configuration work for your application or not. For me, the default MoOde Player settings work. If Tim adds his essential services page, everyone can play to their heart's content.

Mind you, I'm not trying to cure your Audiophilia nervosa. I love what it drove you to do with your hardware!

Regards,
Kent

i totally agree, "this may have a positive effect on sound quality." Most probably it will be not possible to see it with "top", but latency should became smaller and than maybe with a good system some people can hear it, or not :) Internet is full off discussions like this, we should not spoil this thread with it.

Stopping processes and deactivating services and options costs nothing.
From my experience with streamers and digital audio reproduction the most important is the exact clock and very good power supply for it. It will bring more, than linux optimization, but when i already have a good clock and very good power supply, than i want make some linux optimization. You like my hardware ? Thank You :) Another moode player more is coming - Pi3 - Digi + pro - i2s - Buffalo II :)
 

Attachments

  • 20170528_200120.jpg
    20170528_200120.jpg
    402.9 KB · Views: 252
i totally agree, "this may have a positive effect on sound quality." Most probably it will be not possible to see it with "top", but latency should became smaller and than maybe with a good system some people can hear it, or not :) Internet is full off discussions like this, we should not spoil this thread with it.

Stopping processes and deactivating services and options costs nothing.
From my experience with streamers and digital audio reproduction the most important is the exact clock and very good power supply for it. It will bring more, than linux optimization, but when i already have a good clock and very good power supply, than i want make some linux optimization. You like my hardware ? Thank You :) Another moode player more is coming - Pi3 - Digi + pro - i2s - Buffalo II :)

I'm jealous. With downsizing I've lost my workbench (and the copious storage space I needed for all my bins of someday-I'll-use-this components!).

Regards,
Kent
 
Rob, you need this,

http://www.diyaudio.com/forums/pc-based/271811-moode-audio-player-raspberry-pi-756.html#post5066758

I run a rpi3b just with Spotify-Connect (using an Audiophonics ES9023 Dac Hat).
In the UK I'm more active than here and did a little guide for how to do this on another forum (hopefully without too many errors)

How to Spotify yer pi (headless) - Computer based HiFi - HiFi WigWam

For adding Radio Stations, see this post

http://www.diyaudio.com/forums/pc-based/271811-moode-audio-player-raspberry-pi-796.html#post5090336

If Mr Curtis deems you worthy enough, he may tell you how to to do it, otherwise you will have to sort for yourself.

Enjoy:)

Ronnie


Ronnie - this is amazing and so helpful. I'm sitting here after following your instructions and it's all working (and sounding) great! After Zootalaws unnecessarily rude response I was worried I had bitten off more than I could manage, but this is just great. Thank you so much! :D
 
Ronnie - this is amazing and so helpful. I'm sitting here after following your instructions and it's all working (and sounding) great! After Zootalaws unnecessarily rude response I was worried I had bitten off more than I could manage, but this is just great. Thank you so much! :D


Oh, Zoot is not really rude, just a bit brusque (it's a colonial thing ;):p:)).
Any time you want some proper abuse drop me a pm :eek:

Ronnie
 
Hi Tim,

what about TauDAC ?
It's an I2S DAC, which uses two WM8741 DAC-chips in dual-mono mode.

  • Does it run out-of-the-box with an existing (generic) DAC setting or
  • has to be some driver stuff in Moode integrated ?

Configuring MPD to use the TauDAC as audio output is described here.

Best regards
Tom

Hi Tom,

Looks like a really interesting DAC but it requires compiling a kernel mode driver and codec. It looks like it may auto-load its own I2S driver from EEPROM (I'm just guessing) because there is no mention of using an existing I2S driver.

The DAC creator really needs to submit his driver(s) to Linux kernel and try to get them accepted. There is also no mention of product availability.

-Tim