Moode Audio Player for Raspberry Pi

Hi Kent,

Below is some information on volume:

1) The Volume warning limit setting on the Customize screen only applies to MPD (Moode knob). Its designed specifically to prevent an errant touch or mouse click near the knob to accidentally cause 100% volume.

2) The value in ALSA volume % on System config represents the current ALSA setting providing the audio device has a hardware volume controller. ALSA volume can be set by MPD or by the Audio renders.

3) The audio renderers including Airplay, UPnP and soon to come, Squeezelite, are separate audio applications that each manage volume in their own way separately from MPD.

For example Airplay and Squeezelite each get their initial and ongoing volume settings from the sending application as part of their "control protocol". I assume that UPnP renderer operates in the same way. AFAIK, these individual applications would need to implement and expose a volume limit param in order for other applications to make use of it.

-Tim

Thanks for the great clarification, Tim. I went hiking around Harpers Ferry, WV, yesterday and about halfway through the day it dawned on me that the ALSA volume setting must be pretty much as you describe.

Since upmpdcli bridges between UPnP and MPD I naively assumed volume was handled through MPD, but looking at the MPD API I realize that isn't likely. Zootalaws has reminded me of his use of amixer to set a volume limit. I'm going to explore that route.

Regards,
Kent
 
I use Bubbleupnp on my phone. Volume initially matches that of the web interface.
Incidentally, playlist items exist as different things if you add them via the moode web interface or a upnp CP. My NAS runs SAMBA and miniDLNA. Some of my playlist items (in a single playlist!) contain NAS path entries with an identifiable name on the end. Others contain items described as "radio station" or streaming source. The item names are arbitrarily assigned. Only way to find out what it is is to play it.

J.

Hi, J.

I was trying another CP first, forget which one. At this point I can't say whether I even noticed the volume setting until after my unfortunate "smoke" test. I've played with BubbleUPnP too. They all have their pluses and minuses. I'd rather just stick with Tim's GUI:)

I've noticed the same differences you did in playlist entries and their presentation in Moode. I believe the "radio station" and "streaming source" descriptors are an artifact of Tim's code encountering an "http:" entry, which is how a UPnP file is served to Moode. Am I correct in assuming that playlists created in a UPnP CP like BubbleUPnP stay in the CP and can't be transferred to Moode? (It looks to me like this can't be done even with a pure UPnP AV Media Renderer. It can be done with an OpenHome Media device but I don't want to get into trying to couple BubbleUPnP Server with upmpdcli to make it OhMedia compliant.)

Actually, I used what I saw to create my own Moode playlists of items exposed by my UPnP Server. Then no CP is required to play them, as long as I don't mind the ugly presentation and lack of cover art. It's not a general solution but I can create a workable playlist for, say, all the tracks in a particular musical or opera or some other long, multi-track performance (like my fav---Keith Jarrett's Köln Concert). I expect this approach would be useless if one wants to stream from any username/password protected Internet source like Spotify or Google Play Music.

Since I don't have any other UPnP Renderers here, this exploration of UPnP is a matter of idle curiosity on my part. I'll continue to experiment, but for regular listening I'll keep on serving my music to Moode from a NAS via SMB/CIFS and from local storage.

Regards,
Kent
 

Thanks for the reminder and the link, Zootalaws. I confess I just glanced at your post at the time. Looks like I have to stop procrastinating and learn how the current Linux audio infrastructure works. When the battle between ALSA and OSS was being fought long ago I chose not to pay any attention and I'm paying the price now.

I think I could deal with the mosquitoes and the spiders and the centipedes but the thought of those pythons gives me the willies. I know you Kiwis are a hardy bunch from my trips down under but were I there now, I think I'd stick to the pubs of Wellington, to play off Bob's posts. (Imagine my surprise when I discovered that in NZ "tinnie" can mean something other than a can of beer. Yet one more difference between you folks and that lot inhabiting the large nature park across the Tasman Sea.)

Regards,
Kent
 
Hi, J.

Am I correct in assuming that playlists created in a UPnP CP like BubbleUPnP stay in the CP and can't be transferred to Moode? (It looks to me like this can't be done even with a pure UPnP AV Media Renderer. It can be done with an OpenHome Media device but I don't want to get into trying to couple BubbleUPnP Server with upmpdcli to make it OhMedia compliant.)

Ah, a subject near and dear to me. I am designated tech support for my father, who has a huge collection of CD rips he made with iTunes. I've set him up with a moode instance on RPi that's connected to his receiver. Typically he's used Moode as an airplay client, but I'd like to try and get him to use either MPD or UPnP to play music directly. The problem I've noticed is that the Moode web interface simply cannot handle playlists that are >1,000 tracks long. My father likes to just have his entire music library on 'shuffle', but being unable to skip tracks easily is a deal-breaker for him. I've been experimenting with MPD clients for iOS and Mac, but the ones that allow easy track skipping (like MPDluxe) appear to do so by omitting the ability to create a large 'shuffle' playlist using every song in the library. So right now what has to happen is the web interface is used to queue all tracks, and then a separate iOS client for skipping. This is just too much for my baby-boomer father.

I've looked at UPnP as a result, but I've run into the problem you describe here: when you create a playlist using any control point application, the connection between server and renderer seems to be contingent on the control point continuing to run and maintaining an active connection to the network. This, again, is a deal breaker. I've looked at Foobar2000, which appears be able to simultaneously run a UPnP server and control point and has fairly sophisticated remote support through MonkeyMote. But if you're playing across a wireless network the same reliability issues crop up that exist with iTunes/airplay. Is the only solution directly connecting a computer to the receiver with a USB DAC? If so, then Moode seems unnecessary.

Any thoughts/suggestions appreciated.
 
Ah, a subject near and dear to me. I am designated tech support for my father, who has a huge collection of CD rips he made with iTunes. I've set him up with a moode instance on RPi that's connected to his receiver. Typically he's used Moode as an airplay client, but I'd like to try and get him to use either MPD or UPnP to play music directly. The problem I've noticed is that the Moode web interface simply cannot handle playlists that are >1,000 tracks long. My father likes to just have his entire music library on 'shuffle', but being unable to skip tracks easily is a deal-breaker for him. I've been experimenting with MPD clients for iOS and Mac, but the ones that allow easy track skipping (like MPDluxe) appear to do so by omitting the ability to create a large 'shuffle' playlist using every song in the library. So right now what has to happen is the web interface is used to queue all tracks, and then a separate iOS client for skipping. This is just too much for my baby-boomer father.

I've looked at UPnP as a result, but I've run into the problem you describe here: when you create a playlist using any control point application, the connection between server and renderer seems to be contingent on the control point continuing to run and maintaining an active connection to the network. This, again, is a deal breaker. I've looked at Foobar2000, which appears be able to simultaneously run a UPnP server and control point and has fairly sophisticated remote support through MonkeyMote. But if you're playing across a wireless network the same reliability issues crop up that exist with iTunes/airplay. Is the only solution directly connecting a computer to the receiver with a USB DAC? If so, then Moode seems unnecessary.

Any thoughts/suggestions appreciated.

Hi,

Exactly as @jonners suggested.

The Auto-shuffle feature works by selecting a random track from the music collection, adding it to the end of the main Playlist then removing it from the Playlist immediately after it finishes. This keeps the Playlist from growing :)

After turning on Auto-shuffle in System config, click the "Random" button on the Playback panel. You will also see the "Consume mode" button automatically enable.

Auto-shuffle eliminates the need to add huge numbers of tracks to the Playlist for random play :)

-Tim
 
...But if you're playing across a wireless network the same reliability issues crop up that exist with iTunes/airplay. Is the only solution directly connecting a computer to the receiver with a USB DAC? If so, then Moode seems unnecessary.

Any thoughts/suggestions appreciated.

Fix your network. A 450 or 600 or 900Mbps router is going to consign your wifi issues to the bin.

I recently installed an NZ$60 TP-LINK 450Mbps MIMO router with 3x +5dBi antennae and Airplay, as well as NAS streaming works flawlessly. Range and signal are much improved and sustaining a 40MHz-wide channel is easy.

I can't stress enough how poor the 54Mbps wifi router/repeaters are that most ISP's give their customers. They are typically the cheapest units they can get away with giving out and are barely adequate even for browsing. Even if your ISP offers 802.11n, at best it will be a 150Mbps unit.

Do yourself a favour and put in a decent router or repeater.

EDIT: the house I am in has double brick internal and external walls and cast concrete floors. The two stories covering about 6500sq ft is just a bit too big for solid coverage throughout, but new technology such as WDS bridging allows easy coverage using a second router to extend the wifi signal, at a cost in throughput. As there is little activity upstairs other than iPads and phones, the compromise isn't an issue. So, for NZ$120 I upgraded from miserable 54Mbps 802.11g to 450Mbps 802.11n. For more dollars I could have added dual band - 2.4GHz and 5GHz - higher throughput, better selectivity, etc. With wifi, you definitely get what you pay for, but getting really good gear doesn't have to break the bank. NZ isn't exactly cheap, if you are in a bigger market like the EU or USA you have access to a wider range of equipment at lower prices.

Then there's aftermarket firmware like DD-WRT and Open-WRT which you can use to breathe new life into second hand gear or to add better functionality to cheaper but well-spec'd hardware. But that's not for the faint-of-heart :)
 
Last edited:
Oh, and for what it's worth, whippersnapper, I too am a baby boomer, a grandfather who has a bit of a job sometimes keeping up with my Silent Generation father as he writes his fiendishly convoluted code and requires me to push the limits of pcb/microprocessor design and integration. Our kids/grandkids/great grand kids can push buttons, but get stymied at the most trivial (to us) stumbling block. :D

Between us we offer follow-the-sun support to our vast diaspora, spread across five continents. Thank the stars for team viewer;)
 
Last edited:
Hi,

Exactly as @jonners suggested.

The Auto-shuffle feature works by selecting a random track from the music collection, adding it to the end of the main Playlist then removing it from the Playlist immediately after it finishes. This keeps the Playlist from growing :)

After turning on Auto-shuffle in System config, click the "Random" button on the Playback panel. You will also see the "Consume mode" button automatically enable.

Auto-shuffle eliminates the need to add huge numbers of tracks to the Playlist for random play :)

-Tim

You guys posted the correct response while I was still composing a wrong one. I'm going to pretend that never would have happened.

But, as long as we're on the subject:

I'm not into random/shuffle play, but suppose I were. I've been ripping each CD into its own (sub)directory. Just like my last CD changer, I would want Moode to auto-shuffle CDs rather than tracks, e.g., randomly select a CD-directory, sequentially play every track within it, and then randomly select another CD-directory. Shuffling the tracks to Weill's Three Penny Opera with the tracks to Keith Jarrett's Köln Concert, just to make up an example out of two of my favs, makes no sense.

Did i miss something? Can Moode do this or is does it solely shuffle tracks?

Regards,
Kent
 
Oh, and for what it's worth, whippersnapper, I too am a baby boomer, a grandfather who has a bit of a job sometimes keeping up with my Silent Generation father as he writes his fiendishly convoluted code and requires me to push the limits of pcb/microprocessor design and integration. Our kids/grandkids/great grand kids can push buttons, but get stymied at the most trivial (to us) stumbling block. :D

Between us we offer follow-the-sun support to our vast diaspora, spread across five continents. Thank the stars for team viewer;)

HaHaHa. I almost leaped into this breech too, since I'm not precede the baby boomers (1944, if you must know) but I too am designated tech support for my kids and their kids, not to mention a mentor to the local high school's engineering, robotics, and drama clubs. You're only as old as you feel.

Cheers,
Kent
 
HaHaHa. I almost leaped into this breech too, since I'm not precede the baby boomers (1944, if you must know) but I too am designated tech support for my kids and their kids, not to mention a mentor to the local high school's engineering, robotics, and drama clubs. You're only as old as you feel.

Cheers,
Kent

I thought I was only as old as the girl I feel, but would hate to be Trumped ;)

I'm at the low end of BB's, 1960. Old enough to know better, young enough not to care :)
 
Tracks only, Kent.

I do like your idea, though. I sometimes (rarely) shuffle tracks, but shuffle album play is appealing. Then again, the act of picking a number of albums can approximate that, which is what I tend to do.

I too rarely shuffle tracks, but would probably do it more often if I could select one folder from the library for track shuffle. Shuffling tracks from my jazz albums would be good.

John
 
Some USB wifi adaptors do not play well with 40MHz-wide channels.

It's worth testing with 20MHz channels and then seeing if things still work when you up the bandwidth to 40Mhz.

Phil

Given the price, there's really no reason not to use 802.11n compliant adapters, which will support 150Mbps and 40MHz.

The Pi3 integral adapter is 802.11n compliant as is anything built using the RTL8188 and 5360 chipsets.

They would comprise the majority of the USB adapters currently on sale.
 
Given the price, there's really no reason not to use 802.11n compliant adapters, which will support 150Mbps and 40MHz.

The Pi3 integral adapter is 802.11n compliant as is anything built using the RTL8188 and 5360 chipsets.

They would comprise the majority of the USB adapters currently on sale.

In my experience, what devices should do and what they actually do can be two different things.

A driver or firmware bug made some adapters get very hot (as well as not working properly) when my Wi-Fi router was set to 40MHz bandwidth. Others have reported similar issues. I haven't tried it on Moode 2.7 to see if the issue is still there.

Phil