This dual-oscillator synth was my first experiment using Web Audio and, as the name suggests, it is a monosynth; It plays one note at a time, and will slide from one held note to the next.
The modular nature of the Web Audio API meant that programming the audio was similar to working with systems like Max/MSP or Reaktor, but without a visual representation of the nodes and routing. I'm happy playing with that stuff, so had fun making this.
The user interface was built with Flambe using the HTML5 target. Play using your (qwerty) keyboard, or by clicking the on-screen keys. The UI knobs and sliders are labelled, so should be fairly self-explanatory, and there are some keyboard controls too.
While I was working on it, the Web Audio APIs were quite changeable, and though support is improving, there are still differences between browsers. As a result, you need to use Chrome for the audio to work. It did work in Firefox for a while, but I stopped maintaining compatibility fixes in order to concentrate on the functionality. I don't think there's a reason it can't work in Firefox - I'll probably pull out the parts I like and update them for use in future projects.
For me, working on little experiments is a great way of learning something new; I'd like to follow this up with more audio projects and make some modular components to help build other fun things.
You can play with it here, and the code is all available on GitHub.
Controls
Knob/Slider drag |
Change valueKnob/Slider drag + Ctrl |
Precision value changeKnob/Slider double-click |
Reset to defaultUp/Down Arrow |
Select a preset (next/prev)Left/Right Arrow |
Keyboard octave shift (down/up)F2 |
Randomise all settings (careful - can get noisy)F3 |
Reset all settings to defaultF |
Fullscreen
Updates
12/2015 |
Web MIDI support added