Code, Play & Rock 'n' Roll: A WebAudio Experiment

By Armagan Amcalar

Elevator Pitch

The web is an amazing platform with numerous APIs, some of which enable real-time music applications within the browser. Learn about the WebAudio API and its capabilities in a fun, exciting way, with a mini rock concert on stage.

Description

Armagan hits the “stage” with a guitar, playing memorable rock tunes using a web browser as an amplifier. This talk is about pushing the limits of what a web browser can do, and goes over pedalboard.js, an open source JavaScript framework for building real-time guitar effects in the browser.

Demonstrating both code and music, talking a little bit about math and signal processing, Armagan paints a picture of the current state of the web and how capable it is as a platform. He then goes on to present a way to make a collaborative music session using pedalboard.js over WebRTC, so people can play along with friends in real-time even if they are miles away.

Notes

I start the talk by literally playing some rock tunes on a guitar. The sound processing is completely done in a web browser in real-time.

I then go over some WebAudio basics and what can be done with it, and afterwards take a look at pedalboard.js, a framework for building guitar effects in browsers. The talk includes a live coding demo as well, to create a certain sound effect during the presentation.

I conclude with a demo of what WebRTC can achieve in this context and how it enables “jamming together” over distances.

This is meant to be a cool demo of how technology and JavaScript in particular contributes to real-life experiences, and how wide a spectrum it achieves. The audience will have a broader perspective of what their language of choice is capable of doing.

The intended audience is beginners and advanced JavaScript users alike, anybody who wishes to see the boundaries of JavaScript.

This magic about this talk is obviously the demo on stage where I play several songs. This requires an audio set up at the venue, either through some speakers (even regular desktop speakers would do, actually) or the PA — I just need to use the headphone jack on my computer. Also, since I’m travelling from Germany, I would appreciate if you could lend me a guitar :) otherwise I’ll try to rent one.