Moode Audio Player for Raspberry Pi

I use moOde on a Raspberry Pi 3B, with a USB DAC (Arcam irDAC) that has an infra-red receiver. The DAC has a remote control where I can press play, stop, next song, etc. and this sends commands over USB to the DAC.

I posted some instructions on how to configure it in the past. MoOde 4 is now built on top of a more recent Raspbian, with a newer, slightly different version of lirc, so I'm posting here the updated instructions, in case somebody else wants to use them.

* Tested with a manual installation of moode 4 beta 12

1. Install the necessary packages
sudo apt-get install lirc
sudo apt-get install ir-keytable

- Check input with ir-keytable (the device name could be different in your case):
pi@moode:~ $ ir-keytable -vtd /dev/input/event0
Opening /dev/input/event0
Input Protocol version: 0x00010001
Testing events. Please, press CTRL-C to abort.
1498377601.323848: event type EV_MSC(0x04): scancode = 0xc00b7
1498377601.323848: event type EV_KEY(0x01) key_down: KEY_STOPCD(0x0001)
1498377601.323848: event type EV_SYN(0x00).
1498377601.323876: event type EV_KEY(0x01) key_up: KEY_STOPCD(0x0001)
1498377601.323876: event type EV_SYN(0x00).

2. In /etc/lirc/lirc_options.conf, put the device in the line:
device = /dev/input/event0

3. Replace /etc/lirc/irexec.lircrc with:
begin
prog = irexec
button = KEY_PLAY
config = mpc play
end
begin
prog = irexec
button = KEY_STOPCD
config = mpc stop
end
begin
prog = irexec
button = KEY_PAUSE
config = mpc pause
end
begin
prog = irexec
button = KEY_PREVIOUSSONG
config = mpc prev
end
begin
prog = irexec
button = KEY_NEXTSONG
config = mpc next
end

4. Restart the services:
sudo systemctl restart lircd
sudo systemctl restart irexec

- Check lircd and irexec are running:
pi@moode:/etc/lirc $ ps -ef | grep irc
root 807 1 0 12:32 ? 00:00:00 /usr/sbin/lircd --nodaemon
root 1950 1 0 12:36 ? 00:00:00 /usr/bin/irexec /etc/lirc/irexec.lircrc
pi 2366 15383 0 12:38 pts/0 00:00:00 grep --color=auto irc
pi@moode:/etc/lirc $

Good to go! Now the command irw can be used for troubleshooting: start this command then press keys on the remote
pi@moode:/etc $ irw
00000000800100a6 00 KEY_STOPCD devinput
00000000800100a6 00 KEY_STOPCD devinput
00000000800100a6 00 KEY_STOPCD devinput
00000000800100cf 00 KEY_PLAY devinput
^C
pi@moode:/etc $

- More info: LIRC - Linux Infrared Remote Control
This is really useful. I have an Arcam Delta 290 and I will try this at some point.
 
On beta12 and have turned on moOde upnp and hit set. On my MAC I am running Audirvana 3.1.8 with preferred audio devices in drop down Built in output,minidsp and Volumio. There is MoOde Upnp is not found. Have checked with Damien of Audirvana and he confirms MoOde should be there if enabled on MPD config.

Has anyone else had this issue and found a solution?

I also can't connect to Moode Upnp using Audirvana (I also asked in this forumtopic), nobody reacted...
 
On beta12 and have turned on moOde upnp and hit set. On my MAC I am running Audirvana 3.1.8 with preferred audio devices in drop down Built in output,minidsp and Volumio. There is MoOde Upnp is not found. Have checked with Damien of Audirvana and he confirms MoOde should be there if enabled on MPD config.

Has anyone else had this issue and found a solution?

I also can't connect to Moode Upnp using Audirvana (I also asked in this forumtopic), nobody reacted...

@onionhead
@Vhond

Everything UPnP-related that I've tried on Linux and Android has discovered my moOde Players once I've enabled their UPnP renderers.

It seems to me you are at an impasse since you're dealing with a proprietary software product and the developer says "not my problem".

Can you discover your moOde Player with any other UPnP-aware program/device? I'm not a Mac user so can't suggest one for it.

There's a number of Android apps, both players like BubbleUPnP and browsers like UPnP Scanner, as two examples, all of which have worked for me. It looks like there are similar iOS apps. I've taken advantage of gupnp-tools on my Linux laptop but it's probably inscrutable to non-techies (Google is your friend). It looks like there is a four-year old UPnPTest program for Windows but I can't vouch for it.

Good luck!

Regards,
Kent
 
Moode 3.8.4 and UPnP using Audirvana

@onionhead
@Vhond

Running moOde 4 beta 12 perfectly here with Audirvana 3.1.8 over UPnP.
So it should work for you too!

Have you ever tried it with Moode 3.8.4?

When I use Kinsky (from Linn) it's not a problem finding Moode UPnP.

Strange enough @Yannig did manage it to stream to Moode UPnP using Audirvana (I sent a PM to Yannig to figure out how :confused:)
 
Not a cut and paste problem, a DIYAudio link-parsing problem.

That bloody link parsing really annoys me and is a ‘feature’ I really see no use case for.

If I could turn it off as an option, I would. I forget to unstick it when posting links.

Yup. I've been bitten by the same dog, just not on such a grand scale.

Question for you (since you've written about WiFi a number of times) and @HeeBoo

In @HeeBoo's modified script(s), the user is asked to enter a country code in the function configWireless.

Is this really needed? I was concerned about the country code once upon a time since the default value in raspbian is "GB" (even had a private exchange about it with Tim) but I convinced myself a couple of months ago that it's not an issue.

As I read the WiFi literature, this initial value is basically just a hint and is purposely restrictive (e.g., the UK sets lower power limits for the 2.4GHz band than does the US). The 80211 interface gets the actual regulatory domain information from the router during the initial handshaking (details in https://wireless.wiki.kernel.org/en/developers/regulatory/processing_rules).

Have we seen cases where someone not in the US or UK can't get their RPi WiFi interface to associate with their router when the country code value is the default "GB"?

Regards,
Kent
 
Hello,

@Tim : can you remove "hdmi_drive=2" from your boot/config.txt? On my DVI display i can't see anything (i know, i don't need to see anything but without it you have more compatibility)

...

@HeeBoo

Catching up on old posts.

The default setting (hdmi_drive=1) may improve the probability of success with a DVI display but IIRC setting hdmi_drive=2 improves the probability of success passing audio through hdmi. Since both seem like genuine use cases in moOde why not make this another user-settable option during the build?

Regards,
Kent
 
I also can't connect to Moode Upnp using Audirvana (I also asked in this forumtopic), nobody reacted...

I was able to crack it yesterday. See screen shot. In audio renders turn ON UPnP. In UPnP Config cofig screen click on APPLY.

That should do it. Let me know.
 

Attachments

  • Screen Shot 2017-12-17 at 1.42.45 PM.png
    Screen Shot 2017-12-17 at 1.42.45 PM.png
    92.9 KB · Views: 320
Hi Tim,
I noticed the screen grab shows a different casing (is that the correct word?) for the SSID, compared to your written reply.
SSID's are case sensitive, therefore, Orbi55 is not the same as ORBI55.
Could this be the cause in uour case?

You were absolutely right. Just finished the two Phase build process with my SSID in uppercase.

Thanks Squadra

HeeBoo and Koda59 desire all the credit for the work they have done and in case the extra push to get me across the line. Many thanks for your many contributions.
 
You were absolutely right. Just finished the two Phase build process with my SSID in uppercase.

Thanks Squadra

HeeBoo and Koda59 desire all the credit for the work they have done and in case the extra push to get me across the line. Many thanks for your many contributions.

Hi California Tim -- great to see everything got sorted out. I have to admit I always use ethernet for setting up moOde as it's fairly foolproof (for this fool anyway). Once everything is up and running, I connect the WiFi adapter and then set up the wireless connection before moving the RPi to the audio system.

Big thanks from me, too:
Koda59: for the build script so that I could attend to other responsibilities during the build.
HeeBoo: for build log monitoring.
And of course Tim Curtis: for all the extra work to make sure moOde forges ahead (Christmas present coming your way!)

Looking forward to listening to some great new music over the Christmas break, thanks Santa!

Richard
 
Yup. I've been bitten by the same dog, just not on such a grand scale.

Question for you (since you've written about WiFi a number of times) and @HeeBoo

In @HeeBoo's modified script(s), the user is asked to enter a country code in the function configWireless.

Is this really needed? I was concerned about the country code once upon a time since the default value in raspbian is "GB" (even had a private exchange about it with Tim) but I convinced myself a couple of months ago that it's not an issue.

As I read the WiFi literature, this initial value is basically just a hint and is purposely restrictive (e.g., the UK sets lower power limits for the 2.4GHz band than does the US). The 80211 interface gets the actual regulatory domain information from the router during the initial handshaking (details in en:developers:regulatory:processing_rules [Linux Wireless]).

Have we seen cases where someone not in the US or UK can't get their RPi WiFi interface to associate with their router when the country code value is the default "GB"?

Regards,
Kent

No, the GB setting allows channels 1-13.

The US, along with a host of other countries, doesn’t have as wide a range of channels - they get 1-11, the rest of the world gets 1-13, so if your router is configured for a channel your device can’t access, or vice versa, you won’t connect.

As far as power goes, US and a bunch of countries allow 1000 eirp, One allows 4000, where the UK only allows 100. Power limits range from 50 to 4000 so balancing power and channels can be quite a bit of fun.

Howerever, most manufacturers only build one model for all geos, so setting your router to India isn’t going to give you 4x the power of a router in the US or 40x the power of a router in the UK, it will just run at 100%. Depending on the router model, you could find a ‘US only’ model that broadcasts at 1000, but if your receiver doesn’t also transmit at 1000, you are fooked (technically speaking). So, nearly all wifi gear for consumer use runs at 100eirb to maximise the markets they can sell into.
 
Hi All,

I have been battling with this for a few days now and no matter what I try I can't get the build script of see the sd card. I have tried a selection of SD Cards formatted in different ways. I'm using a USB card reader.

I'm really keen to try MoOde out as it seems to exactly what I'm looking for, so before I go and buy a new sdcard and adaptor thought I would ask for advice in case I'm doing something dumb.

Cheers

Edit: Using a Raspberry Pi 3 model B
 
Last edited:
Hi All,

I have been battling with this for a few days now and no matter what I try I can't get the build script of see the sd card. I have tried a selection of SD Cards formatted in different ways. I'm using a USB card reader.

I'm really keen to try MoOde out as it seems to exactly what I'm looking for, so before I go and buy a new sdcard and adaptor thought I would ask for advice in case I'm doing something dumb.

Cheers

Edit: Using a Raspberry Pi 3 model B

Hi

Are you using one of those multi-card readers. I had that issue before the suggested changes by @koda59. I am not sure if they were incorporated into the latest mosbuild.sh file.

Try and get a dedicated USB/MicroSD Card reader.

I usually use the SDCard Formatter app but have also formatted cards with Windows and never had an instance where that was the issue where the card could not be seen.
 
Last edited:
Cheers, will give that a go, I've tried formatting the SDcard on Windows and in Ubuntu.

I have used a multi-card reader and dedicated sdcard USB reader.

Insignia™ - USB 3.0 Memory Card Reader from Best Buy $15

Rocketek Aluminum USB 3.0 Portable Memory Card Reader Adapter for Micro SD Card / TF Card Reader Adapter from Amazon $9.

Both worked for me, but seems others prefer the dedicated USB 3.0 adapter.

Hope this helps.