Mopidy on Raspberry Pi Zero MPDroid Audio Output

Hello,

I have successfully set-up Mopidy on my Raspberry Pi Zero. My Pi Zero is plugged into a TV via HDMI and I can play and control this via MPDroid and hear the sound on the TV.

Can anyone tell me if I can play the audio through the MPDroid App? When I go to settings and Outputs the only option is NULL.

I know when you set-up MPD on its own there is an Audio Output section in the configuration, but I don’t know where this is within Mopidy.

Thank you in advance.

There is no streaming built into Mopidy itself but you can use icecast. See https://docs.mopidy.com/en/latest/audio/#streaming-through-icecast

Thank you kingosticks. I will try that tonight. I’m assuming Icecast has a Raspberry Pi ARM built? I will update in this post in the morning.

another thing that works good for me is the use of snapcast. i use the snapcast client on my raspi and on my android phone. works really great.

Yes I believe i does.

I’ve never actually tried snapcast myself but it requires the use of an output fifo which some people seem to run into trouble with, although perhaps that’s no longer the case. And of course you need the Android client too, you can’t just use MPDroid.

i used icecast before and i hated the lag mostly. with snapcast no problems so far and its pretty responsive on switching tracks or pausing. not what i could get working well with icecast. but thats just my experience.

That is interesting. Do you also run the snapserver on a raspberry pi or something more beefy?

mopidy runs on my homeserver and the snapclient on the raspi. but im pretty sure running both would also work fine. mopidy and the snapcast server run in a docker container.

Hi xsteadfastx,

Would you consider documenting how you set this up?

Their documentation looks pretty solid https://github.com/badaix/snapcast/blob/master/doc/player_setup.md#mopidy

im writing a blog post right now about it. but the docs mentioned from @kingosticks is what i used mostly. its really straight forward and works really well.

I actually gave it a quick go last night. The default snapserver options work without any modification (assuming you go with their suggested mopidy output setting). I didn’t test with it for very long but experienced one instance where the client audio stopped and I had to restart the song. Presumably the Fifo got in a mess, I saw a bunch of gstreamer sink warnings.

maybe its a permission problem with the fifo file. in my setup i run snapserver as the same user as mopidy and it runs for a week now without problems.

I only experienced an issue once. I would expect a permission problem to be permanent. I’ll give it some more rigorous testing on the weekend. I want to try out the multi-client synchronised playback anyway.

@xsteadfastx Where is your blog?

I set up Snapcast with Mopidy and had no issues at all.

The only thing I found was that a Pi Zero isn’t really powerful enough to run Mopidy, Snapserver and Snapclient together.

I think Snapcast is the best solution for multi-room audio.

@Peter_Jones http://xsteadfastx.org/2016/12/14/audio-uberall-mopidy-und-snapcast/#audio-uberall-mopidy-und-snapcast but its in german. but mainly i just did what the official docs said.

@jjok i think so too… but i guess the pi zero will be a perfectly snapclient. maybe a model B Pi would work with mopidy and snapserver.

@xsteadfastx I think the Zero would be fine running just Snapclient, although I haven’t tried it.

I did have Mopdiy, Snapserver and Snapclient all running on a Pi2, and that was fine.

Has anyone tried using different settings to output to the Snapcast pipe? Presumably you don’t need it to be 48KHz if you’re just playing MP3s. Could you get much of a performance improvement by optimising it?

@jjok i tried it with vorbis output and it started to have problems. i guess its because of the decoding on the client is too slow to play it without artefacts… but thats just my guess.