Moode Audio Player for Raspberry Pi

Thank you very much TC.
When one goes through 'configure', 'sources', 'update mpd db' and browse, where does the remote directory appear.
When using bubble upnp the remote directory is shown explicitly, however this does not seem to be the case when using the moode gui.
I am wondering whether I am missing something here.
Thank you again.
 
Thank you very much TC.
When one goes through 'configure', 'sources', 'update mpd db' and browse, where does the remote directory appear.
When using bubble upnp the remote directory is shown explicitly, however this does not seem to be the case when using the moode gui.
I am wondering whether I am missing something here.
Thank you again.

Hi,

UPnP configuration can be really confusing but basically there are three components:

(1) DLNA server (song files)
(2) UPnP renderer (audio output)
(3) UPnP controller (player controls, playlist, song selection)

Moode provides the first two components but most often only the UPnP renderer function is used in Moode. The DLNA server is usually running on another computer in the network.

The third component, the UPnP controller (control point) is an app that sees both DLNA server and UPnP renderer and functions as the "Player". It provides a UI for selecting songs from the DLNA server, adding them to a Playlist for the renderer, and then playing them via the renderer using standard playback controls (play/pause, next/prev, volume).

The UPnP renderer included with Moode interfaces the MPD playlist and playback controls to the control point app.

Linn Kinsky is an example of a UPnP control point app that runs on IOS. It's a bit cumbersom but it allows me to perform basic functional tests on the UPnP/DLNA stuff.

Note that if the DLNA server is started on Moode its root folder will not appear in the Browse or Library panels since it is not part of the list of folders that MPD uses to build its database. This is to avoid double indexing by MPD and maintain seperation of DLNA and MPD database indexes.

Regards,
Tim Curtis
 
Last edited:
Hi,

I just noticed that upmpdci is always started at boot via its init.d script regardless of the UPnP renderer toggle setting in System config page 😱

Here is a patch to disable that so it is only started via the toggle setting in System config.

(1) ssh root@moode (pwd = moode)
(2) chmod +x /etc/init.d/upmpdcli
(3) /usr/sbin/update-rc.d -f upmpdcli remove
(4) reboot

This fix will be included in release 2.4 🙂

Regards,
Tim
 
Last edited:
FLAC 16/44.1 with hiss and distorted, Web Radio, FLAC 24/96 and 24/192 is OK

Hi,

Previously I was using my DAC (a Chinese I2S ES9018 based) with Volumio 1.5 + Raspberri 1 B and the reproduction of the FLAC and MP3 files was very good, but I could not play DSD, but when I upgrade to Raspberri 2 and Volumio 1.55 to test if I could solve the problem with DSD, I couldn´t work RaspBerry 2 + Volumio 1.55 with my DAC by I2S.

Because I found great reviews from Moode I decided to try this.

My problem is when I play FLAC 24/96, 24/88.2, 24/192 or Web Radio, Raspberri 2 + Moode 2.3 + DAC works fine, but when I play FLAC 16/44.1 sound has hiss and very distorted.

As my DAC is not listed in Moode I am using as I2S device a "HIFIBerry DAC"

My DAC (Without Amanero board): https://hifiduino.wordpress.com/2013/07/19/another-4-layer-diy-es9018-board/


I tried several I2S devices in Moode´s configuration but without success.

What could be the problem with FLAC 16 / 44.1 as with other formats the Raspberri Pi 2 + Moode 2.3 + DAC work well? I do not have any other DAC with I2S interface.

Attache System an MPD configuration.

Regards,


Daniel.
 

Attachments

  • System Configuration.png
    System Configuration.png
    24.6 KB · Views: 537
  • MPD Configuration.png
    MPD Configuration.png
    34.7 KB · Views: 532
Last edited:
Hi Daniel,

This is caused by incompatibility between hifiberry-DAC'sdriver and the ES9018 DAC.

The ES9018 expects BCLK to have fixed relationship with Sample-Rate. (x64 or x128, I cannot remember).

The Hifiberry DAC driver calculates BCLK frequency based on bit-depth. So, for 24-bit, the BCLK comes out OK. For 16-bit, it is always too slow.

The workaround:

Use SoX to resample your 16/44.1 FLAC to 24/44.1 or 24/88.2 (I like this better). The file size is only a little bigger, and it will work with ES9018. Please try it!
 
Hi,

Previously I was using my DAC (a Chinese I2S ES9018 based) with Volumio 1.5 + Raspberri 1 B and the reproduction of the FLAC and MP3 files was very good, but I could not play DSD, but when I upgrade to Raspberri 2 and Volumio 1.55 to test if I could solve the problem with DSD, I couldn´t work RaspBerry 2 + Volumio 1.55 with my DAC by I2S.

Because I found great reviews from Moode I decided to try this.

My problem is when I play FLAC 24/96, 24/88.2, 24/192 or Web Radio, Raspberri 2 + Moode 2.3 + DAC works fine, but when I play FLAC 16/44.1 sound has hiss and very distorted.

As my DAC is not listed in Moode I am using as I2S device a "HIFIBerry DAC"

My DAC (Without Amanero board): https://hifiduino.wordpress.com/2013/07/19/another-4-layer-diy-es9018-board/


I tried several I2S devices in Moode´s configuration but without success.

What could be the problem with FLAC 16 / 44.1 as with other formats the Raspberri Pi 2 + Moode 2.3 + DAC work well? I do not have any other DAC with I2S interface.

Attache System an MPD configuration.

Regards,

Daniel.

Hi Daniel,

Are u connecting DAC board directly to Pi using an i2s cable or via USB with Amanero ?

If USB then try the fix listed in AUDIO FIXES at moodeaudio.org. The USB driver has bug when dealing with USB (UAC2) chipsets.

Regards,
Tim
 
Hi Daniel,

Are u connecting DAC board directly to Pi using an i2s cable or via USB with Amanero ?

If USB then try the fix listed in AUDIO FIXES at moodeaudio.org. The USB driver has bug when dealing with USB (UAC2) chipsets.

Regards,
Tim

Tim,

I don´t have Amanero board, it´s with I2S.

Hi Daniel,

This is caused by incompatibility between hifiberry-DAC'sdriver and the ES9018 DAC.

The ES9018 expects BCLK to have fixed relationship with Sample-Rate. (x64 or x128, I cannot remember).

The Hifiberry DAC driver calculates BCLK frequency based on bit-depth. So, for 24-bit, the BCLK comes out OK. For 16-bit, it is always too slow.

The workaround:

Use SoX to resample your 16/44.1 FLAC to 24/44.1 or 24/88.2 (I like this better). The file size is only a little bigger, and it will work with ES9018. Please try it!

Rod,

SoX is not an option for me, my wish is to play in the native resolution, because I understand that resample is resource intensive and also because I have doubts about the SQ of SoX resample, thank you for your clarification about the compatibility of the ES9018 to ES9023 drivers.



Tim, is there any configuration that supports ES9018?

Before I used (in Volumio) with the drivers listed in /etc/modules (Russ White configuration in http://www.diyaudio.com/forums/twisted-pear/250583-building-open-embedded-audio-applicance.html), but since in Raspbian DeviceTree is used, I don´t know how to configure the drivers for ES9018.


Regards,


Daniel.
 
Tim,

I don´t have Amanero board, it´s with I2S.

Rod,

SoX is not an option for me, my wish is to play in the native resolution, because I understand that resample is resource intensive and also because I have doubts about the SQ of SoX resample, thank you for your clarification about the compatibility of the ES9018 to ES9023 drivers.

Tim, is there any configuration that supports ES9018?

Before I used (in Volumio) with the drivers listed in /etc/modules (Russ White configuration in http://www.diyaudio.com/forums/twisted-pear/250583-building-open-embedded-audio-applicance.html), but since in Raspbian DeviceTree is used, I don´t know how to configure the drivers for ES9018.

Regards,

Daniel.

Hi Daniel,

Workaround:

(1) select "RPi DAC" in the "I2S audio device" dropdown, then press SET. This particular DAC uses /etc/modules instead of dtoverlay. Don't reboot yet.
(2) ssh root@moode (pwd = moode)
(3) nano /etc/modules
(4) enter configuration for the 9018
(5) Ctrl-x y <return> to save file
(6) reboot

If successful, post back contents of /etc/modules along with the name for this DAC and I'll code the i2s config and audio device description for it in release 2.4 🙂

Regards,
Tim

P.S. @Rod Coleman, thanks for the info on 9018 🙂
 
P.S. @Rod Coleman, thanks for the info on 9018 🙂

Hi Tim,

I can confirm that the ES9018 in normal modes requires BCLK to be set at 64×Fs for all sampling rates.

I think the problem is that the Hifiberry driver sets it to 2× sample_bits:

FloriansHifiberryDriver said:
return snd_soc_dai_set_bclk_ratio(cpu_dai, sample_bits * 2);

For example in Line 40 of:

https://github.com/raspberrypi/linu...df91358e1eca56b/sound/soc/bcm/hifiberry_dac.c

Where:

return snd_soc_dai_set_bclk_ratio(cpu_dai, 64);

would be appropriate for ES9018.

Haven't had a chance to try changing it though, so I can't be sure that it would be enough.
 
What I did test though:

- Using Hifiberry DAC driver and I2S, I measured the BCLK for a FLAC file 16/44.1.

This gave a ×32 BCLK (1.4112MHz).

Using SoX to convert to 24bit gave BCLK 2.8224MHz (×64, as desired). I assume then that the channel is either 16 or 32 bits.
 
Hi Daniel,

Workaround:

(1) select "RPi DAC" in the "I2S audio device" dropdown, then press SET. This particular DAC uses /etc/modules instead of dtoverlay. Don't reboot yet.
(2) ssh root@moode (pwd = moode)
(3) nano /etc/modules
(4) enter configuration for the 9018
(5) Ctrl-x y <return> to save file
(6) reboot

If successful, post back contents of /etc/modules along with the name for this DAC and I'll code the i2s config and audio device description for it in release 2.4 🙂

Regards,
Tim

P.S. @Rod Coleman, thanks for the info on 9018 🙂

Tim,


yesterday I had a power outage and my NAS (Nas4Free) with all my music is not available, so I can´t test the settings that you recommended me.

I hope that today or tomorrow can have my NAS running, I'll keep you informed of my progress.


Thank you and regards,



Daniel.