Moode Audio Player for Raspberry Pi

Tried the UAC fix - no sound.

Model - Wadia 151 Powerdac Mini

Output as requested:

J-Lite Core, armv7l Architecture
__ ____ ____
__ _ ___ ___ ___/ /__ / __ \/ __/
/ ' \/ _ \/ _ \/ _ / -_) /_/ /\ \
/_/_/_/\___/\___/\_,_/\__/\____/___/

moodeOS Version 1.1
dual-kernel
(C) 2016 Tim Curtis

moodeOS is based on Debian GNU/Linux and is custom
factored for Moode Audio Player. moodeOS and Moode
Audio Player are provided for free by the copyright
holders and contributors and come with no expressed
or implied warranties or any other guarantees.

Last login: Fri Feb 17 23:06:27 2017 from 10.0.1.14
pi@moode:~ $ cat /var/www/moode.log
cat: /var/www/moode.log: No such file or directory
pi@moode:~ $ cat /etc/mpd.conf
#########################################
# This file is automatically generated by
# the player MPD configuration page.
#########################################

follow_outside_symlinks "yes"
follow_inside_symlinks "yes"
db_file "/var/lib/mpd/tag_cache"
sticker_file "/var/lib/mpd/sticker.sql"
log_file "/var/log/mpd/mpd.log"
pid_file "/var/run/mpd/pid"
music_directory "/var/lib/mpd/music"
playlist_directory "/var/lib/mpd/playlists"
state_file "/var/lib/mpd/state"
user "mpd"
group "audio"
bind_to_address "any"
port "6600"
log_level "default"
zeroconf_enabled "yes"
zeroconf_name "moode"
samplerate_converter "soxr very high"
volume_normalization "no"
audio_buffer_size "4096"
buffer_before_play "10%"
filesystem_charset "UTF-8"
id3v1_encoding "UTF-8"
gapless_mp3_playback "yes"
auto_update "no"
mixer_type "software"
max_output_buffer_size "81920"
restore_paused "yes"
replaygain "off"
max_connections "20"

decoder {
plugin "ffmpeg"
enabled "yes"
}

input {
plugin "curl"
}

audio_output {
type "alsa"
name "ALSA default"
device "hw:1,0"
dsd_usb "yes"
}

audio_output {
type "alsa"
name "ALSA crossfeed"
device "crossfeed"
dsd_usb "yes"
}
pi@moode:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 7/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Input [USB Audio Input], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
pi@moode:~ $

Hi,

My mistake. It should be:

cat /var/log/moode.log

-Tim
 
Hi,

My mistake. It should be:

cat /var/log/moode.log

-Tim
Ah - got it. I am not familiar with linux.

Last login: Fri Feb 17 23:05:44 on ttys000
Tecks-MacBook-Pro:~ alvin$ pi@10.0.1.25
-bash: pi@10.0.1.25: command not found
Tecks-MacBook-Pro:~ alvin$ ssh pi@10.0.1.25
pi@10.0.1.25's password:
Linux 4.4.30-v7+ J-Lite Core, armv7l Architecture
__ ____ ____
__ _ ___ ___ ___/ /__ / __ \/ __/
/ ' \/ _ \/ _ \/ _ / -_) /_/ /\ \
/_/_/_/\___/\___/\_,_/\__/\____/___/

moodeOS Version 1.1
dual-kernel
(C) 2016 Tim Curtis

moodeOS is based on Debian GNU/Linux and is custom
factored for Moode Audio Player. moodeOS and Moode
Audio Player are provided for free by the copyright
holders and contributors and come with no expressed
or implied warranties or any other guarantees.

Last login: Fri Feb 17 23:11:52 2017 from 10.0.1.14
pi@moode:~ $ cat /var/log/moode.log
20170217 230937 worker: Startup
20170217 230939 worker: Host (moode)
20170217 230939 worker: Hdwr (Pi-3B 1GB)
20170217 230939 worker: Arch (armv7l)
20170217 230939 worker: Kver (4.4.30-v7+)
20170217 230939 worker: Ktyp (Standard)
20170217 230939 worker: Gov (ondemand)
20170217 230939 worker: OS (moodeOS 1.1)
20170217 230939 worker: Rel (Moode 3.1 2016-12-05)
20170217 230939 worker: Upd (None)
20170217 230939 worker: MPD (0.19.19)
20170217 230939 worker: Session loaded
20170217 230939 worker: Debug logging (off)
20170217 230939 worker: File check...
20170217 230940 worker: File check ok
20170217 230940 worker: Auto-shuffle deactivated
20170217 230940 worker: USB sources (none attached)
20170217 230940 worker: MPD scheduler policy (time-share)
20170217 230940 worker: MPD started
20170217 230940 worker: wlan0 exists
20170217 230940 worker: wlan0 trying SSID (grey council)
20170217 230940 worker: DLNA server started
20170217 230940 worker: UPnP renderer started
20170217 230941 worker: Squeezelite renderer started
20170217 230941 worker: HDMI port on
20170217 230941 worker: Audio (USB audio device)
20170217 230941 worker: ALSA outputs unmuted
20170217 230941 worker: ALSA mixer name (PCM)
20170217 230941 worker: MPD volume control (software)
20170217 230941 worker: MPD output 1 ALSA default (enabled)
20170217 230941 worker: MPD output 2 ALSA crossfeed (disabled)
20170217 230941 worker: Hdwr volume controller exists
20170217 230941 worker: Volume level (49) restored
20170217 230941 worker: wlan0 (10.0.1.23)
20170217 230941 worker: eth0 exists
20170217 230941 worker: eth0 wait 1 for address
20170218 080307 worker: eth0 wait 2 for address
20170218 080310 worker: eth0 wait 3 for address
20170218 080313 worker: eth0 address not assigned
20170218 080313 worker: Airplay receiver started
20170218 080313 worker: Airplay volume (auto)
20170218 080316 worker: NAS sources (mountall initiated)
20170218 080316 worker: MPD consume reset to off
20170218 080316 worker: MPD crossfade (off)
20170218 080316 worker: Watchdog started
20170218 080316 worker: End startup
20170218 080316 worker: Ready
pi@moode:~ $
 
Last edited:
Ah - got it. I am not familiar with linux.

Last login: Fri Feb 17 23:05:44 on ttys000
Tecks-MacBook-Pro:~ alvin$ pi@10.0.1.25
-bash: pi@10.0.1.25: command not found
Tecks-MacBook-Pro:~ alvin$ ssh pi@10.0.1.25
pi@10.0.1.25's password:
Linux 4.4.30-v7+ J-Lite Core, armv7l Architecture
__ ____ ____
__ _ ___ ___ ___/ /__ / __ \/ __/
/ ' \/ _ \/ _ \/ _ / -_) /_/ /\ \
/_/_/_/\___/\___/\_,_/\__/\____/___/

moodeOS Version 1.1
dual-kernel
(C) 2016 Tim Curtis

moodeOS is based on Debian GNU/Linux and is custom
factored for Moode Audio Player. moodeOS and Moode
Audio Player are provided for free by the copyright
holders and contributors and come with no expressed
or implied warranties or any other guarantees.

Last login: Fri Feb 17 23:11:52 2017 from 10.0.1.14
pi@moode:~ $ cat /var/log/moode.log
20170217 230937 worker: Startup
20170217 230939 worker: Host (moode)
20170217 230939 worker: Hdwr (Pi-3B 1GB)
20170217 230939 worker: Arch (armv7l)
20170217 230939 worker: Kver (4.4.30-v7+)
20170217 230939 worker: Ktyp (Standard)
20170217 230939 worker: Gov (ondemand)
20170217 230939 worker: OS (moodeOS 1.1)
20170217 230939 worker: Rel (Moode 3.1 2016-12-05)
20170217 230939 worker: Upd (None)
20170217 230939 worker: MPD (0.19.19)
20170217 230939 worker: Session loaded
20170217 230939 worker: Debug logging (off)
20170217 230939 worker: File check...
20170217 230940 worker: File check ok
20170217 230940 worker: Auto-shuffle deactivated
20170217 230940 worker: USB sources (none attached)
20170217 230940 worker: MPD scheduler policy (time-share)
20170217 230940 worker: MPD started
20170217 230940 worker: wlan0 exists
20170217 230940 worker: wlan0 trying SSID (grey council)
20170217 230940 worker: DLNA server started
20170217 230940 worker: UPnP renderer started
20170217 230941 worker: Squeezelite renderer started
20170217 230941 worker: HDMI port on
20170217 230941 worker: Audio (USB audio device)
20170217 230941 worker: ALSA outputs unmuted
20170217 230941 worker: ALSA mixer name (PCM)
20170217 230941 worker: MPD volume control (software)
20170217 230941 worker: MPD output 1 ALSA default (enabled)
20170217 230941 worker: MPD output 2 ALSA crossfeed (disabled)
20170217 230941 worker: Hdwr volume controller exists
20170217 230941 worker: Volume level (49) restored
20170217 230941 worker: wlan0 (10.0.1.23)
20170217 230941 worker: eth0 exists
20170217 230941 worker: eth0 wait 1 for address
20170218 080307 worker: eth0 wait 2 for address
20170218 080310 worker: eth0 wait 3 for address
20170218 080313 worker: eth0 address not assigned
20170218 080313 worker: Airplay receiver started
20170218 080313 worker: Airplay volume (auto)
20170218 080316 worker: NAS sources (mountall initiated)
20170218 080316 worker: MPD consume reset to off
20170218 080316 worker: MPD crossfade (off)
20170218 080316 worker: Watchdog started
20170218 080316 worker: End startup
20170218 080316 worker: Ready
pi@moode:~ $

It does not seem to detect the USB connection. But when switched to Picore without touching any of the rest (just switching SD cards), it works. So, I don't think it is a hardware issue.

Hi,

The log looks ok.

To troubleshoot:

- Type cmd: alsamixer and post a full screenshot
- Type cmd: amixer -c 1 and post output

I'll take a look

-Tim
 
Hi,

The log looks ok.

To troubleshoot:

- Type cmd: alsamixer and post a full screenshot
- Type cmd: amixer -c 1 and post output

I'll take a look

-Tim

Hi Tim,

See attached screenshot.



pi@moode:~ $ amixer -c 1
Simple mixer control 'PCM',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 110
Mono:
Front Left: Playback 110 [100%] [0.00dB] [on]
Front Right: Playback 110 [100%] [0.00dB] [on]
pi@moode:~ $ ^C
pi@moode:~ $
 

Attachments

  • Screen Shot 2017-02-18 at 8.25.55 AM.png
    Screen Shot 2017-02-18 at 8.25.55 AM.png
    252.7 KB · Views: 280
Hi Tim,

See attached screenshot.



pi@moode:~ $ amixer -c 1
Simple mixer control 'PCM',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 110
Mono:
Front Left: Playback 110 [100%] [0.00dB] [on]
Front Right: Playback 110 [100%] [0.00dB] [on]
pi@moode:~ $ ^C
pi@moode:~ $

Hi,

I should have specified alsamixer -c 1 but in any case amixer cmd output looks ok.

I'm not seeing anything suspicious. Your DAC apparently has an on-board hardware volume controller. You could try setting MPD Volume control to Hardware, then in the Customize screen set Logarithmic curve to Yes.

Another option is to set MPD resampling to 32 bit / * kHz. Some newer USB DAC's have receiver chips that only accept 32 bit word length.

-Tim
 
Hi,

I should have specified alsamixer -c 1 but in any case amixer cmd output looks ok.

I'm not seeing anything suspicious. Your DAC apparently has an on-board hardware volume controller. You could try setting MPD Volume control to Hardware, then in the Customize screen set Logarithmic curve to Yes.

Another option is to set MPD resampling to 32 bit / * kHz. Some newer USB DAC's have receiver chips that only accept 32 bit word length.

-Tim


I found the problem and have a partial fix. It is a combination of 3 issues:

1. I didn't realise i needed to configure the squeezelite settings at it was a small link on the menu - the audio output there was set to 'on-board device'. Changing that to USB fixed the problem. I can get music from LMS now
2. Airplay is not working. I think there's a conflict with one of the LMS airplay plugins. No sound if i choose 'Moode Airplay', but i can get Airplay if I select 'moode' - 'moode' is probably rendered by the airplay plugins in LMS.....
3. I can't seem to play any of the radio stations or the test tones.. must be some configuration issue...

So, only LMS is working :)
 
Last edited:
Why are tracks from the iTunes store decoded to 24-bit, and then output at 32-bit? (using a HiFiBerry Digi+)

Here's a screenshot:

i7w3PYQ.png


Shouldn't they be decoded to 16-bit? And if not, shouldn't 24-bit audio be output at 24-bit?

Hi,

There is no such thing as "bit-depth" in lossy compression (iTunes store tracks, mp3, ogg, etc).

Below is an old but still relevant post from MaxK, the main MPD dev.

(1) MP3: The property of bit depth does not exist in compressed file formats until they are decoded back to PCM. MPD uses libmad plugin to decode MP3 format and libmad outputs 28/44.1 PCM of which 24 bits are used by MPD.

(2) WAV: The libsndfile plugin is used by MPD to decode WAV format files and this decoder always outputs a bit depth of 32 bits.

(3) HW_PARAMS: This is the bit depth reported by ALSA and is what is actually sent to the audio device. If its lower than the MPD decoded bit depth, it reflects MPD falling back to a PCM bit depth that the audio hardware indicates it can supports. This was the case in the WAV example where the decdoded bit depth was 32 bits but the DAC (a BerryNOS) can handle only up to 24 bit.

-Tim
 
I found the problem and have a partial fix. It is a combination of 3 issues:

1. I didn't realise i needed to configure the squeezelite settings at it was a small link on the menu - the audio output there was set to 'on-board device'. Changing that to USB fixed the problem. I can get music from LMS now
2. Airplay is not working. I think there's a conflict with one of the LMS airplay plugins. No sound if i choose 'Moode Airplay', but i can get Airplay if I select 'moode' - 'moode' is probably rendered by the airplay plugins in LMS.....
3. I can't seem to play any of the radio stations or the test tones.. must be some configuration issue...

So, only LMS is working :)

Squeezelite renderer hogs ALSA. Turn it off and other audio should play.
 
access 2nd USB stick on router?

Tim: I had no difficulties accessing a single USB stick attached to my router with flac files. My router can attach up to 2 USB sticks.

I am having difficulties accessing both USB sticks attached to the router using NAS configuration on moodeaudio, it seems to allow only one USB, is there a way?

thanks,
 
Tim: I had no difficulties accessing a single USB stick attached to my router with flac files. My router can attach up to 2 USB sticks.

I am having difficulties accessing both USB sticks attached to the router using NAS configuration on moodeaudio, it seems to allow only one USB, is there a way?

thanks,

As long as each stick has a different disk label u should be able to make a seperate NAS source for each one.
 
Ok been a bit busy so only just got round to this, but there definitely seems to be an issue with Moode 3.1 and upexplorer. I have tried moode 2.7 and there are no issues , but moode 3.1 (advanced kernel) and I get the issue with the upexplorer taking 100%, it makes no difference which version upmpdcli I use.

The reason I am noticing it is because I use the UPNP functionality more, I hardly use the web front end.

To my mind it looks to be around the use of music from a UPNP server, and perhaps network stability.I have one PI that acts as a UPMPDCLI source for Qobuz and also it runs Asset UPNP. If I use a play list from Asset it plays ok, but if I stop it at night (no I dont think it is scared of the dark) by the morning the upexplorer process is at 100%. Because of the ohome capabilities of upmpdcli (I think) Moode remembers the play list. If I reboot the PI running Asset (after playing some tracks from it) even though the play list has stopped Upexplorer hits 100%, as I have not yet worked out how to get Asset to autostart it is not running when the Pi reboots so I think upexplorer is being called on a stale playlist , however the urls for the tracks in the play list (stopped) is not available because the Asset UPNP server is not available hence why I think network conditions make it more visible.

I will try the standard kernel next and see if I can reproduce with MDNLA.

I still cannot get to the bottom of this I still get a stuck upexplorer process at 100% (or one core) leaving the RPI running at 28-30% cpu and I have to kill the process. I cannot reproduce this immediately but I can get it to happen every day, seems to be to do with cached upnp play lists. If I switch the source in Bubble DS or Kazoo to Radio after finishing then I don't get the issue. Despite getting this on two different installs I realise this could still be peculiar to my setup , in fact JF (uplexplorer writer) could not reproduce the error or see anything in my core files.

I have built a new version of upexplorer from his sample repos to see if that fixes the issue but..

@Tim

1) Do you rebuild upexplorer or has it remained the same of the last few updates?
2) Where in the Web Code is upexplorer called?
3) I play radio streams using the UPMPDCLI OHRadio functionality, do you call upexplorer for Radio streams and more specifically Radio Streams played this way?
 
I still cannot get to the bottom of this I still get a stuck upexplorer process at 100% (or one core) leaving the RPI running at 28-30% cpu and I have to kill the process. I cannot reproduce this immediately but I can get it to happen every day, seems to be to do with cached upnp play lists. If I switch the source in Bubble DS or Kazoo to Radio after finishing then I don't get the issue. Despite getting this on two different installs I realise this could still be peculiar to my setup , in fact JF (uplexplorer writer) could not reproduce the error or see anything in my core files.

I have built a new version of upexplorer from his sample repos to see if that fixes the issue but..

@Tim

1) Do you rebuild upexplorer or has it remained the same of the last few updates?
2) Where in the Web Code is upexplorer called?
3) I play radio streams using the UPMPDCLI OHRadio functionality, do you call upexplorer for Radio streams and more specifically Radio Streams played this way?

Hi,

I compiled upexplorer-0.10.0 way back and it hasn't changed since. Search for function getUpnpCoverUrl() in /var/www/inc/playerlib.php

-Tim
 
Hello Tim,
I just jump in SBC with Raspbery Pi3 B. MoodeAudio player looks very nice. And sounds very good. I have a problem with index of 2TB HDD with music. Updating is goes to B letter and stops. I removed folder, but after that stops on C letter. I am new, and haven't read all posts in theme. You may have discus similar problem.


Thanks,
Angel
 
Hello Tim,
I just jump in SBC with Raspbery Pi3 B. MoodeAudio player looks very nice. And sounds very good. I have a problem with index of 2TB HDD with music. Updating is goes to B letter and stops. I removed folder, but after that stops on C letter. I am new, and haven't read all posts in theme. You may have discus similar problem.


Thanks,
Angel

- Moode System config, Clear system logs
- from ssh, tail -f /var/log/mpd/mpd.log
- Moode Source config, UPDATE MPD DB
- look for errors in the log

super huge embedded cover art images was an issue for one user
corrupt files have been an issue for many users
$RECYCLEBIN on a drive caused issues for another user
etc, etc

if you want more error information change mpd logging from "default" to "verbose" by editing /etc/mpd.conf then restarting MPD.