Experiments in WebAudio
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.storybook
docs
public
src
tests
.gitignore
README.md
config.js
cypress.json
firebase.json cleaning up old functional component code Oct 11, 2018
package-lock.json
package.json
tsconfig.json
tslint.json

README.md

modular-synth

CircleCI

Experiments in WebAudio

Note: much of this code inspired by:

Quick Start

  • Visit malformed.ca.
  • From the switch on the top right, switch the patch into edit mode (or, press tab)
  • Right-click to add modules
  • Toggle to play mode to adjust parameters, etc.

This demo presumes an existant knowledge of modular synthesis. For example, how to generate a note by modulating the amplitude of an oscillator with an envelope generator.

Simple synth

  • While in edit mode, right-click and create a NoteIn component
  • Next, right-click and create a VCO (voltage-controlled oscillator) component
  • Connect the freq output of the NoteIn to the freq input of the VCO
  • Create an Env component; connect the vel output of the NoteIn to the vel input of the Env
  • Create a VCA component; connect the outputs from both the VCO and Env to its inputs
  • Connect the outputs of the VCO to the out-1 and out-2 ("master outs") in the bottom left corner
  • Switch to play mode and turn on the patch (bottom right). You can trigger notes using ASDFG on your keyboard*

* or you can use MIDI or even OSC :)

Saving data

All patch data is, by default, stored in LocalStorage. However, if you wish to persist data from multiple patches and parameter sets, you may can create an account / sign in by clicking the glowing ring in the top right. I use Firebase to store patch data in JSON format (note: you'll need third party cookies enabled).

Docs