All Projects → jgabriel98 → spotifypiHome

jgabriel98 / spotifypiHome

Licence: MIT license
"Install and go" multiroom music playback solution, with support for spotify, airplay and bluetooth.

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to spotifypiHome

Hifiberry Os
Linux distribution optimized for audio playback
Stars: ✭ 487 (+1421.88%)
Mutual labels:  spotify, bluetooth, airplay
HydraPlay
A multiroom audio player setup, based on snapcast and mopidy.
Stars: ✭ 102 (+218.75%)
Mutual labels:  snapcast, multiroom
rAudio-1
Raspberry Pi audio player: AirPlay, Audio CD, Bluetooth, DAB radio, DSP, Internet rafio, Multi-room, Spotify Connect, UPnP
Stars: ✭ 151 (+371.88%)
Mutual labels:  bluetooth, airplay
shairport-sync-mqtt-display
Display currently playing info, with remote control, using shairport-sync's MQTT support
Stars: ✭ 17 (-46.87%)
Mutual labels:  airplay, shairport-sync
Super Simple Raspberry Pi Audio Receiver Install
Super Easy installation to make your Raspberry Pi an Audio Receiver
Stars: ✭ 448 (+1300%)
Mutual labels:  bluetooth, airplay
owntone-server
OwnTone is forked-daapd's new name. Linux/FreeBSD DAAP (iTunes) and MPD media server with support for AirPlay devices (multiroom), Apple Remote (and compatibles), Chromecast, Spotify and internet radio.
Stars: ✭ 1,408 (+4300%)
Mutual labels:  spotify, airplay
node-airplayhub
AirPlay server which accepts streams and then streams the audio back out to multiple AirPlay devices with sync support.
Stars: ✭ 48 (+50%)
Mutual labels:  airplay, multiroom
Balena Sound
Build a single or multi-room streamer for an existing audio device using a Raspberry Pi! Supports Bluetooth, Airplay and Spotify Connect
Stars: ✭ 1,306 (+3981.25%)
Mutual labels:  bluetooth, airplay
Rpi Audio Receiver
Raspberry Pi Audio Receiver with Bluetooth A2DP, AirPlay, UPnP and Spotify Connect
Stars: ✭ 650 (+1931.25%)
Mutual labels:  spotify, bluetooth
Forked Daapd
Linux/FreeBSD DAAP (iTunes) and MPD media server with support for AirPlay devices (multiroom), Apple Remote (and compatibles), Chromecast, Spotify and internet radio.
Stars: ✭ 1,073 (+3253.13%)
Mutual labels:  spotify, airplay
ESP32 Thing Plus
ESP32 Thing-compatible board using the WROOM module and a QWIIC connector.
Stars: ✭ 18 (-43.75%)
Mutual labels:  bluetooth
CoverMaster
Download covers arts from Spotify and Soundcloud and embeds them to your MP3 files. (My first GUI attempt in python.)
Stars: ✭ 64 (+100%)
Mutual labels:  spotify
ionic-escpos-bluetooth-printer-sample
Sample use of ionic 3 with a bluetooth esc/pos thermal printer
Stars: ✭ 40 (+25%)
Mutual labels:  bluetooth
distube-music-bot
An advanced music bot based on distube.js.org with filters and more
Stars: ✭ 24 (-25%)
Mutual labels:  spotify
homebridge-music
Homebridge plugin for iTunes with AirPlay speakers
Stars: ✭ 92 (+187.5%)
Mutual labels:  airplay
spotify-player
A command driven spotify player
Stars: ✭ 261 (+715.63%)
Mutual labels:  spotify
ideas-for-projects-people-would-use
Every time I have an idea, I write it down. These are a collection of my top software ideas -- problems I think enough people have that don't have solutions. I expect you can reach a decent userbase if marketed correctly, as I am surely not the only one with these problems.
Stars: ✭ 646 (+1918.75%)
Mutual labels:  spotify
esp32-BLEKeyboard
Bluetooth keyboard made from ESP32 board and PS/2 keyboard
Stars: ✭ 26 (-18.75%)
Mutual labels:  bluetooth
whichone
A personalised Spotify quiz based on the music you listen to
Stars: ✭ 14 (-56.25%)
Mutual labels:  spotify
lhctrl
Power management of Valve v1 lighthouses over Bluetooth LE
Stars: ✭ 28 (-12.5%)
Mutual labels:  bluetooth

spotifypiHome

A multiroom audio/music playback, with spotify connect, airplay and bluetooth support, using snapcast for the 'multiroom synchornization' part.
note: even if it is a multiroom solution, you can use it as unique room playback device, with no problems.

This project uses raspotify, shairport-sync, BlueALSA and snapcast. Without them this project wouldn't be possible.

Dependencies:

  • Airplay: this project build shairport-sync from source, so to enable airplay support the following depencies requirements should be met:
    $ apt install autoconf automake libtool libdaemon-dev libpopt-dev libconfig-dev libssl-dev avahi-daemon libavahi-client-dev libsndfile1-dev

  • Bluetooth: for bluetooth support, some alsa and bluez packages are required, you can obtain them with:
    $ apt install -y --no-install-recommends bluealsa alsa-base alsa-utils bluez-tools

there are no dependencies needed for client nodes.

Server Node installation (audio receiver)

To install the server node, run the serverInstall.sh script with sudo permissions from the device you wish to be the server.

In your setup, you can have only one Server node, since it will be an interface beetween the user and the other nodes, acting as a music playback device for the user (spotify, airplay or bluetooth) and a syncrhonized audio stream source for the client nodes.

Flags

flag description
--no-spotify disable spotify support
--no-shairport disable airplay support
--no-bluetooth disable bluetooth support

Client Node installation (audio playing)

A Server Node can also be a Client Node

The client nodes will be the ones to play the audio. To install a client node, run the clientInstall.sh script with sudo permissions from the device.

In your home setup you can have as many client nodes as you want (1,2,3,...maybe 20?).

Flags

flag description
--force-headphones set headphone as output device

You can force the client node to use the headphone 3.5mm jack output with --force-headphones optional flag, instead of using system default device.: $ sudo ./clientInstall.sh --force-headphones

note: you should check if you have the 'Headphones' playback device listed in alsa devices (with $ aplay -l)

Client's bluetooth:

You can also connect to a client's bluetooth (instead of beeing limited to only the servernode's bluetooth).

To enable this feature, from the client only machine run enable-client-bluetooth.sh script at scripts/ folder:
$ cd scripts && sudo ./enable-client-bluetooth.sh

Warning:

         Do not install 'client's bluetooth' (enable-client-bluetooth.sh script) on a machine that has 'server bluetooth' installed. They probably will conflict and cause unknow behavior.
         You can still install 'client's bluetooth' on a server machine if it was installed with ./serverInstall.sh --no-bluetooth, but i've never tested it (if you've tried, tell me how it went).

Uninstalling

To uninstall, run the uninstall.sh script with sudo permissions.
Works for both client and server.

Roadmap

check the spotifypiHome Developing page

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].