All Projects → spocon → Spocon

spocon / Spocon

Licence: mit
SpoCon - A Spotify Connect Client for Debian , Ubuntu and Raspberry Pi based on librespot-java

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to Spocon

Pieman
Script for creating custom OS images for single-board computers
Stars: ✭ 149 (+192.16%)
Mutual labels:  raspberry-pi, ubuntu, debian, raspbian
Tmoe Linux
🍭Without any basic knowledge of linux shell,you can easily install and configure a GNU/Linux graphical desktop environment on 📱Android termux and 💻WSL .🍰You can also run VSCode on your android phone.🍹Graphical qemu manager,🐋support running docker on Android.配置WSL和安卓手机的linux容器,桌面环境,主题美化,远程桌面,音频服务,镜像源,uefi开机启动项,webdav(nginx),fcitx输入法以及qemu-system虚拟机...
Stars: ✭ 149 (+192.16%)
Mutual labels:  audio, ubuntu, debian, raspbian
Rpi Audio Receiver
Raspberry Pi Audio Receiver with Bluetooth A2DP, AirPlay, UPnP and Spotify Connect
Stars: ✭ 650 (+1174.51%)
Mutual labels:  raspberry-pi, audio, spotify, raspbian
Pihole Panel
Python/GTK3 based Pi-hole (network-level adblocker) dashboard for stats and more
Stars: ✭ 125 (+145.1%)
Mutual labels:  raspberry-pi, ubuntu, debian, raspbian
Atomic Toolkit
AtoMiC Toolkit simplifies HTPC / Home Server setup and management on Ubuntu and Debian variants including Raspbian. It currently supports: Couchpotato, Deluged, Emby, FFmpeg, Headphones, Htpcmanager, Jackett, Kodi, Lazylibrarian, Madsonic, Mono, Mylar, Nzbget, Nzbhydra, NzbToMedia, Ombi, Plex, Plexpy, Pyload, qBittorrent, Radarr, Sabnzbd+, Sickgear, Sickrage, Sonarr, Subsonic, Transmission, Unrar, Watcher, and Webmin.
Stars: ✭ 747 (+1364.71%)
Mutual labels:  raspberry-pi, ubuntu, debian, raspbian
Debootstick
Generate a bootable live image from any Debian/Ubuntu filesystem tree.
Stars: ✭ 48 (-5.88%)
Mutual labels:  raspberry-pi, ubuntu, debian
88x2bu
Linux Driver for USB WiFi Adapters that are based on the RTL8812BU and RTL8822BU Chipsets
Stars: ✭ 122 (+139.22%)
Mutual labels:  raspberry-pi, ubuntu, debian
Piku
The tiniest PaaS you've ever seen. Piku allows you to do git push deployments to your own servers.
Stars: ✭ 902 (+1668.63%)
Mutual labels:  raspberry-pi, ubuntu, raspbian
dist-detect
Try to determine what Linux/Unix distribution is running on a remote host and get a hint if security updates are applied.
Stars: ✭ 14 (-72.55%)
Mutual labels:  debian, ubuntu, raspbian
Nginx Ee
Automated Nginx compilation from sources with additional modules support. Compatible with WordOps, EasyEngine & Plesk
Stars: ✭ 132 (+158.82%)
Mutual labels:  ubuntu, debian, raspbian
Piadvanced
This started as a custom install for my pihole!
Stars: ✭ 144 (+182.35%)
Mutual labels:  raspberry-pi, ubuntu, debian
Spotify Linux Installer
Install latest Spotify on Linux
Stars: ✭ 28 (-45.1%)
Mutual labels:  spotify, ubuntu, debian
Hassctl
Simple command line utility to help debug Home Assistant configuration
Stars: ✭ 77 (+50.98%)
Mutual labels:  raspberry-pi, ubuntu, raspbian
Slickstack
SlickStack is a free LEMP stack automation script written in Bash designed to enhance and simplify WordPress provisioning, performance, and security.
Stars: ✭ 311 (+509.8%)
Mutual labels:  ubuntu, debian, raspbian
Spotcommander
The most intuitive and feature-rich remote control for Spotify for Linux
Stars: ✭ 152 (+198.04%)
Mutual labels:  spotify, ubuntu, debian
Raspotify
Spotify Connect client for the Raspberry Pi that Just Works™
Stars: ✭ 3,623 (+7003.92%)
Mutual labels:  raspberry-pi, spotify, raspbian
Mobilenet Ssd Realsense
[High Performance / MAX 30 FPS] RaspberryPi3(RaspberryPi/Raspbian Stretch) or Ubuntu + Multi Neural Compute Stick(NCS/NCS2) + RealSense D435(or USB Camera or PiCamera) + MobileNet-SSD(MobileNetSSD) + Background Multi-transparent(Simple multi-class segmentation) + FaceDetection + MultiGraph + MultiProcessing + MultiClustering
Stars: ✭ 322 (+531.37%)
Mutual labels:  raspberry-pi, ubuntu, raspbian
Hardware
The devices I have, what runs on them, their configurations, issues, solutions, and associated projects
Stars: ✭ 67 (+31.37%)
Mutual labels:  ubuntu, debian, raspbian
Dockstarter
DockSTARTer helps you get started with home server apps running in Docker.
Stars: ✭ 1,265 (+2380.39%)
Mutual labels:  ubuntu, debian, raspbian
airgeddon deb packages
Useful related to airgeddon packages for Debian based Linux distributions
Stars: ✭ 22 (-56.86%)
Mutual labels:  debian, ubuntu, raspbian

Spotify Connect for Ubuntu, Debian and Raspbian (SpoCon)

Introduction

SpoCon is a Spotify Connect for Debian package and associated repository which thinly wraps the awesome librespot-java library by Gianluca Altomani and others. It works out of the box on all three revisions of the Pi, immediately after installation.

Download Latest Version

Raspbian Installation

This command downloads and installs the Debian package and adds its apt repository, which ensures you'll always be up to date with upstream changes.

curl -sL https://spocon.github.io/spocon/install.sh | sh

That's it! Plug a speaker into your Pi on your local network, select the device in Spotify et voilà!

Ubuntu and Debian Installation

sudo add-apt-repository ppa:spocon/spocon
sudo apt-get -y update
sudo apt-get install spocon 

Hard installation

Essentially, here's what the easy installer does,

# Add repo and its GPG key
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7DBE8BF06EA39B78
## This downloads the armhf version for Raspbian Pi
echo 'deb http://ppa.launchpad.net/spocon/spocon/ubuntu bionic main' | sudo tee /etc/apt/sources.list.d/spocon.list

# Install package
sudo apt-get update
sudo apt-get -y install spocon

Requirements

You'll need a Spotify Premium account in order to use Connect.

Uninstalling

To uninstall, remove the package,

sudo apt-get remove -y spocon

To completely remove spocon and its Debian repository from your system try,

sudo apt-get remove -y --purge spocon

Configuration

SpoCon should work out of the box and should be discoverable by Spotify Connect on your local network, however you can configure it by editing /opt/spocon/config.toml which passes arguments to librespot-java.

If you have a firewall, you need to open the UDP port 5355 for mDNS. Then specify some random port in zeroconf.listenPort and open that TCP port too.

deviceName = "librespot-java" ### Device name ###
deviceType = "COMPUTER" ### Device type (COMPUTER, TABLET, SMARTPHONE, SPEAKER, TV, AVR, STB, AUDIO_DONGLE, GAME_CONSOLE, CAST_VIDEO, CAST_AUDIO, AUTOMOBILE, WEARABLE, UNKNOWN_SPOTIFY, CAR_THING, UNKNOWN) ###
preferredLocale = "en" ### Preferred locale ###

[auth] ### Authentication ###
strategy = "ZEROCONF" # Strategy (USER_PASS, ZEROCONF, BLOB, FACEBOOK)
username = "" # Spotify username (BLOB, USER_PASS only)
password = "" # Spotify password (USER_PASS only)
blob = "" # Spotify authentication blob (BLOB only)

[zeroconf] ### Zeroconf ###
listenPort = -1 # Listen on this port (`-1` for random)
listenAll = true # Listen on all interfaces (overrides `zeroconf.interfaces`)
interfaces = "" # Listen on these interfaces (comma separated list of names)

[cache] ### Cache ###
enabled = true # Cache enabled
dir = "./cache/"
doCleanUp = true

[preload] ### Preload ###
enabled = true # Preload enabled

[time] ### Time correction ###
synchronizationMethod = "NTP" # Time synchronization method (NTP, PING, MELODY, MANUAL)
manualCorrection = 0 # Manual time correction in millis

[player] ### Player ###
autoplayEnabled = true # Autoplay similar songs when your music ends
preferredAudioQuality = "VORBIS_160" # Preferred audio quality (VORBIS_96, VORBIS_160, VORBIS_320)
enableNormalisation = true # Whether to apply the Spotify loudness normalisation
normalisationPregain = 0.0 # Normalisation pregain
initialVolume = 65536 # Initial volume (0-65536)
logAvailableMixers = true # Log available mixers
mixerSearchKeywords = "" # Mixer/backend search keywords (semicolon separated)
crossfadeDuration = 0 # Crossfade overlap time (in milliseconds)
output = "MIXER" # Audio output device (MIXER, PIPE, STDOUT)
releaseLineDelay = 20 # Release mixer line after set delay (in seconds)
pipe = "" # Output raw (signed) PCM to this file (`player.output` must be PIPE)

After editing restart the daemon by running: sudo systemctl restart spocon

Building the Package Yourself

Requirements

cd Vagrant
vagrant up # start your environment
vagrant ssh # login into you environment
cd workspace
ansible-playbook Ansible/start.yml -e librespot_version=0.5.2 -e spocon_version=0.14.0

There should be a built Debian package (a .deb file) in your project directory /package.

Troubleshooting

My volume on Spotify is 100% and it's still too quiet!

Have you tried turning the volume up using the command alsamixer?

My Raspberry Pi does not use my USB sound card!

Check with aplay -l as which card your USB device is listed. Let's say it is "card 1", so try to replace the following in the file /usr/share/alsa/alsa.conf:

defaults.ctl.card 0
defaults.pcm.card 0

with

defaults.ctl.card 1
defaults.pcm.card 1

The audio output buzzes a few seconds after audio stops!

This is likely to be ALSA's Dynamic Audio Power Management (DAPM) shutting down the sound module of your device to save power. If you want to disable this feature, create a file called snd_soc_core.conf in /etc/modprobe.d with this line in:

options snd_soc_core pmdown_time -1

Once you reboot and play some sound, the issue should be gone.

Other issues

File an issue and if we get it sorted, I'll add to this list.

Donations

(I'd rather you donate to librespot-java instead, but there's no public address for those folks.)

Acknowledgments

Special thanks to Paul Lietar for librespot (and its additional authors) and David Cooper

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].