Moode Audio Player for Raspberry Pi

Hi Tim,

Had you already thouht about putting an embeded BrutFir in your distro (don't know if it's possible for you with the actual licence of BruteFir ?) and put a GUI to allow to load from the local network or from an USB a TXT file with room and phase correction ! I hardly think about Rephase here :)

Thanks a lot for this distro

(pleased by the good FranceMusic classical and jazz you listed :) )
Is there a GUI

Hi,

I've had several requests for BruteFIR or similar. It might be possible to integrate it with a UI for configuration but probably "a lot of work". I'm not sure where this type of DSP module sits in the audio pipeline between MPD and the audio device.

Regards,
Tim
 
Brutefir is a convolver, it needs FIR Impulses to work. Take a look at this BruteFIR.
MPD pipes into Brutfir, Brutefir uses alsa for output. That is the way i use it.
Here I gave some hints how to use it:
https://volumio.org/forum/volumio-with-mpd-pipe-out-and-brutefir-t3635-10.html
RUNE Audio and Brutefir (Convolver for Roomcorrection) : DIY and tweaks • RuneAudio Forum

Brutefir has a build in EQ, in Daphile it is used with Gui I think.

Regards

Hi,

Seems straight forward enough but "a lot of work" to create a good UI for configuration, settings, EQ and output switching.

If someone wants to make a working, tested configuration on a 2.5 image along with a complete recipe for component installation and config, I'll see if I can build a UI for it. MPD on Moode already compiled with pipe :)

Regards,
Tim
 
Hi,

Here are some screenshots of a few more new features in Moode 2.5 :)

(1) LCD Update Engine

This feature provides an inotifywait based engine that runs a user specified Python script whenever Moode UI changes. The script simply needs to parse the file /var/www/currentsong.txt to obtain the information below, then update the LCD panel.

- artist
- album
- title
- coverart url
- track x of y
- date
- composer
- encoded: (ex: 16/44.1)
- volume
- mute

(2) Resume After Airplay

This feature restores Moode volume after Airplay session ends, then begins playback.

Regards,
Tim
 

Attachments

  • moode-r25-cfg-lcdupdate.png
    moode-r25-cfg-lcdupdate.png
    153.1 KB · Views: 398
  • moode-r25-cfg-rsmaftersps.png
    moode-r25-cfg-rsmaftersps.png
    217 KB · Views: 384
Last edited:
SD card questions

Couple of (basic) questions regarding the SD card options.
All my music files are currently on my USB memory stick - I plan to have my music files on both the USB stick and on the SD card .(which has the Moode 2.4 release on it).
Will selecting the UPDATE MPD DATABASE button show all my music (from both USB/SD) in the browse tab or will I have to select each memory device separately (in the browse tab)?

Also, is there any way to add more music files to the USB/SD memory devices without having to remove them?

Thanks
 
Couple of (basic) questions regarding the SD card options.
All my music files are currently on my USB memory stick - I plan to have my music files on both the USB stick and on the SD card .(which has the Moode 2.4 release on it).
Will selecting the UPDATE MPD DATABASE button show all my music (from both USB/SD) in the browse tab or will I have to select each memory device separately (in the browse tab)?

Also, is there any way to add more music files to the USB/SD memory devices without having to remove them?

Thanks

Hi Marcus,

Browse panel lists each music source separately. The Library panel provides a consolidated view.

Music can be copied to attached USB and SD Card devices via the samba shares that Moode posts.

NAS
SDCARD
USB
USB2
USB3
USB4

Try Moode 2.5 test release 1 (TR1) download listed under TEST CODE button at moodeaudio.org. This release supports USB hotplug so if you wanted to remove the USB stick and copy some files to it, you could at a later time plug it back in and run UPDATE MPD DB, all without having to reboot :)

Regards,
Tim
 
WARNING: [pool display] server reached pm.max_children setting (15), consider raisin

Hi,

I'm using moode 2.5 tr1 with raspberry pi b+.

Like others state, I often loose connection with moode web UI and
I get following warning(s) in /var/log/php5-fpm.log.
Code:
[26-Jan-2016 22:07:20] NOTICE: fpm is running, pid 5097
[26-Jan-2016 22:07:20] NOTICE: ready to handle connections
[26-Jan-2016 22:12:19] WARNING: [pool display] server reached pm.max_children setting (15), consider raising it

Should I increase that parameter in /etc/php5/fpm/pool.d/display.conf for better experience?
 
Hi,

I'm using moode 2.5 tr1 with raspberry pi b+.

Like others state, I often loose connection with moode web UI and
I get following warning(s) in /var/log/php5-fpm.log.
Code:
[26-Jan-2016 22:07:20] NOTICE: fpm is running, pid 5097
[26-Jan-2016 22:07:20] NOTICE: ready to handle connections
[26-Jan-2016 22:12:19] WARNING: [pool display] server reached pm.max_children setting (15), consider raising it

Should I increase that parameter in /etc/php5/fpm/pool.d/display.conf for better experience?

Hi,

Very odd. I've not been able to repro this symptom in my test environment. What log contained the warning message?

I'll investigate In the meantime raising the setting might be helpful but there may be an underlying condition that needs to be addressed first.

Regards,
Tim
 
Moode as Roon end-point / RoonSpeaker

Hi Tim,

I'm just going to echo what mdickey posted on Volumio forum (see quote below). In short - it would be great if Moode can act as Roon end-point. I think this will be the avenue for us to pipe in HQ audio from TIDAL, or (not so HQ) Spotify to Raspberry pi. I envision that there'd be a checkbox for "Roon Endpoint" similar to "Airplay" in Moode configuration. Do you think this is possible at all?


The brilliant software team who brought us Sooloos was spun out of Meridian a few months ago to form Roon Labs (https://roonlabs.com/). If you haven't yet tried Roon you really should. I've used a bunch of different media servers and control points over the years and believe these guys are really going to shake everything up.

Today, you can play music to Volumio using Roon and AirPlay, but this is of course limited to 44/16. The team seems very interested in using Raspberry Pi as a renderer (see https://community.roonlabs.com/t/raspberry-pi-support/1129/18) and is working on a "Roon Speakers" network protocol for streaming over LAN (see https://community.roonlabs.com/t/roon-speakers-what-when-how-and-for-whom/290). They plan for this to fix all the ugliness of UPnP, AirPlay, etc. and ultimately become the gold standard.

In short:

It doesn't compromise on user experience or compatibility (unlike DLNA/UPNP)
It doesn't compromise on sound quality (unlike AirPlay)
It doesn't compromise on reliability (unlike RTSP)

MQA is an oddball in that list--it's a bitstream format, not a network protocol. Meridian does have a networked streaming protocol (part of their Sooloos offering). It is the closest thing to RoonSpeakers that's commercially available today. RoonSpeakers will be capable of carrying MQA content.

...No royalties, not even for codec licenses.

...The Raspberry Pi 2 is an important early target. It has a very comfortable hardware spec--more than the minimum, but it ticks the right boxes and is very inexpensive.


Anyway.. I just wanted to put this on people's radar and see if anyone was interested in or already working on writing a upmpd-like daemon for RoonSpeakers that bridged it to MPD?
 
Hi Tim,

I'm just going to echo what mdickey posted on Volumio forum (see quote below). In short - it would be great if Moode can act as Roon end-point. I think this will be the avenue for us to pipe in HQ audio from TIDAL, or (not so HQ) Spotify to Raspberry pi. I envision that there'd be a checkbox for "Roon Endpoint" similar to "Airplay" in Moode configuration. Do you think this is possible at all?

Hi,

Tidal max bitrate is 16/44.1 which would be streamed lossless via Airplay and u can do that today in Moode. Where's the HQ in all this?

If a "roon-sync" app is developed similar to shairport-sync for Linux then I could definitely integrate it into Moode along the same lines as u proposed i.e. a slider to turn it on and most likely some other associated features :)

Regards,
Tim
 
Firstly - love the program! Simple to use and highly functional!

Are there any plans for a build specifically for the Raspberry Pi 2B? I noted in raspi-config that the overclocking options are only those for the first version of the Pi, unlike in the latest Raspbian Jessie download. Some of the binaries used may also potentially benefit from being compiled so they are able to use the multiple cpu cores if this hasn't already been considered?

I've put together a Pi2B with official touchscreen, the idea being that on boot the Pi boots straight to a kiosk-mode browser pointed at the internal diyAudio server HTTPS page - any suggestions on the best way to achieve this? While the touchscreen shows the console perfectly, if I install the desktop environment I'm unable to get the automated login to function using raspi-config. Any suggestions? Is this something that could be added as an optional feature? Are there any kiosk type browsers that don't require a full desktop GUI to function, can cope with the coding in the web front-end and can be set to autoload on boot easily?

Alternatively, is there a plan to host the web front-end on github and allow us to pull it to our own custom linux install? I presume there isn't much more 'under the hood' that wouldn't be supplied by apt-get?

Any and all advice is much appreciated!
 
Last edited:
Gents

Does anyone of you had such issue as me? As per the attached screen - when in library, the last 2 items from the artist list are covered by the bottom buttons and thus can't be easily clicked (the last one is not visible at all). This is not an issue with the album title or the music genre - just an artist.
Checked with Chrome and Safari on Mac OS.
 

Attachments

  • MoOde_Library.png
    MoOde_Library.png
    11.6 KB · Views: 259
Last edited:
I've put together a Pi2B with official touchscreen, the idea being that on boot the Pi boots straight to a kiosk-mode browser pointed at the internal diyAudio server HTTPS page - any suggestions on the best way to achieve this? While the touchscreen shows the console perfectly, if I install the desktop environment I'm unable to get the automated login to function using raspi-config. Any suggestions?
Any and all advice is much appreciated!

If you're happy with basic text based browsing then try ncmpcpp
 

Attachments

  • Mechanic's_Radio.txt
    12.2 KB · Views: 37
Firstly - love the program! Simple to use and highly functional!

Are there any plans for a build specifically for the Raspberry Pi 2B? I noted in raspi-config that the overclocking options are only those for the first version of the Pi, unlike in the latest Raspbian Jessie download. Some of the binaries used may also potentially benefit from being compiled so they are able to use the multiple cpu cores if this hasn't already been considered?

I've put together a Pi2B with official touchscreen, the idea being that on boot the Pi boots straight to a kiosk-mode browser pointed at the internal diyAudio server HTTPS page - any suggestions on the best way to achieve this? While the touchscreen shows the console perfectly, if I install the desktop environment I'm unable to get the automated login to function using raspi-config. Any suggestions? Is this something that could be added as an optional feature? Are there any kiosk type browsers that don't require a full desktop GUI to function, can cope with the coding in the web front-end and can be set to autoload on boot easily?

Alternatively, is there a plan to host the web front-end on github and allow us to pull it to our own custom linux install? I presume there isn't much more 'under the hood' that wouldn't be supplied by apt-get?

Any and all advice is much appreciated!

Hi,

The OS is based on Raspbian and uses Jessie 4.1.15 kernel and other parts of Jessie but also contains parts of earlier Raspbian. It runs on Pi-1B, B+ and 2B+ and takes full advantage of multi-core proc.

Moode app software and Moode OS are designed as an embedded system consisting of application, servers, sql engine, added components, configs, settings and tunings that are intimately intertwined. This effectivly means that Moode software will only run on Moode OS. It is possible to take stock Raspbian and transform it into Moode OS but I don't maintain a recipe for doing this.

The OS can certainly be modified and many users have added packages and configs but there is always risk of breakage and malfunction.

Regarding the Pi Touchscreen, its a 16:10 aspect ratio panel and Moode UI is designed around the 4:3 a/r of iPad and similar thus on 16:10 displays the lower part of the UI is cut off. I believe this can be addressed by using @media section in CSS. Eventually I'll get to investigating it :)

Here are OC settings for PI-2B that I use for 1GHz clock.

force_turbo=1
arm_freq=1000
core_freq=500
sdram_freq=450
over_voltage=2

Regards,
Tim
 
Gents

Does anyone of you had such issue as me? As per the attached screen - when in library, the last 2 items from the artist list are covered by the bottom buttons and thus can't be easily clicked (the last one is not visible at all). This is not an issue with the album title or the music genre - just an artist.
Checked with Chrome and Safari on Mac OS.

Hi,

I was able to repro this. Looks like a bug.

Regards,
Tim
 
Hi,

I'm using moode 2.5 tr1 with raspberry pi b+.

Like others state, I often loose connection with moode web UI and
I get following warning(s) in /var/log/php5-fpm.log.
Code:
[26-Jan-2016 22:07:20] NOTICE: fpm is running, pid 5097
[26-Jan-2016 22:07:20] NOTICE: ready to handle connections
[26-Jan-2016 22:12:19] WARNING: [pool display] server reached pm.max_children setting (15), consider raising it

Should I increase that parameter in /etc/php5/fpm/pool.d/display.conf for better experience?

Hi,

This is an update up on my previous post regarding this issue.

I was able to force more than 15 child processes and cause the UI to hang when trying to refresh the Browser. It would appear as if the connection were broken so this may in fact be what is happening however I don't see the "...pm.max_children..." error message in any log.

What log contained the error message your posted?

Underlying cause still unknown but there is a mechanism that can automatically handle scenarios where the number of child processes exceeds the limit.

Regards,
Tim
 
Hi Tim,
I've been playing through moode 2.4 for a while now. I'm really impressed. It works every time. Every time it doesn't work it turns out I did something wrong :)

A few observations: Wifi works flawlessly, but having the music on NFS accesing it though wifi-dongle and playing through a USB connected DAC is just to much. The result is glitches and it even seems to miss a beat sometimes.
Since the CPU is not really loaded and the network isn't close to max capacity I'm guessing it must be congestion on the USB. I have no idea how to verify it though.

Changing the network to eth0 everything works perfect. No glitches - no missed beats.
I'm thinking it might be worth trying a HiFIBerry Digi+ to move the DAC away from USB. I really don't want to have a network cable on the livingroom floor :)
Any thoughts?

And today I brought it to a friend with a Topping D20 DAC. It works perfectly - you can add it to the list :)

Thanks for all your work!

/kristian

You are right, RPI has congestion on USB since there is only one gate for all IOs.
But I think it is not your problem, I remember years ago there were theses issues with drivers.
Try to update drivers & kernel first. and if it is not solved, maybe have a look on usb or audio parameters at boot (try google)
 
Hi Tim,


The log I quoted are from /var/log/php5-fpm.log.

As I'm in the process of building moode library, I often access to moode
from Windows PC(to add shares to moode) and from Android phone and/or Android tablet(browsing and playing tracks) simultaneously.

Regards,
Tatsuto

Hi,

This is an update up on my previous post regarding this issue.

I was able to force more than 15 child processes and cause the UI to hang when trying to refresh the Browser. It would appear as if the connection were broken so this may in fact be what is happening however I don't see the "...pm.max_children..." error message in any log.

What log contained the error message your posted?

Underlying cause still unknown but there is a mechanism that can automatically handle scenarios where the number of child processes exceeds the limit.

Regards,
Tim
 
I'm having issues with the volume setting making the player unserviceable . I can set the volume by the dial but the dial follows the cursor . When I set via the volume tab on playback , the dial sits at 0 and cannot be changed .

I'm using PiDac+ with IQAudio's download of Moode and attempting to use hardware volume control

316a