Blog by Max Ammann

Party PI: Solves the issue of different music tastes!

At the company I work at we sometimes throw a party to celebrate the day! Unfortunately we have very different tastes of music. So solve that I setup a Raspberry PI so everyone can vote for their music. What could go wrong? :P

First step was to setup Mopidy on a Raspberry PI with pulseaudio or just alsa. As there are already a lot of tutorials available I’ll skip this one.

Next install Mopidy-Party and other extensions for music sources. You’ll probably want the Mopidy-Spotify to have a variety of music available. It does not make sense to just include your music! Even if you’d like to do that ;).

This will add a new entry to the landing page on http://raspberrypi:8080/ There is no limit on how many tracks you can add to the queue. There is only a minimum amount of votes defined to skip the current track. Even with the missing limit for adding it works pretty well!

This is a sample from my mopidy config:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
[audio]
#mixer = software
#mixer_volume =
#output = autoaudiosink
#buffer_time =

[mpd]
#enabled = true
hostname = ::
#port = 80
password =

[http]
enabled = true
hostname = ::
port = 8080
#static_dir =
#zeroconf = Mopidy HTTP server on $hostname
#allowed_origins =
#csrf_protection = true

[spotify]
username = <username>
password = <password>
client_id = <client_id> 
client_secret = <client_secret> 

[party]
enabled = true
votes_to_skip = 6

[moped]
enabled = false

[musicbox_webclient]
enabled = false

Make sure to disable any non-party web clients. Else your party guests will find the access to it. Especially when they are other engineers! To have this admin power myself I use mpd to control the playback. Not many people would run nmap to find this open port.

With about 15 guests a votes_to_skip count of 6 worked well. Make sure nobody uses multiple phones! Please note that in order to change that you need to restart Mopidy and will loose your current playlist.

Happy party!