Moode Audio Player for Raspberry Pi

Hi,

/etc/hostapd/hostapd.conf

-Tim

Oh! Sorry. That was kinda dumb of me. And the provided one is SOO much simpler than the one you linked. The one linked includes EVERYTHING! LOL

I'm testing it with a few additions from the linked file now. But its giving me trouble. I finally got it booted and connected to my 5GHz network, but its a little flaky. For instance, it does not like to go into the Configure > Sources page, which is strange. I can get the other config pages.

Oh well, its getting late, and I have to work tomorrow. :( More later.

Thanks again for the help!
 
Three questions, I hope someone can help me!

Is it correct that people use the advanced kernel settings mostly because they want to upsample to 352/384?

And if this is correct why is this upsampling to 352/384 so good?

Is it possible to use the advanced kernel settings PLUS upsampling in combination with a RPI Zero?
 
Three questions, I hope someone can help me!

Is it correct that people use the advanced kernel settings mostly because they want to upsample to 352/384?

And if this is correct why is this upsampling to 352/384 so good?

Is it possible to use the advanced kernel settings PLUS upsampling in combination with a RPI Zero?

Hi,

From the (i) help on System config.

Advanced: low latency kernel that provides advanced audio capabilities.
- Up to 384k sample rate for ES9023 and PCM512x codecs.
- Integer bclk divider for ES9023 codec on 48k/96k rates.
- DSD128 format support via 352.8k rate.
- Bypass OS filter on PCM512x, PCM514x, PCM524x via 384k rate.
- Fixed 64fs bclk ratio for 2 channel, 32/24/16 bit audio.

What this means in terms of some new audio capabilities is as follows.

1) 352.8k rate enables DSD128 in either DoP or DSD -> PCM on-the-fly formats.

2) Integer bclk divider for ES9023 codec on 48k/96k rates results in less jitter for these particular sample rates.

3) 384K rate when fed to one of the PCM51xx/52xx chips results in the chips' internal oversampling (OS) filter being bypassed. Some audio enthusiasts feel that sound quality is improved by doing this.

Should be OK on PiZero. On System config, set the CPU governor to "Performance", and you might consider over-clocking the Zero to get the most out of it.

-Tim
 
Three questions, I hope someone can help me!

Is it correct that people use the advanced kernel settings mostly because they want to upsample to 352/384?

And if this is correct why is this upsampling to 352/384 so good?

Is it possible to use the advanced kernel settings PLUS upsampling in combination with a RPI Zero?

Hi!

It's definitely not for the sake of 384K as a super high sample rate. The PCM51xx does no oversampling this way, and it's the interesting kernel to run, audio related development is going on there.

And DSD comfortably fits into this, if you're into that... all 100 SACD's :p

Anyway... the piZERO handles 384K easily, either up sampled server side (about 18Mbps, wireless can handle this) or pi side (squeezelite) ~38% CPU usage. MPD's is a little heavier but should fly.

- Remember that the pZERO is 1GHz (the pi2 is 900MHz single core), and most of the audio stuff doesn't use more than 1 core, as far as I've seen so far-- go multicore if you need lot of ui etc, or running addition services.
 
Last edited:
Hi,

An in-place software update for Moode 3.0 is available that provides bug fixes, feature updates and improvements. See the list below.

To get the update, open the System configuration page and click "CHECK for software update" then click VIEW/INSTALL. Reboot after the completion message appears.

Many thanks to all of you for taking the time to test and report bugs!

Regards,
Tim

Updates

- UPD: Add real-time RR to MPD scheduler policy dropdown
- UPD: Bump squeezelite to version 1.8.5-823
- UPD: Reduce squeezelite DSP buffer setting for armv6l

Bug fixes

- FIX: Logic in Squeezelite restart job in Worker
- FIX: Pegged CPU due to FIFO schedule policy in squeezelite service
- FIX: MPD/Squeezelite fail on 1-core armv7l due to CPUAffinity setting
- FIX: Squeezelite compatibility with armv6l platform (Pi-1B/B+)
- FIX: PCM5121 chip options grayed out on Customize screen
- FIX: Incorrect coding for Audiophonics PCM5122 in audio device table
 

Attachments

  • moode audio player logo 3.png
    moode audio player logo 3.png
    30.7 KB · Views: 313
Last edited:
Thank you Tim.
I have one question.
When I'm in browse tab and will enter catalog and click left facing arrow to go back it is moving to the beginning of the list in alphabetical order. Due to that it is difficult to add tracks to the playlist from many folders.
For example if I want to add (in browse view) 5 tracks from 5 albums of the artist starting on letter Z each time Im going back I have to scroll down from letter A to Z.
I have a feeling that it was another way in the past (Moode 2.x): when going back we were on top of the folder that we left.
 
Hi,

An in-place software update for Moode 3.0 is available that provides bug fixes, feature updates and improvements. See the list below.

To get the update, open the System configuration page and click "CHECK for software update" then click VIEW/INSTALL. Reboot after the completion message appears.

Many thanks to all of you for taking the time to test and report bugs!

Regards,
Tim

Updates

- UPD: Add real-time RR to MPD scheduler policy dropdown
- UPD: Bump squeezelite to version 1.8.5-823
- UPD: Reduce squeezelite DSP buffer setting for armv6l

Bug fixes

- FIX: Logic in Squeezelite restart job in Worker
- FIX: Pegged CPU due to FIFO schedule policy in squeezelite service
- FIX: MPD/Squeezelite fail on 1-core armv7l due to CPUAffinity setting
- FIX: Squeezelite compatibility with armv6l platform (Pi-1B/B+)
- FIX: PCM5121 chip options grayed out on Customize screen
- FIX: Incorrect coding for Audiophonics PCM5122 in audio device table

My Squeezelite issue was fixed on my B+.
Thank you. You're awesome!
 
@sckramer and @TimCurtis, thanks for the extensive information you gave me!

One more question: The advanced kernel is, as you write, good for ES9023 and PCM51xx dacs. Is it interesting to use the advanced kernel with an ES9018 DAC (my setup: RPI Zero + Kali + Audio GD ES9018 Dac)?
 
Last edited:
Thank you Tim.
I have one question.
When I'm in browse tab and will enter catalog and click left facing arrow to go back it is moving to the beginning of the list in alphabetical order. Due to that it is difficult to add tracks to the playlist from many folders.
For example if I want to add (in browse view) 5 tracks from 5 albums of the artist starting on letter Z each time Im going back I have to scroll down from letter A to Z.
I have a feeling that it was another way in the past (Moode 2.x): when going back we were on top of the folder that we left.

Hi,

I've already fixed this in some test code I'm working on. Next software update will contain the fix :)

-Tim
 
Hi,

From the (i) help on System config.

Advanced: low latency kernel that provides advanced audio capabilities.
- Up to 384k sample rate for ES9023 and PCM512x codecs.
- Integer bclk divider for ES9023 codec on 48k/96k rates.
- DSD128 format support via 352.8k rate.
- Bypass OS filter on PCM512x, PCM514x, PCM524x via 384k rate.
- Fixed 64fs bclk ratio for 2 channel, 32/24/16 bit audio.

What this means in terms of some new audio capabilities is as follows.

1) 352.8k rate enables DSD128 in either DoP or DSD -> PCM on-the-fly formats.

2) Integer bclk divider for ES9023 codec on 48k/96k rates results in less jitter for these particular sample rates.

3) 384K rate when fed to one of the PCM51xx/52xx chips results in the chips' internal oversampling (OS) filter being bypassed. Some audio enthusiasts feel that sound quality is improved by doing this.

Should be OK on PiZero. On System config, set the CPU governor to "Performance", and you might consider over-clocking the Zero to get the most out of it.

-Tim

Isn't the Pi Zero ARMv6 and therefore cannot use the Advanced Kernel? Or am I missing something?
 
Last edited:
Hi,
moode 2.7 works well, but with 3.0, wifi is not functional other than apd-mode (with the same hardware). After Assigning ssid and pwd and reboot, the pi doesn't get it's ip.

What's going on?

Rüdiger

EDIT: and with advanced kernel, no eth0 as well :-(
 
Last edited:
Not here. I hooked up a monitor and a keyboard, it reboots and gets no ip. i checked with ifconfig. After the third reboot, it gets an ip via lan
Rüdigere

Same here.
Starting with a cold boot (Pi2&3 Advanced kernel) gets no ip via Eth0. Using a keyboard to 'sudo reboot' it then picks up an ip about 60% of the time and otherwise a third reboot is needed.

Tim, I checked the eth wait time and see you've increased it in this release after the problem previously with the Pi1.
I might try increasing it more...?

cheers,
Bob.
 
Same here.
Starting with a cold boot (Pi2&3 Advanced kernel) gets no ip via Eth0. Using a keyboard to 'sudo reboot' it then picks up an ip about 60% of the time and otherwise a third reboot is needed.

Tim, I checked the eth wait time and see you've increased it in this release after the problem previously with the Pi1.
I might try increasing it more...?

cheers,
Bob.

Hi Bob,

Just switched one of my Ethernet connected Pi's to Advanced kernel and no issues. Rebooted a few times as a test. Below is Moode log.

pi@rp3:~ $ ./mlog.sh
20161202 160946 worker: Startup
20161202 160950 worker: Host (rp3)
20161202 160950 worker: Hdwr (Pi-3B 1GB)
20161202 160950 worker: Arch (armv7l)
20161202 160950 worker: Kver (4.4.30-sc1+)
20161202 160950 worker: Ktyp (Advanced)
20161202 160950 worker: Gov (ondemand)
20161202 160950 worker: OS (moodeOS 1.1)
20161202 160950 worker: Rel (Moode 3.0 2016-11-27)
20161202 160950 worker: Upd (2016-12-02-TEST)
20161202 160950 worker: MPD (0.19.19)
20161202 160950 worker: Session loaded
20161202 160950 worker: Debug logging (off)
20161202 160950 worker: File check...
20161202 160951 worker: File check ok
20161202 160952 worker: Auto-shuffle deactivated
20161202 160952 worker: USB sources (none attached)
20161202 160952 worker: MPD scheduler policy (time-share)
20161202 160952 worker: MPD started
20161202 160952 worker: wlan0 exists
20161202 160952 worker: wlan0 AP mode started
20161202 160956 worker: Rotary encoder driver loaded
20161202 160956 worker: HDMI port on
20161202 160956 worker: Audio (I2S audio device)
20161202 160956 worker: Audio (IQaudIO Pi-DAC+)
20161202 160956 worker: PCM52xx/PCM51xx/TAS5756 chip options applied
20161202 160957 worker: ALSA outputs unmuted
20161202 160957 worker: ALSA mixer name (Digital)
20161202 160957 worker: MPD volume control (hardware)
20161202 160957 worker: MPD output 1 ALSA default (enabled)
20161202 160957 worker: MPD output 2 ALSA crossfeed (disabled)
20161202 160957 worker: Hdwr volume controller exists
20161202 160957 worker: Volume level (0) restored
20161202 160957 worker: wlan0 (172.24.1.1)
20161202 160957 worker: eth0 exists
20161202 160957 worker: eth0 (192.168.1.243)
20161202 160957 worker: NAS sources (none configured)
20161202 160957 worker: MPD consume reset to off
20161202 160957 worker: MPD crossfade (off)
20161202 160957 worker: Watchdog started
20161202 160957 worker: End startup
20161202 160957 worker: Ready
pi@rp3:~ $
 
Hi Bob,

Just switched one of my Ethernet connected Pi's to Advanced kernel and no issues. Rebooted a few times as a test. Below is Moode log.


Here is the problem... if your Pi is on 24/7 and/or you reboot then the ip is picked up.
If the Pi is cold booting (leave off and unplugged overnight) then the ip isn't picked up without a reboot, necessitating a keyboard to issue the command.
I've increased the wait from 3 to 6 and will report. :)

Ok it is picking up an ip from cold boot.
However, the second part of the boot problem remains,... the playback page is unpopulated . If I browse for a radio station and select play the page returns fully populated but if I then refresh it it comes back unpopulated again. Tried clearing browser cache.

Here's a weird thing....if I try other browsers I eventually find one that shows the playback page fully. Then if I go back to any of the other problematic browsers they show the page ok too...?
 
Last edited: