Open Source


AmbiphysynthAmbiphysynth (“Ambient Physics Synthesizer”) is an experiment in Web Audio API synthesis using the Phaser P2 physics engine.

Click anywhere within the web page to generate circular physics bodies. Upon collision between these bodies, tones are synthesized and fed into a delay and reverb network which also feeds back into itself. The physics properties of the colliding bodies influence the note sustain and delay time, and the reverb buffer can be reversed by user input.

The result is an ambient soundscape that can be experienced with most modern desktop and mobile browsers.

Unity and Wwise Integration

Want to learn how to add Wwise to your Unity project? Here's a helpful guide!Update: This article was revised on December 6, 2015. This article is geared towards a Unity developer looking to add Wwise to their game project. It covers the basics like project setup and Wwise terminology, and explains through example the use of various game calls to Wwise from Unity. By the end of the article, you’ll have gained an understanding of Wwise Events, Game Syncs (RTPCs, States), Interactive Music, and Mixing. 


Game Audio Harmonization

This is a guide to implementing real-time harmonization of game sounds with musical user-generated content in Unity. The project uses AudioKit, an Objective-C/Swift library that is effectively a wrapper of Csound, for synthesis. Check out the gameplay video above, and the project source code on my Github page.

MaxMSP four track sampler and sequencer

A fun MaxMSP patch

Created around the groove~ and tempo objects in MaxMSP, this patch is a 32 step sample-based sequencer with control over pitch and sample start/end points. 




Unity Assets

Noise Generators

Noise GeneratorsThis asset contains two native audio plugins for synthesizing white noise and pink noise – a versatile addition to any sound designer’s palette.

Both plugins have an internal sinusoidal low frequency oscillator (LFO) that modulates the amplitude of the synthesized noise. The LFO has a range of 0.01 – 20 Hz.

Made for Unity 5.0 and above, these native audio plugins are compatible with Mac, Windows, iOS, and Android.

iOS Music

iOS MusicThis plugin lets game developers easily add music to their Unity iOS project from the player’s own iOS Music library. It also provides access to the music metadata such as artwork, lyrics, BPM, etc.



iOS Haptic

This Unity iOS plugin exposes the Taptic Engine API introduced in iOS 10 and lets game developers easily add customizable haptic feedback to their projects.



iOS External Input

This asset allows you to quickly and easily add support for Bluetooth connected accessories, such as keyboards and accessibility switches, to your Unity iOS/tvOS projects.



Store Product

Store Product

This plugin allows game developers to display content from the various iOS Stores for purchase from within their Unity game – this content can be apps, music, books, podcasts, movies, etc.






WVLTWVLT (“wavelet”) is an app for recording and sharing sounds. I developed WVLT because I wanted an app that I could use to make field recordings with my iPhone which could automatically upload the audio files to my personal server without having to sign up for a third party service.

I realized that, with some minor modifications to the app and the supporting web application, it could be turned into a social networking app with a focus on audio content. So I did just that and submitted it to the App Store as WVLT and it was released in early 2014. I then proceeded to refine the app and add more features like private messaging, a public sharing timeline, and eventually mesh networking capabilities using the Multipeer Connectivity framework. 

Good News Bad News

Good News Bad NewsGood News Bad News is my take on the news reader app category. I was inspired by Charlie Brooker’s musings on news consumption from this article[1] in the Guardian. I thought his idea of colourful icons spurting out a constant stream of info-nuggets demonstrated considerable foresight into technological trends, especially as modern Internet services become increasingly ubiquitous in our daily lives. So, in an effort to hasten the onset of his dystopian vision of the future of media, I set about building my next app in late 2014. After an early 2015 release on the App Store, Good News Bad News has grown to serve around 5,000 info-nuggets daily as of August 2015.

It has a supporting web application which aggregates news stories from various public APIs (The Guardian, New York Times, Reddit, etc.) and performs sentiment analysis on the headline in an attempt to classify the news story as either good or bad. The news headlines are delivered through iOS app extensions – the Today View widget extension and the watchOS extension for Apple Watch – with the main iOS app itself serving to configure the news stream to the user’s interests.