Output ChannelOutput Channel



November 02, 2015

If you've ever had a look through the Web Midi specification, you might have seen Monosynth, a simple monophonic synth demo, created by Chris Wilson.

It's probably just about the most bare-bones synth you could come across, but essentially, that's the whole point. The entire instrument is contained in a single file, needs less than 100 lines of JavaScript, and doesn't require any 3rd party libraries. This makes it a valuable educataional example of how to create a midi enabled synthesizer from scratch using Web Audio and Web Midi.

It has a single sine wave oscillator and it's monophonic, which means you can only hear one note at once. It doesn't have a graphical user interface, and it only works with a midi keyboard - there's no fallback support for Qwerty keyboards.

Even though it's stripped back, it's certainly still a fully functional synth. The sine waveform it outputs combined with the default portamenteau effect means it sounds very much like a Theremin, and there's a lot of fun to be had by hooking up a controller and having a play. Here's a short clip of me imitating some classic Beach Boys.

If you're interested in learning more about this, then I certainly recommend taking a look at the source code, opening it up in a text editor and having play with the parameters to make it your own.