Skip to content

Latest commit

 

History

History
22 lines (13 loc) · 1.29 KB

README.md

File metadata and controls

22 lines (13 loc) · 1.29 KB

Multitouch Synthesizer for Web

A multitouch-friendly sound synthesizer that runs in your browser. You can play with it here.

The app needs a browser capable of real-time web audio.

Among mobile devices, it works best on iPads (at the time of writing), since they offer both small delay and multitouch interface. On Android devices beware of the usually higher touch-to-play delay.

On desktop, it works in any recent Chrome or Safari.

Build

To build the app for production, execute: npm run build

For build to succeed, your system must satisfy Paper.js system requirements listed on its NPM page.

Under the hood

For generating sound, the project uses Theresa's Sound World. This library is a wrapper around HTML5 WebAudio API and implements many of the lower-level building blocks, such as envelope generators. Overall, it makes for a much better WebAudio development experience, at the same time not abstracting away the underlying basic technology.

For visualization, the project uses Paper.js, a powerful vector graphics library. Strictly speaking, it's not really necessary for this simple project, but I felt like trying something new for me.