Moode Audio Player for Raspberry Pi

Not particularly interested in Dsd....there isn't much available .
However, I am a little confused about how moode renders it..

I have a dac that will play native dsd 256 and it has both a lock indicator and one for dsd.

In moode mpd settings DoP is set to 'yes' when Native is not available.

If I play a dsd file both the lock and dsd lights come on for the dac.

Moode playback panel shows DSD as the file type being played but the 'audio info' window shows it being decoded at 24/352.8 and output as 32/352.8 ...

If I play pcm and upsample to 32/352.8 the dac lock lights but not the dsd light.

output is via usb to i2s xmos, not direct i2s from the pi.

any enlightenment appreciated

Hmmmm is the dsd light showing because .....

Hi Bob,

Looks like the DoP stream is being zero-padded to 32 bit on the way out, probably because the XMOS chip only accepts 32-bit?

DoP is native DSD bitstream encapsulated in tagged PCM packets. The receiving DAC, if it supports DoP protocol will recognize these special packets and extract the native DSD bitstream from them on-the-fly and thus light up the DSD LED.

If you turn DoP off in MPD then a standard PCM stream will be sent to the DAC and its "DSD LED" should not go on.

-Tim
 
Thanks Richard, :) explains why the light is on even though MoOde is outputting pcm.

Hmmm,
I know the dac is dsd native capable and the usb xmos is as it works with Android USB Audio Player PRO to play native dsd.

So....MPD ? Alsa ? must be something there not native capable...?

Edit, oh Hi Tim ! You're up late on a Sunday !! :)
Yes, just tried your suggestion and the light went off .... but the poor little Pi stuttered away most unhappily...back to DoP and now much wiser.
Thanks all.!
 
Last edited:
I know the dac is dsd native capable and the usb xmos is as it works with Android USB Audio Player PRO to play native dsd.

So....MPD ? Alsa ? must be something there not native capable...?

Edit, oh Hi Tim ! You're up late on a Sunday !! :)
Yes, just tried your suggestion and the light went off .... but the poor little Pi stuttered away most unhappily...back to DoP and now much wiser.
Thanks all.!

Apparently, MPD and ALSA are capable of native DSD output:
Direct Stream Digital (DSD)

I would have thought that turning off DoP would have resulted in MPD attempting to output the native DSD stream if the XMOS/DAC chain was capable of it. This may be bleeding edge stuff and may need a little time for the implementation to filter into the mainstream.

Richard
 
Hi @DRONE7,

Tim has obviously addressed the native DSD issue before. The versions of MPD and ALSA in moOde 3.8 onwards should be capable of it (see quote below). There may be some patching necessary for the XMOS receiver, not sure . . . Tim?

Richard

Hi Rafa,

AFAIK to do DSD256 using DoP requires a 24 bit 705.6 kHz output stream. Do you know if the USB receiver in your DAC accepts this rate?

Not surprised that on-the-fly conversion of DSD256 to PCM pegs the CPU.

As I recall, native DSD bitstream support requires ALSA version >= 1.0.29. Send me an email and I'll provide a download link to moOde 3.8 test build that I'm working on. This build has new OS, kernel, MPD, ALSA 1.1.3, etc.

-Tim
 
I would like to make some comments on the image build I did yesterday for the benefit of people who are new or not that experienced using linux. I suspect that most newbies to linux will struggle with getting the initial setup going. i.e. getting the RPi running in headless mode connected to wifi. I tested both the steps using Raspbian and Windows. Using windows I created the wpa_supplicant.conf file using wordpad but the RPi would not connect to the WiFi when booting it up. When I checked the wpa-supplicant.conf file on the memory card, some of the lines of text which I had originally pasted in there were missing. I could have made a mistake but I pasted the whole block of text in there and only edited the SSID and password and then saved the file so it was strange that some of the text was missing. A quick edit sorted that out though.

I also had to try and remember how to create an empty file in order to create the ssh file in the boot directory. I had to recall some DOS experience I had used more that 20 years ago!! :confused: I used "copy con ssh" command in the Command Prompt window to create the ssh file.

I used the latest version of Putty to do the build from a Windows 10 machine. I opened two windows. In the one I ran Putty and in the other the build v1.6 recipe using Wordpad. If you hover the mouse cursor over the command you want to copy it shows the text cursor but if you move it directly to the left of the command you want to select it shows an arrow. If you click the arrow the entire line of the text is selected. Including one space to the right of the command. This is the carriage return.

This means that if you copy that line and you right click in the Putty console the line you copied is pasted and executed without you having to press enter.

To select the next command you move back to the Wordpad window and now double click next to (immediately to the left of) the line of text/command you want to copy and it will activate the window and select the whole line of text which you can quickly copy using Ctrl+C. If you then move back to the Putty window and right-click anywhere in the window the command will be pasted and executed. This works much faster and eliminates typing errors.

If you do not want to copy the carriage return character you simply drag the text cursor up to the end of the command without selecting the last open space after the text. This means that if you paste the line of text in Putty it will not be executed so you can edit the line before executing it if you needed to do that.

I ran the whole recipe without a glitch except for the issue with some of the packages you install in step 2 which were reported as error 404. Before you download and install these packages you are required to do an update and upgrade to raspbian. Something must have gone wrong here because the upgrade did run inordinately long. When I did the update and upgrade again the packages were found and installed fine. The problem I experienced does not relate to the build recipe.

The recipe worked fine and I now have a fully running version of Moode4 Beta8.

The function to scan for WiFi ssid's worked flawlessly the first time.

Thank you for everyone who provided input and advice on my questions.
 
Hi Tim,

First post here.
Been onboard since 3.7 and enjoying 3.8.4 very much!

Finally had time to try building r40b8 this weekend using a Mac.

Only hiccups were, the empty ssh file was not recognized the first time around (solved it by creating at text file on my OSX desktop, removing the .txt and then copying to the SD card), and that the SD card had bad sectors and OS won't boot up, which I quickly found out when I plugged the Pi to my monitor by HDMI (highly recommended even if it is just to see confirm that the OS was booting up properly), and this also quickly solved with a format and re-image of the disk.

Other than that all the steps worked just fine (just an occasional download timeout) thanks to a meticulous guide by Tim and other forum members.

Everything working fine playing flac and DSD64 files (DoP on) on a NAS. Bluetooth from iPad and Onkyo DP-X1A working fine as well, although the volume level is low. I have to turn the volume all the way up on the playing devices. Don't know if this is normal.

The only disappointment really is that the advanced kernels are not there anymore, which effectively meant no DoP playback for my DSD128 files using an I2S DAC. I knew that coming in though, but still hanging on to the hope that someone can find a way to effectively build using the LL or RT Kernel instead of the standard one :D

Waiting eagerly for beta 9 ;)
 
Don't ask me how but I have made it to step 13. Don't think the prior steps went as well as I thought. With the Pi on I have typed http//moode in safari browser. Just get a list of search results moodle.org at the top.

Is this a sign that I need to go back to Step 1? :scared:

Thanks

try "http://moode.local" or if you know the ip address of your RPi then try "http://xxx.xxx.xxx.xxx" (your device's ip address)
 
Last edited:
Another quirk with Beta 7 and a NAS.
I added two folders of music to the NAS using Mac Finder. Then in Moode Configure Sources Update (and rescan).
In Moode Browse the folders show but are empty!! In Library those albums do not show.

Look/check using Finder and the Folders and their content are there. Repeat on Beta 8 with a USB Drive and the same music - no problem.

Any thoughts anyone?
 
Hi,

Interesting.

1048576 is the default Stretch rsize reported for a mount w/o any rsize options specified. 61440 was default for Jessie.

Mount is supposed to "negotiate" an optimum rsize but perhaps its not able to in certain scenarios.

@perryni, can you test 61440? If it eliminates the glitches I'll figure something out for Beta9. Powerline networking though is very suspect :-0

-Tim

Hi Tim
First I tried the offending tracks on a USB stick to eliminate networking issues. The same problem appears on the USB tracks so I have come to the conclusion it must be the mastering of the CD from which I ripped the tracks, it’s just to loud!

Thanks again for all the help.

Nick
 
Hi Tim
First I tried the offending tracks on a USB stick to eliminate networking issues. The same problem appears on the USB tracks so I have come to the conclusion it must be the mastering of the CD from which I ripped the tracks, it’s just to loud!

Thanks again for all the help.

Nick

Hi, Nick.

+1 for doing the simplest possible test that can repo your issue.

I won't pretend Wikipedia is a perfect information source, but the article on the Comparison of analog and digital recording is pretty good.

Here's an longish excerpt from the section on overload conditions (I added the italics for emphasis):

With high level signals, analog magnetic tape approaches saturation, and high frequency response drops in proportion to low frequency response. While undesirable, the audible effect of this can be reasonably unobjectionable. In contrast, digital PCM recorders show non-benign behaviour in overload; samples that exceed the peak quantization level are simply truncated, clipping the waveform squarely, which introduces distortion in the form of large quantities of higher-frequency harmonics. In principle, PCM digital systems have the lowest level of nonlinear distortion at full signal amplitude. The opposite is usually true of analog systems, where distortion tends to increase at high signal levels.

In plain words, once the PCM recorder is in overload, you're screwed:(

Regards,
Kent
 
Another quirk with Beta 7 and a NAS.
I added two folders of music to the NAS using Mac Finder. Then in Moode Configure Sources Update (and rescan).
In Moode Browse the folders show but are empty!! In Library those albums do not show.

Look/check using Finder and the Folders and their content are there. Repeat on Beta 8 with a USB Drive and the same music - no problem.

Any thoughts anyone?

Hi Brian,

Typically this is caused by insufficient permissions on the folders or files. Have a look at MPD log to see whats going on.

cat /var/log/mpd/log

-Tim
 
installing gmusicapi

Folks,

I was building a fresh copy of r40b8 specifically to save as a .img file so I was scrupulously following Tim's recipe instead of "interpreting" it.

This on an RPi3B.

When I got to "// COMPONENT 6 - Upmpdcli" I actually sat and watched instead of going off to do household chores.

I was struck that sudo pip install gmusicapi was taking forever at
Code:
Building wheels for collected packages: lxml
  Running setup.py bdist_wheel for lxml ... |
One CPU was pegged at 100% for more than 5 minutes by the time I got impatient and ctrl-C'ed out of the install.

I went straight to the apt repo.
Code:
sudo apt-get install python-lxml
That took a little time because of dependencies but was still reasonably quick.

Once that was done, I ran sudo pip install gmusicapi without issue.

I'm curious if others have run into the same slowdown? If so, did you just stick it out how long did it take to complete? (I installed gmusicapi in an earlier build but I must have been away from the console for a long time).

Regards,
Kent
 
Folks,

I was building a fresh copy of r40b8 specifically to save as a .img file so I was scrupulously following Tim's recipe instead of "interpreting" it.

This on an RPi3B.

When I got to "// COMPONENT 6 - Upmpdcli" I actually sat and watched instead of going off to do household chores.

I was struck that sudo pip install gmusicapi was taking forever at
Code:
Building wheels for collected packages: lxml
  Running setup.py bdist_wheel for lxml ... |
One CPU was pegged at 100% for more than 5 minutes by the time I got impatient and ctrl-C'ed out of the install.

I went straight to the apt repo.
Code:
sudo apt-get install python-lxml
That took a little time because of dependencies but was still reasonably quick.

Once that was done, I ran sudo pip install gmusicapi without issue.

I'm curious if others have run into the same slowdown? If so, did you just stick it out how long did it take to complete? (I installed gmusicapi in an earlier build but I must have been away from the console for a long time).

Regards,
Kent

Yes, did the same first time lost patience and Ctrl C'd out and re ran sudo pip install gmusicapi. 2nd time I let it run, took about 25-30 minutes.

Ian