Wednesday 11 November 2015

Web Synthesizer: Basics

Plan for Web Synth

As part of a school project International module, I was required to work with Open Source Software.
To this end I decided to build a Web Synthesizer based on the new Web Audio Api. At a basic level the API allows you to patch audio and signal nodes to each other, to create sounds. Much like traditional Modular Synthesizers.

Modular Synthesizer

 As you can see this contains modules or nodes that can be connected to produce sound. This type of synthesizer is very versatile in its ability to sculpt different tones. Although it can be a bit overwhelming once you start patching (connecting the nodes together) a beast like this.

Patched Modular System

To ease the complexity of these systems, we can assemble a few nodes and make permanent connections between the nodes. Giving the user a simpler interface to contend with.

Basic Synthesizer Signal Flow

Here we see three sound sources, two Omni Oscillators and a Noise Oscillator. These produce the basic tones we need to create sound. 

The sources signals are mixed together and sent on to the Envelope Generator. This controls the amplitude of the input signal, so we can achieve sounds that vary in amplitude over time.


The next stage is a filter that works by cutting or boosting certain frequency in the input. The filters intensity can also be controlled over time by the Envelope connected to the filter.

And finally the Effects/Output node, that can apply changes to the signal in various ways. For example to create and echo effect, where the input sound is repeated with distinct gaps between each repetition before fading in amplitude.

So thats a basic synthesizer layout. In the coming post I will show how I created a synthesizer similar to this using the Web Audio API.

Coming Soon





No comments:

Post a Comment