Moode Audio Player for Raspberry Pi

Member
Joined 2003
Paid Member
In post 4817 I asked the following two questions:

I would like to use an RPi-2 as a standalone WIFI access point, and understand the Moode version 6 and 7 allow to do so. The RPi-2 will be used with a HiFIBerry DIGI+ . I still need to buy a wifi dongle, and wonder what the experience/ advice is on this forum.
What about the Edimax EW-7811Un or Wipi?

In post 4536, I read the instruction to install a dongle for the RPi-3. Is the instruction the same for the RPi-2?

Can you please comment?
 
In post 4817 I asked the following two questions:

I would like to use an RPi-2 as a standalone WIFI access point, and understand the Moode version 6 and 7 allow to do so. The RPi-2 will be used with a HiFIBerry DIGI+ . I still need to buy a wifi dongle, and wonder what the experience/ advice is on this forum.
What about the Edimax EW-7811Un or Wipi?

In post 4536, I read the instruction to install a dongle for the RPi-3. Is the instruction the same for the RPi-2?

Can you please comment?

Hi, av-trouvaille. Sorry your first message was overlooked.

Here's a quote from the Moode Setup Guide

WIFI ADAPTERS THAT SUPPORT ACCESS POINT MODE

- Raspberry Pi 3 integrated WiFi adapter
- Canakit WiFi Adapter
- Raspberry Pi USB WiFi Dongle
- WiFi adapters based on RTL RT5370 chipset
- Edimax EW-7811Un (requires kernel 4.4.19 or higher)

I am using a Canakit WiFi USB adapter with good results in both AP and client mode. It reports itself to the system as a Ralink Technology Corp. RT5370 Wireless Adapter and as Tim's list states, any other RT5370-based adapter should work.

I think I have an Edimax adapter somewhere but I haven't tried it with Moode Audio Player version 2.7.

How to install the adapter? Here's another quote from the Setup Guide

1. INITIAL SETUP
a) insert sd card
b) connect USB or I2S audio device
c) connect USB storage devices
- Ethernet mode
a) insert ethernet cable
b) power on
c) diyAudio server HTTPS page
- Access Point (AP) mode
a) insert WiFi adapter that supports AP mode
b) power on
c) join network SSID=Moode, pwd=moodeaudio
d) http://moode.local]

Plug it and turn it on is as easy as it can get:)

Regards,
Kent
 
Hi folks,

I have just installed MoOde, I find it just great. There's one little bother, though: I can't find how to copy my Flac files to the local SDCARD.
I used to expand SDCARD option in the menu, and tried connecting via PuTTy (My main system is running on Windows) and WinSCP to transfer files, but the pi login apparently doesn't have permissions to write in the SDCARD folder of the SDCARD (tested with WINSCP).
I tried using the very little linux commands I know to copy files from a USB memory stick to the SDCARD folder on the SDCARD, but the standard ls / cd commands do not work.
And as my main PC is working on a windows platform, I can't copy the files directly to the SDCARD (file system is not supported by windows).

Anybody has any suggestion? I know it does look quite of dumb, and I have probably missed something obvious, but I'd definitely appreciate a pointer or two.

Thanks a bunch.
 
Hi folks,

I have just installed MoOde, I find it just great. There's one little bother, though: I can't find how to copy my Flac files to the local SDCARD.
I used to expand SDCARD option in the menu, and tried connecting via PuTTy (My main system is running on Windows) and WinSCP to transfer files, but the pi login apparently doesn't have permissions to write in the SDCARD folder of the SDCARD (tested with WINSCP).
I tried using the very little linux commands I know to copy files from a USB memory stick to the SDCARD folder on the SDCARD, but the standard ls / cd commands do not work.
And as my main PC is working on a windows platform, I can't copy the files directly to the SDCARD (file system is not supported by windows).

Anybody has any suggestion? I know it does look quite of dumb, and I have probably missed something obvious, but I'd definitely appreciate a pointer or two.

Thanks a bunch.

Hi Patrick,

Try mapping a local drive to Moode SDCARD samba share.

z: --> //moode/SDCARD

-Tim
 
stuttering from flac files on NAS

Have the latest OS 2.7 running on RPi0-PhatDac, sounds excellent while playing flac files on attached microSSD. When I try to play from NAS (wifi connection) it intermittently hiccups.

Is there a buffer setting? or some adjustment to improve the streaming?

thanks,
 
Hi,

Just a brief update and some updated screen shots. Thanks to one of the inmates, Squeezelite is coming to Moode :)

Regards,
Tim
 

Attachments

  • moode-r28-a-advkernel.png
    moode-r28-a-advkernel.png
    166.7 KB · Views: 369
  • moode-r28-b-slcfg1.png
    moode-r28-b-slcfg1.png
    135.1 KB · Views: 323
  • moode-r28-c-slcfg2.png
    moode-r28-c-slcfg2.png
    129.7 KB · Views: 309
Limit gain on DAC/Amp

I may be teaching my grandmother to suck eggs...

I use a few different integrated HAT DAC's and amps, one from HifiBerry, one from IQ Audio, a couple from Aliexpress and amps can be everythong from my Audiolab, my Linn a bunch of HAT and a bunch of chip amps from China.

I wanted to standardise on a specific DAC and amp but to use it for a bunch of different installations - small speakers in the caravan, a set of transducers attached to the headboard of my bed, an array of heavy-duty transducers on my deck, some nice Linn speakers, some Q Acoustics bookshelfs.

The problem I had is that the non-HAT amp I wanted to use can overpower the Linn and small transducers as it's rated at 50+50W and using the Max Vol 'warning' is a pain.

So, after a bit of fiddling about, I worked out that you can limit the channel volume while leaving the overall master volume to its full range of 0-100, thus giving a good 'feel' to the UI by allowing full range plus logarithmic scale, obviating the need to set a maximum in customize>Maximum volume (%)

On my HifiBerry AMP+ connected to my Linn speakers, I found that 70% gives the best sound without clipping.

SSH into the Pi and issue the following:

Code:
pi@moode:~ $ amixer
Simple mixer control 'Master',0
  Capabilities: volume volume-joined
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 248
  Mono: 166 [67%]
Simple mixer control 'Channels',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 248
  Front Left: 218 [88%]
  Front Right: 218 [88%]

To set the gain limit, issue the following:

Code:
pi@moode:/ $ amixer sset 'Channels' 70%
Simple mixer control 'Channels',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 248
  Front Left: 174 [70%]
  Front Right: 174 [70%]

Repeat the amixer command to see the results:

Code:
pi@moode:~ $ amixer
Simple mixer control 'Master',0
  Capabilities: volume volume-joined
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 248
  Mono: 218 [88%]
Simple mixer control 'Channels',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 248
  Front Left: 174 [70%]
  Front Right: 174 [70%]


To store the setting, enter 'sudo alsactl store', it will persist through reboots.

Issuing the 'alsamixer' command returns the graphical representation of the Master and Channels controls:

30103892760_698b92b06a_b.jpg


When you change volume only 'Master' changes, 'Channels' stays at, in my case, 70%.

Now I can custom-make a profile for each installation while using the same player hardware.

Result!

(I'm sure this is something that everyone knows, but it's been causing me some head-scratching moments :) )
 
Last edited:
Have the latest OS 2.7 running on RPi0-PhatDac, sounds excellent while playing flac files on attached microSSD. When I try to play from NAS (wifi connection) it intermittently hiccups.

Is there a buffer setting? or some adjustment to improve the streaming?

thanks,

Yes, in the Configure>MPD section.

I was having wifi issues with an old 54bps router that I couldn't easily replace, so I upped the settings to 16384k buffer and 30% full:

30315195211_d25a1a11f8_z.jpg
 
Hi, I am setting up a wee audio player in my camper and I have got it all working as an access point. I am about to install a mini router with nas capabilities and I cannot get moode to accept the SSID of the router. I can connect with other devices. The box just goes instantly red and I can't apply the change. Any ideas?
 
Tim, on the Playback UI, the mute button rollover doesn't have a title.

<button id="volumemute" class="btn btn-cmd btn-volume"><i class="icon-volume-off"></i></button>

Same for vol up and down:

<button id="volumedn" class="btn btn-cmd btn-volume" style="background-color: black;"><i class="icon-volume-down"></i></button>
<button id="volumeup" class="btn btn-cmd btn-volume" style="background-color: black;"><i class="icon-volume-up"></i></button>
 
Hi, I am setting up a wee audio player in my camper and I have got it all working as an access point. I am about to install a mini router with nas capabilities and I cannot get moode to accept the SSID of the router. I can connect with other devices. The box just goes instantly red and I can't apply the change. Any ideas?

There's a bug in the code for the network config page net-config.html in /var/www/templates.

You can sudo nano net-config.html and remove all the 'pattern=' statements, or use this one, the relevant SSID bits have already been edited.

Code:
<!-- 
/**
 * This Program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3, or (at your option)
 * any later version.
 *
 * This Program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Moode Audio Player; see the file COPYING.  If not, see
 * <http://www.gnu.org/licenses/>.
 *
 * Moode Audio Player (C) 2014 Tim Curtis
 * [url=http://moodeaudio.org]moodeaudio.org[/url]
 *
 * 2016-06-07 2.6 TC network config
 *
 */
-->	
<div class="container">
	<h1>Network Configuration</h1>
	
	<p>
		<a data-toggle="modal" href="#net-config-defaults">RESET</a> to eth0 and DHCP<br>
    	<a data-toggle="modal" href="#restart-modal">RESTART</a> to make setting changes effective
	</p>

	<form class="form-horizontal" data-validate="parsley" method="post">
    	<legend>
			Settings  <button class="btn btn-primary btn-small" type="submit" name="apply" value="1">Apply</button>
		</legend>
		
		<!-- ETH0 -->
		<fieldset>
			<div class="control-group" >
				<label class="control-label" for="eth0-method" style="">Ethernet (eth0)</label>
				<div class="controls">
					<select id="eth0-method" name="eth0method" class="input-large" style="width: 100px">
						$_eth0method
					</select>
					<a class="info-toggle" data-cmd="info-eth0method" href="#notarget"><i class="icon-info-sign"></i></a>
					<span><br>$_eth0currentip</span>
					<span id="info-eth0method" class="help-block help-block-margin hide">
                    	IP address assignment method.<br>
                    </span>
				</div>
			</div>
			
			<div id="eth0-static" class="hide">
				<div class="control-group">
					<label class="control-label" for="eth0ip">IP address</label>
					<div class="controls">
						<input class="input-large" type="text" pattern="[0-9\.]{0,15}" id="eth0ip" name="eth0ipaddr" value="$_eth0ipaddr">
					</div>
				</div>
				
				<div class="control-group">
					<label class="control-label" for="eth0netmask">Netmask</label>
					<div class="controls">
						<input class="input-large" type="text" pattern="[0-9\.]{0,15}" id="eth0netmask" name="eth0netmask" value="$_eth0netmask">
					</div>
				</div>
				
				<div class="control-group">
					<label class="control-label" for="eth0gateway">Gateway</label>
					<div class="controls">
						<input class="input-large" type="text" pattern="[0-9\.]{0,15}" id="eth0gateway" name="eth0gateway" value="$_eth0gateway">
					</div>
				</div>
				
				<div class="control-group">
					<label class="control-label" for="eth0pridns">Primary DNS</label>
					<div class="controls">
						<input class="input-large" type="text" pattern="[0-9\.]{0,15}" id="eth0pridns" name="eth0pridns" value="$_eth0pridns">
					</div>
				</div>
				
				<div class="control-group">
					<label class="control-label" for="eth0secdns">Secondary DNS</label>
					<div class="controls">
						<input class="input-large" type="text" pattern="[0-9\.]{0,15}" id="eth0secdns" name="eth0secdns" value="$_eth0secdns">
					</div>
				</div>
			</div>

		</fieldset>

		<legend></legend>

		<!-- WLAN0 -->
		<fieldset>
			<div class="control-group" >
				<label class="control-label" for="wlan0-method">WiFi (wlan0)</label>
				<div class="controls">
					<select id="wlan0-method" name="wlan0method" class="input-large">
						$_wlan0method
					</select>
					<a class="info-toggle" data-cmd="info-wlan0method" href="#notarget"><i class="icon-info-sign"></i></a>
					<span><br>$_wlan0currentip</span>
					<span id="info-wlan0method" class="help-block help-block-margin hide">
                    	IP address assignment method.<br>
                    </span>
				</div>
			</div>
			
			<div class="control-group">
				<label class="control-label" for="wlan0ssid">SSID</label>
				<div class="controls">
					<input class="input-large" type="text" id="wlan0ssid" name="wlan0ssid" value="$_wlan0ssid">
					<a class="info-toggle" data-cmd="info-wlan0ssid" href="#notarget"><i class="icon-info-sign"></i></a>
					<span id="info-wlan0ssid" class="help-block help-block-margin hide">
						Length 3-32 chars.
                    </span>
				</div>
			</div>
			
			<div class="control-group">
				<label class="control-label" for="wlan0sec">Security</label>
				<div class="controls">
					<select id="wlan0sec" name="wlan0sec" class="input-large">
						$_wlan0sec
					</select>
					<a class="info-toggle" data-cmd="info-wlan0sec" href="#notarget"><i class="icon-info-sign"></i></a>
					<span id="info-wlan0sec" class="help-block help-block-margin hide">
                    	Security protocol.
                    </span>
				</div>
			</div>
			
			<div class="control-group">
				<label class="control-label" for="wlan0pwd">Password</label>
				<div class="controls">
					<input class="input-large" pattern="{8,63}" type="password" id="wlan0pwd" name="wlan0pwd" value="$_wlan0pwd">
					<a class="info-toggle" data-cmd="info-wlan0pwd" href="#notarget"><i class="icon-info-sign"></i></a>
					<span id="info-wlan0pwd" class="help-block help-block-margin hide">
                    	Length 8-63 chars.
                    </span>
				</div>
			</div>
	
			<div id="wlan0-static" class="hide">
				<div class="control-group">
					<label class="control-label" for="wlan0ip">IP address</label>
					<div class="controls">
						<input class="input-large" type="text" pattern="[0-9\.]{0,15}" id="wlan0ip" name="wlan0ipaddr" value="$_wlan0ipaddr">
					</div>
				</div>
				
				<div class="control-group">
					<label class="control-label" for="wlan0netmask">Netmask</label>
					<div class="controls">
						<input class="input-large" type="text" pattern="[0-9\.]{0,15}" id="wlan0netmask" name="wlan0netmask" value="$_wlan0netmask">
					</div>
				</div>
				
				<div class="control-group">
					<label class="control-label" for="wlan0gateway">Gateway</label>
					<div class="controls">
						<input class="input-large" type="text" pattern="[0-9\.]{0,15}" id="wlan0gateway" name="wlan0gateway" value="$_wlan0gateway">
					</div>
				</div>
				
				<div class="control-group">
					<label class="control-label" for="wlan0pridns">Primary DNS</label>
					<div class="controls">
						<input class="input-large" type="text" pattern="[0-9\.]{0,15}" id="wlan0pridns" name="wlan0pridns" value="$_wlan0pridns">
					</div>
				</div>
				
				<div class="control-group">
					<label class="control-label" for="wlan0secdns">Secondary DNS</label>
					<div class="controls">
						<input class="input-large" type="text" pattern="[0-9\.]{0,15}" id="wlan0secdns" name="wlan0secdns" value="$_wlan0secdns">
					</div>
				</div>
			</div>

		</fieldset>

		<legend></legend>

		<fieldset>
			<div class="control-group" >
                <label class="control-label" for="apdssid">Access Point (AP) SSID</label>
                <div class="controls">
                    <input class="input-large" type="text" id="apdssid" name="wlan0apdssid" value="$_wlan0apdssid" required>
					<a class="info-toggle" data-cmd="info-apdssid" href="#notarget"><i class="icon-info-sign"></i></a>
					<span id="info-apdssid" class="help-block help-block-margin hide">
						Length 3-32 chars, A-Z, a-z, 0-9, and hyphen (-) are allowed.
					</span>
                </div>
            </div>	
			
			<div class="control-group" >
                <label class="control-label" for="apdchan">AP channel</label>
                <div class="controls">
                    <input class="input-mini" type="number" maxlength="2" min="1" max="14" id="apdchan" name="wlan0apdchan" value="$_wlan0apdchan" required>
					<a class="info-toggle" data-cmd="info-apdchan" href="#notarget"><i class="icon-info-sign"></i></a>
					<span id="info-apdchan" class="help-block help-block-margin hide">
						2.4 GHz band supports channels 1-14.
					</span>
                </div>
            </div>	
			
			<div class="control-group" >
                <label class="control-label" for="apdpwd">AP password</label>
                <div class="controls">
                    <input class="input-large" type="text" pattern="[A-Za-z0-9]{8,63}" id="apdpwd" name="wlan0apdpwd" value="$_wlan0apdpwd" required>
					<a class="info-toggle" data-cmd="info-apdpwd" href="#notarget"><i class="icon-info-sign"></i></a>
					<span id="info-apdpwd" class="help-block help-block-margin hide">
						Length 8-63 chars, A-Z, a-z, 0-9, are allowed.
					</span>
                </div>
            </div>	

		</fieldset>

	</form>
</div>

<form class="form-horizontal" method="post">
	<div id="net-config-defaults" class="modal modal-sm hide fade" tabindex="-1" role="dialog" aria-labelledby="net-config-defaults-label" aria-hidden="true">
		<div class="modal-header">
			<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
			<h3 id="net-config-defaults-label">Reset Network Configuration</h3>
		</div>
		
		<div class="modal-body">
			<h4>
				Reset network configuration to eth0 and DHCP<br><br>
			</h4>
		</div>
		
		<div class="modal-footer">
			<button class="btn btn-primary" type="submit" name="reset" value="1">Confirm</button>
			<button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
		</div>
	</div>
</form>

rename the existing file (sudo mv net-config.html net-config.html.bak)
then create a new file and paste the above in (sudo nano net-config.html)

Save with CTRL+X and 'Y'


EDIT: Why aren't you using the router to supply the AP? What is the make/model? A wee portable NAS would be handy, although I would be tempted to hard wire it or to use the hard drive directly attached to the Pi.
 
Last edited:
In post 4817 I asked the following two questions:

I would like to use an RPi-2 as a standalone WIFI access point, and understand the Moode version 6 and 7 allow to do so. The RPi-2 will be used with a HiFIBerry DIGI+ . I still need to buy a wifi dongle, and wonder what the experience/ advice is on this forum.
What about the Edimax EW-7811Un or Wipi?

It all comes down to the chipset... the most common one used in USB WiFi dongles (the RTL8188CUS/EUS chip) doesn't natively support AP mode, although IIRC Tim might have sorted that out by now. That's the chipset used in the EW-7811Un. The Wi-Pi uses the RTL RT2800USB which doesn't support host AP mode, I believe... could be wrong on that, I've not used one and am going from second-hand info.

Edimax hasn't been a happy place for me, from a comms perspective.

If you can find an adapter that uses the RALink RT5370 chipset, it works out of the box.

I prefer to use ComFast - they have a cracking USB adapter with a +5db antenna that uses the RT5370. Cheap as chips, too: Ralink RT5370: USB Wi-Fi Adapters/Dongles | eBay
 
Last edited: