Moode Audio Player for Raspberry Pi

Hi Alexey!

I've tested all available audio players for raspberry pi and am using a very sensitive high end audio system for testing. MOODE is one of the 2 best sounding players together with Archphile. Except Archphile soundwise there is no competition at all. Volumio is clearly inferior compared to MOODE and shows too much rounded, muddy sound with unprecise bass to my ears. Moode delivers straight, honest and clear sound performance that of course demands a balanced audio system to give adequate synergy. Sorry- only my subjective impression.

Greetingz, Robert

Hi, Robert!

I'm totaly agree with you - sound of Moode is much more transparent and live, but on my system it's too harsh, my ears get tired fast.

I thought all palyers sounds same (they are all bitperfect), so it was real surprise for me 0_o
 
Hi, Robert!

I'm totaly agree with you - sound of Moode is much more transparent and live, but on my system it's too harsh, my ears get tired fast.

I thought all palyers sounds same (they are all bitperfect), so it was real surprise for me 0_o
All depends DAC you have.
For example, I have Durio Sound Pro, DAC is pcm5102, on the board there is a switch to select two different kinds of filter: normal or low latency. Low latency is for more warm sound, slow impulse response.
But in general all depends to the DAC chip, pcm5102 is harsh, sabre es9023 on audiophonics and mamboberry board is warm. All depends to the chip and filters. Harsh is normal for high definition DAC, very fast impulse response. Warm is normal for slow impulse response, the wave has more energy, the impulse go down with more time.

Here below the two impulse response of pcm5102, left fast filter, right slow filter.
1ed0c6a06f0f435e605e0cf93b8b71e0.jpg
 
Last edited:
All depends DAC you have.
For example, I have Durio Sound Pro, DAC is pcm5102, on the board there is a switch to select two different kinds of filter: normal or low latency. Low latency is for more warm sound, slow impulse response.
But in general all depends to the DAC chip, pcm5102 is harsh, sabre es9023 on audiophonics and mamboberry board is warm. All depends to the chip and filters. Harsh is normal for high definition DAC, very fast impulse response. Warm is normal for slow impulse response, the wave has more energy, the impulse go down with more time.

Hi, DIY Badger!

Config is always the same - rpi 2 + hifiberry digi (it's board with spdif output) connected to external Lavry DA10 DAC via coaxial spdif, just swapping sd cards. All sound affecting settings disabled - normalization, volume control etc. Jitter must be roughly the same, but difference in sound is huge. I'll try to connect Rpi to digital input and compare signal out of Moode and Volumio.
 
Hi, DIY Badger!

Config is always the same - rpi 2 + hifiberry digi (it's board with spdif output) connected to external Lavry DA10 DAC via coaxial spdif, just swapping sd cards. All sound affecting settings disabled - normalization, volume control etc. Jitter must be roughly the same, but difference in sound is huge. I'll try to connect Rpi to digital input and compare signal out of Moode and Volumio.
I don't use Volumio from about 1 year, but I remember that you have to choose 3 or 4 different settings of sound. Buscia, normal, ecc. What I'm talking about is that you can't have a clear situation, there is always an equalization. This is the reason you hear big differences, Moode has no equalization I suppose, Volumio always equalization. This I suppose.
 
The sound is strongly affected by the oversampling regime, be it imposed on the DAC chip or via software in Moode. I expect this to be a variable setting depending on the system configuration. In my case, I have a HifiBerry Digi+ feeding a Opus (Wolfson) DAC and it sounds best at SOX resampling to 192/24, medium quality. Much nicer than letting the chip do the oversampling or other oversampling settings in Moode. My favorite here need not be best for another setup.

Skip
 
The sound is strongly affected by the oversampling regime, be it imposed on the DAC chip or via software in Moode. I expect this to be a variable setting depending on the system configuration. In my case, I have a HifiBerry Digi+ feeding a Opus (Wolfson) DAC and it sounds best at SOX resampling to 192/24, medium quality. Much nicer than letting the chip do the oversampling or other oversampling settings in Moode. My favorite here need not be best for another setup.

Skip

Good point, but which sounds most like your cd player?

Just curious.

Phil
 
Good point, but which sounds most like your cd player?

Just curious.

Phil

I never have had what I would call a good CD player. I went with a Squeezebox SB3 at the end of 2005, and that, using the internal DAC, sounded better than any CD player I had used. The best of those was a Jolida player with a tube output stage. The SB3 killed it.

With Moode, using no upsampling (which means the DAC chip is upsampling in hardware on 99%? of DACS) sounds most like CD players.

Skip
 
Ok, guys, let me clear: all normal bitperfect player's deliivering same data to DAC. For example we have 44.1 Hz 16 bit file containg "111000111" - no matter is it Moode, Volumio, Fobar2000 DAC recieving same "111000111". Normalization, equalization, volume control and other bells and whistles out of law. So if data transforms to "110000111" player is not bitperfect at all!

But there is a jitter, which affects on deviations of siganl in time, etc when "1" or "0" is transfered. In perfect world it's "111000111", in real world there is something like "1______1___________1 ____0_________0___0____________1____1__________1" in poor quality hardware and "1_1___0 __0_0___ 1 _1 _1" in zillion dollar high-end player. Less jitter you have, more sound quality you get. That's what Volumio kernels profiles respinsible for in theory, not equalization.

Tim, correct me if I'm wrong please.
 
Ok, guys, let me clear: all normal bitperfect player's deliivering same data to DAC. For example we have 44.1 Hz 16 bit file containg "111000111" - no matter is it Moode, Volumio, Fobar2000 DAC recieving same "111000111". Normalization, equalization, volume control and other bells and whistles out of law. So if data transforms to "110000111" player is not bitperfect at all!

But there is a jitter, which affects on deviations of siganl in time, etc when "1" or "0" is transfered. In perfect world it's "111000111", in real world there is something like "1______1___________1 ____0_________0___0____________1____1__________1" in poor quality hardware and "1_1___0 __0_0___ 1 _1 _1" in zillion dollar high-end player. Less jitter you have, more sound quality you get. That's what Volumio kernels profiles respinsible for in theory, not equalization.

Tim, correct me if I'm wrong please.

Hi Alexey,

Yes, Jitter is form of digital signal distortion caused by variations in timing between the receipt of each bit in a bitstream. It can be measured empirically by hardware analyzer placed in the signal path.

A commonly used method for reducing Jitter to inaudible level is to implement a FIFO reclocker that buffers and then re-clocks the bitstream using high precision clock.

Many nice DAC's implement this or some other method on-board. There are also off-board solutions like IanFIFO II kit.

As far as Linux kernel goes, I'm not aware of any settings that could address bitstream jitter, or even any way to measure it.

Regards,
Tim
 
Hi Alexey,

Yes, Jitter is form of digital signal distortion caused by variations in timing between the receipt of each bit in a bitstream. It can be measured empirically by hardware analyzer placed in the signal path.

A commonly used method for reducing Jitter to inaudible level is to implement a FIFO reclocker that buffers and then re-clocks the bitstream using high precision clock.

Many nice DAC's implement this or some other method on-board. There are also off-board solutions like IanFIFO II kit.

As far as Linux kernel goes, I'm not aware of any settings that could address bitstream jitter, or even any way to measure it.

Regards,
Tim
Thank you Tim for perfect explanation.
So, for reduce jitter problem, i2S DAC probably is better then Hifi berry digi and external DAC.
Fortunately an i2s DAC is my choice. [emoji1]
 
Thank you Tim for perfect explanation.
So, for reduce jitter problem, i2S DAC probably is better then Hifi berry digi and external DAC.
Fortunately an i2s DAC is my choice. [emoji1]

Hi,

Not necessarily. It depends on the specifics of the devices and what methods they implement for reducing jitter. You will probably get equally good results with any of S/PDIF, USB or I2S interfaces and top notch re-clocking DAC's or dedicated re-clocking devices like Ian FIFO II.

Looking ahead I think there will be more I2S DAC boards and drivers for Raspberry Pi (similar to HifiBerry DAC+Pro) that are designed to operate in master mode using good clocks to re-clock the bitstream.

-Tim
 
Hi,

Moode 2.6 2016-06-27 update is available.

READ CAREFULLY

1) This update can take several minutes to complete due to components that are downloaded and installed from Jessie repo. After pressing INSTALL, ignore the message "Software update complete, Reboot required" that appears almost immediately and just wait 3-5 minutes. There is bug in Worker that prevents System config screen from auto-waiting before displaying the completion message. The bug is fixed in this update.

The update process can be monitored by ssh TOP to determine when its ok to reboot. Look for apt-get and mandb running. When they are both finished and no longer appear in list, its safe to reboot.

2) This is the first update to provide new radio stations, logos and other settings via in-place SQL updating. After rebooting, select "Update this folder" for RADIO or alternativly run UPDATE MPD DB from the Source config screen so the new stations appear in the RADIO list.

3) PHP/NGINX Interprocess Communications (IPC) are updated to use fast UNIX socket instead of slower Network stack. PHP session handling is updated to use fast memory cache instead of slower disk files.

4) New settings in System config, Peripherals section for Keyboard and Layout codes compliments of coding by Richard Parslow.

5) One of the updates installs html files that revert the knob colors to Emerald. Use Customize to set another color, then back to your favorite color, then refresh.

Finally, it's always a good idea to BACKUP the SD Card before installing updates :)

Enjoy!

Regards,
Tim

2016-06-27 Package Content

NEW: In-place software updater
NEW: Cache PHP session data using memcache
NEW: Sys config settings for kbd and layout
NEW: AddictedToRadio - Quiet Storm
NEW: Positivly Baroque
UPD: Zen FM stream link to mp3
UPD: Use UNIX socket for PHP/NGINX interprocess comms
UPD: Bump NGINX fastcgi_read_timeout
UPD: Improve watchdog monitoring to include MPD restart
UPD: Change MPD socket connection to use debugLog()
UPD: Clean up wording on Net config and Restart screens
UPD: Add 32/176.4, 32/352.8 sample rates to SoX list
FIX: Remove circular symlinks in /mnt for NAS and SDCARD
FIX: Playback panel toolbar not visible on iPad Mini
FIX: DHCP addr being assigned when eth0 set to static addr
FIX: Fail to get cover art embedded in AIFF format
 

Attachments

  • moode-logotypes-v2.png
    moode-logotypes-v2.png
    34.9 KB · Views: 332
Hi,

Not necessarily. It depends on the specifics of the devices and what methods they implement for reducing jitter. You will probably get equally good results with any of S/PDIF, USB or I2S interfaces and top notch re-clocking DAC's or dedicated re-clocking devices like Ian FIFO II.

Looking ahead I think there will be more I2S DAC boards and drivers for Raspberry Pi (similar to HifiBerry DAC+Pro) that are designed to operate in master mode using good clocks to re-clock the bitstream.

-Tim
My Durio Sound Pro, i2s board, has a PCM5102 DAC that integrated High-Performance Audio PLL with
BCK Reference to generate SCK internally.
Durio Sound developer leave PLL mode always ON.
It's like master mode you are talking about, a re-clock, good for jitter. Is it correct?
 
Last edited:
Could someone direct me to a novice digital beginners course about both the Moode program and using it in the Rasberry Pi?

Also, is it possible to use just the 1 Rasberry Pi as the music server and a dsp 2 way stereo crossover (to include group delay and phase control filters) or will thus require another separate Rasberry Pi unit

Just looking for beginner's guide and possibilities .... Thanks
 
Hi Alexey,

Yes, Jitter is form of digital signal distortion caused by variations in timing between the receipt of each bit in a bitstream. It can be measured empirically by hardware analyzer placed in the signal path.

...
As far as Linux kernel goes, I'm not aware of any settings that could address bitstream jitter, or even any way to measure it.

Regards,
Tim

An open-source project I worked on peripherally for many years used the Linux realtime kernel (PREEMPT_RT patches) very effectively to reduce timing jitter in CNC applications. These days, this kernel can be built relatively easily for RPi2/3s.

Trouble is, unlike the CNC case, I have no idea how to measure bitstream jitter in audio applications, nor which processes to put in realtime threads, and hence no idea how to demonstrate the usefulness (or not!) of a realtime kernel in Moode Player. (Lord Kelvin wrote in 1883: "I often say that when you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meagre and unsatisfactory kind....")

Regards,
Kent