ejarzo / additive-synth

A web synthesizer made with ToneJs

Home Page:https://additive-synth.netlify.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

image

This Additive Synth is a timbral study. It consists of four oscillators and one noise source each routed to its own amplitude envelope. Oscillator 1 also controls the overall envelope - all other oscillators (including noise) are routed through Oscillator 1.

I wanted to replicate one of my favorite features of synths like Ableton's Operator -- the ability to loop envelopes, letting you create detailed rhythmic textures. In addition to the base harmonic, volume, detune, wave type (sine, triangle, square, or sawtooth) and ADSR envelope, each oscillator also has a loop control, which determines the interval at which the envelope repeats.

I hoped to focus attention primarily on the timbre so I only added limited options for controlling the notes being played. The synth plays a sequence of 7th chord arpeggios in a set scale that can be changed by moving the mouse left and right. You can also change the octave by pressing Z and X. There are three "voices" meaning that three notes can be played at the same time.

For the visual feedback I mapped the averaged the output's Fourier transform to the color spectrum. This can be seen most easily by filtering out the high frequencies with the low pass filter which causes the color to become darker and redder.

Made with ToneJS, Teoria, and P5

About

A web synthesizer made with ToneJs

https://additive-synth.netlify.app/


Languages

Language:JavaScript 90.9%Language:CSS 6.6%Language:HTML 2.5%