p5.js + p5.sound

920x156xbanner-gsoc2014.png.pagespeed.ic.gdr4t3Igcayn1Saor14z

p5.js is the Processing Foundation’s client-side JavaScript library for creating graphic and interactive experiences. It starts with the original goals of Processing—to make coding accessible to artists, designers, educators and beginners—reimagined for today’s web.

In 2014, I contributed to p5.js as a Google Summer of Code 2014 student. I worked on a project I proposed, Data I/O and Sound Library for p5.js.

I created p5.sound, an add-on library that brings the Processing approach to the Web Audio API. Its functionality includes audio input, playback, manipulation, effects, recording, analysis, musical timing, and synthesis. The open-source project is on GitHub, with interactive documentation and learning examples on p5js.org.

I also wrote methods for loading and saving various datatypes (JSON, XML, CSV, images), and ported the Table & TableRow classes from Processing (Java) to p5 (JavaScript). I continue to develop p5.sound and am an active contributor to p5.

In Fall 2014, I designed a workshop on Visualizing Music with p5.js as a means to introduce aspiring coders to the p5.sound library and the exciting possibilities for creative coding with audio on the web. I taught the workshop at NYU, and in October 2014, I presented at the 2014 Mozilla Festival in London, where I led a workshop with CASH Music and BBC Future Media.