Snapcast: Mixing in bluetooth audio

Created on 20 Sep 2016  路  3Comments  路  Source: badaix/snapcast

Hello,

I have a few Snapclients working wonderfully throughout the house. So first of all, thanks to all who contributed to that!

There is one thing that I have been trying to do, but I just don't know enough to get that working. Maybe someone here can help?

I use MPD to play local music files and web radio streams. Now I would like to add playing podcasts as well. These files are located on my mobile phone; also, a phone app keeps automatically adds and removes files from the playlist.

Would it be possible to setup the system in such a way that I use a bluetooth connection (or possibly a line in) to play these podcasts over Snapcast as well?

Thanks!
Mark

Most helpful comment

Hi, I actually did something similar where I can stream audio from my phones (Android & iPhone) and tablet (Android Nexus 7) using either bluetooth or Airplay and have the sound go to all of my snapclients running on Raspberry Pis. I decided to do this to be able to play anything from my devices and since I did not want to limit myself to files on the server.

For bluetooth, I have a usb bluetooth adapter on my server (I got a class 1 which has great range around the house and my server is an old laptop running ubuntu) and I paired it with my phones. I did a setup in ubuntu so it acts as a bluetooth receiver, and using pulse audio configs, I pipe all the audio to a pipe that serves as a source in snapserver (e.g. /tmp/fifobt). The disadvantage of using BT is that it needs pairing, but the advantage is that every app will work with it.

For airplay, I setup shairport-sync to act as a airplay receiver, and output the sound to another named pipe (e.g. /tmp/fifoairplay). For Airplay, it's native to iOS, and on Android, I use AirAudio on my rooted tablet, which enables me to route all audio to Airplay.

With this, I can change the source of my snapclients to get their audio from either bluetooth or airplay. You could also add another source which would be your local mpd.

All 3 comments

Best solution would be to let the MPD act as BT receiver. Don't know if this is possible, but it would keep the whole control of what is played within MPD.
Another possibility is to use UPnP:

$ apt-cache search upmpd
upmpdcli - UPnP Media Renderer front-end to MPD, the Music Player Daemon

with UPnP you can beam your phone's music to mpd, e.g. with BubbleUPnP

Hi, I actually did something similar where I can stream audio from my phones (Android & iPhone) and tablet (Android Nexus 7) using either bluetooth or Airplay and have the sound go to all of my snapclients running on Raspberry Pis. I decided to do this to be able to play anything from my devices and since I did not want to limit myself to files on the server.

For bluetooth, I have a usb bluetooth adapter on my server (I got a class 1 which has great range around the house and my server is an old laptop running ubuntu) and I paired it with my phones. I did a setup in ubuntu so it acts as a bluetooth receiver, and using pulse audio configs, I pipe all the audio to a pipe that serves as a source in snapserver (e.g. /tmp/fifobt). The disadvantage of using BT is that it needs pairing, but the advantage is that every app will work with it.

For airplay, I setup shairport-sync to act as a airplay receiver, and output the sound to another named pipe (e.g. /tmp/fifoairplay). For Airplay, it's native to iOS, and on Android, I use AirAudio on my rooted tablet, which enables me to route all audio to Airplay.

With this, I can change the source of my snapclients to get their audio from either bluetooth or airplay. You could also add another source which would be your local mpd.

Thank you both, badaix and pbros!
I will have a go at the pulse setup - we have a very similar setup.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

badaix picture badaix  路  3Comments

jreusch picture jreusch  路  5Comments

jameyg picture jameyg  路  5Comments

lealoureiro picture lealoureiro  路  4Comments

qhello picture qhello  路  3Comments