I love sharing music with my friends, and have always found it difficult to do so at parties. It usually goes like this: you have to awkwardly lean over the macbook that's connected to the speakers, and find a song on youtube or soundcloud that I want to play. Then I need to wait for the current song to stop playing (you don't want to annoy anyone!) and then I can finally play my song. But even worse! once it finishes playing one of two thing will happen: awkward silence, or someone will have to desperately find a new song to play!

What is our solution? Lambda Music. Connect a raspberry pi to the speakers and to the wifi at your home, and then anyone can queue up songs through their own device. The pi delivers a simple webpage to submit a song url from soundcloud or youtube to the queue. Anyone can send song URL's as long as they are connected to your wifi network. The Pi will download the songs queued in parallel as they play, which means there's no waiting in between songs.

How we built it

We setup a raspberry pi with arch linux, and spent the whole weekend hacking on a webserver used to manage the song queue and the incoming requests. Requests are simple JSON objects with two attributes: the song url, and the name of the person who sent it. The system is designed to take in url's from either youtube or soundcloud (two incredible platforms for sharing music).

Challenges we ran into

Setting up the pi was a nightmare. WHY IS YOUR WIFI SO DIFFICULT TO CONNECT TO MCGILL!

Accomplishments that we're proud of

We have had this idea for a few weeks, and are super pumped to have implemented it over the weekend. Setting up the raspberry pi was a real challenge. SO MANY DEPENDENCIES!

What we learned

Building with a raspberry pi is awesome. The internet is the coolest thing ever. Audio converting is really hard.

What's next for Lambda Music Player

MORE FEATURES! We have so many cool ideas, but we mostly want to package the thing really nicely so that anyone can download it and run it on their own Raspberry pi.

Share this project: