Interview with Paul Adenot, Web Audio Spec Editor
An in-depth interview with Paul Adenot, who co-edits the Web Audio
specification with Chris Wilson of Google, and works on the Web Audio
implementation in Firefox. Paul talks about some of the current
challenges, some upcoming features and improvements that need to be
made before a “Version 1” of the API can be cut, and what to expect in
“Version next”. For those who have been eagerly awaiting the proposed
AudioWorker replacement for
ScriptProcessorNode, Paul goes into
some detail on the challenges of that work, technically and from a
specification point of view, and talks about the relationship to the
work of the wonderfully named “CSS WG Houdini Task Force”.
Senior Ruby Developer at Samplephonics
Samplephonics are looking for a Ruby on Rails developer with Web Audio experience to join them in building a new platform for music producers, initially on a contract basis with potential to go full time once contract has expired. They are based in Leeds, UK but open to remote working if necessary. Payment is £40p/h for contract work and £35-£45k per year full time and the contract is expected to last 2-3 months. Experience in software architecture, leading a development team and working in a technology startup are all desirable. To apply, please send across your information to firstname.lastname@example.org.
Web Audio Updates in Chrome 49
There’s a number of small but significant improvements to the Web
Audio support in the very latest version of
OfflineAudioContext can now be suspended and resumed, which
helps with memory consumption when working with very large node
graphs. There’s a new low-level
IIRFilterNode for when the
BiquadFilterNode doesn’t give you enough control, and
decodeAudioData now returns a
Promise to make it easier to work
with in asynchronous code. There’s more details in Chris Wilson’s blog
Manta: a ClojureScript library for making music with the Web Audio API
Manta is a higher-level wrapper around the Web Audio API that lets you write synthesis code in ClojureScript. The Clojure-based live coding environment https://github.com/overtone/overtone is very popular in that community, and I can see a browser based version also making inroads. Or for those developers who prefer to use Clojure on both the client and server, this looks like an interesting bridge to Web Audio.
Using Web Audio API to decode and play an MP3 file
A tutorial on how to load and decode MP3 files using the features of the Web Audio API. A neat trick here is the use of the File API so that the user can select a file to be decoded from their local file system. Follow on to part 2 of the tutorial to learn how to play back the file and add effects.
Web Audio API snippets for Atom
If your editor of choice is Atom, this collection of snippets might help you to write Web Audio code faster and with less errors.
Basic concepts behind Web Audio API
The Mozilla Developer Network documentation is constantly edited and improved. One page that has been worked on a lot since I last saw it is the “Basic concepts behind the Web Audio API”. It’s a really good overview of the fundamentals.
TonalHub: Listen to a Github project
Tonalhub takes the commit history for a Github project and turns that into a melody. It uses the Pizzicato.js Web Audio wrapper, which provides a terser and more expressive interface for playing melodies and controlling effects. The Tonalhub source code is available too