Mutitrack mixing in JavaScript with the Web Audio API
Switch branches/tags
Nothing to show
Clone or download
Latest commit 72b4a72 Apr 5, 2016



Multitrack mixing with the Web Audio API.

Documentation (and lots of cleanup) forthcoming.


Getting started (for Developers)

Install Grunt

npm install -g grunt-cli (may require sudo)

Install Node dependencies

npm install

Build & Test

npm test or grunt

Start a local webserver at http://localhost:8888

npm start

Usage (for... Users)

  • Download from the Releases page and unzip it
  • Put your own audio (mono mp3 or wav) in the /sounds directory
  • Edit mix.json to reflect your track names and audio URLs
  • Copy the directory to your webserver

To save a mix, open the dev tools in your browser and enter JSON.stringify(App.mix.toJSON(), null, ' ') and copy the output into mix.json.


Pull requests are completely welcome and appreciated. Before submitting, please make sure that your code conforms to the Idiomatic.js style guide.


Unfotunately, PhantomJS doesn't currently support the Web Audio API, which makes meaningful testing for most of Mix.js pretty much impossible. That said, if you write code which can be tested, please submit tests with your pull request.


Bugs should be filed on this repo's Issues page. Please include any relevant details (browser, OS, etc.) as well as steps to reproduce.