aatishb / synthesine

Synthesine

Home Page:https://aatishb.com/synthesine/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sound Synthesis From Scratch

Hi! This is an experimental live coding environment for experimenting with sound synthesis. You can use it to create noise, sine waves, and other kinds of sound waves, starting from scratch. And then you can do stuff like filter and combine sounds to create more complex sounds like bells, whistles, strings, and so on.

My goal is to better understand how to synthesize sounds from the ground up, and to build a tool that makes it easier for others to do the same. I'm also using functional programming ideas in Javascript, which allow us to express audio synthesis ideas in a few concise lines of code.

This project relies on a new browser tool for sound synthesis, awkwardly named Audio Worklets (currently only supported in Google Chrome). This is a fairly new way to run audio processing code in your browser in real-time, by running it in a separate audio thread where it isn't slowed down by web browsing.

/libraries/dsp.js is a growing library of functions for sound synthesis that I'm adding to as I go along. It also hides all the messy details of how to launch an audio worklet. The idea is to gradually develop a tool that makes it easier to tinker with sound synthesis in your browser.

To get started, pull up an example from the menu.

Happy audio tinkering!

Credits

Spectrum analyser sourced from ContemporaryInsanity. Icons from Font Awesome. Code editor by Ace.

About

Synthesine

https://aatishb.com/synthesine/


Languages

Language:HTML 60.6%Language:JavaScript 30.2%Language:CSS 9.2%