The Github Guitar: Your Mobile Browser as a Distributed Musical Instrument*
Almost everyone has a smartphone, and the majority can run Chrome or Safari.
Wouldn't it be great if we could use our mobile devices as tools to allow non-musicians in on the act of performing... by generating harmonious tones or presenting lyrics in time with musicians playing traditional instruments? What if we could synchronize multimedia events over dozens if not thousands of devices, simultaneously?
Well, we can! The technology exists today, in your pocket. The singalong.js suite enables these types of ad-hoc musical collaborations in various combinations, in real time, with no perceptible latency, and without the use of a click track or other such draconian control system. The best thing is, it’s licensed under the GPL and uses lots of open libraries to make it happen.
Websockets. The web audio API. The device orientation API. Next-generation web technologies are here, today, in your mobile phone’s browser. What if we could combine them to create a new kind of musical instrument – one that allows an unprecedented level of improvisation and audience participation?
In this talk, I’ll chronicle my journey as a musician and amateur coder in creating singalong.js, an open-source platform for synchronizing multimedia events in real time across across multiple mobile browsers. We’ll explore the inherent challenges in reliably synchronizing multimedia events across multiple devices, check out the handy libraries that stitch together these new browser technologies, and demonstrate the engine on audience members’ mobile devices.
The talk will culminate with an hour-long singalong/karaoke demonstration wherein the audience “becomes the band” using a combination of cell phones, tablets, and traditional musical instruments.
We’ll touch on each following technologies:
- the Fluid (R3) SoundFont,
web audio, karaoke, singalong, fakebook, socketio, socket-ntp, performance, concert
I've presented and performed three times on next-generation Karaoke technologies at Bellingham, WA's now-defunct Winter Commission event. I did a talk on the history and future of Karaoke in 2011. Although I don't have a recording of this presentation, I've included the excerpt from a segment of the talk wherein I used Karaoke as a presentation tool (as opposed to PowerPoint) to explain the early origins of Karaoke-like technologies:
In 2012, I used an prototype of singalong.js to enable around 10 guitarists and the audience to engage in an ad-hoc singalong with few or no rehearsals. The audio's pretty bad in this video, but you can see an early version, before virtual instruments and time synchronization were added of how the system works:
The Karaoke Research Council