This is a browser-based midi synthesiser with custom wave sources. This project aim to demonstrate a new way of controlling timbre. The timbre is controlled by changing the signal content of the waveform adjusted by the FFT points.
The interactive canvas of waveforms was built by Fourier project. It is the source of the synthesiser signal. The rest of the signal processing is built on Web Audio API.
A live demo is available here.
-
Support multiple controller including :
- Mouse and Keyboard
- Multi-touch devices
- USB midi controller
-
Built-in audio effects including :
EnvelopeDigital DelayOverdriveLowpass Filter
-
Support MIDI Polyphonic Expression (MPE) standard.
-
Draw a waveform on the interactive canvas and adjust the number of FFT points to obtain the base signal to be synthesised.
-
Play with mouse, keyboard or usb midi controller.
-
Keyboard Mapping
Key Note Key Note zC3xD3sC#4cE3dD#4vF3bG3gF#4nA3hG#4mB3jA#4qC4wD42C#4eE43D#4rF4tG45F#4yA46G#4uB47A#4iC4 -
Midi CC Table
Parameter CC MSB CC LSB Range FFT points0x020 - 1271 - 128LPF Coutoff Freq0x030 - 127240 - 24KHzLPF Resonance0x040 - 1271 - 21Attack Time0x050 - 1270 - 2sDecay Time0x060 - 1270 - 2sDelay Time0x070 - 1270 - 2sDelay Dry/Wet0x080 - 1270 - 100%Overdrive0x090 - 1270 - 100%Master Volume0x0A0 - 1270 - 100%
-
Install Node.js
-
Clone this repository
git clone https://github.com/DCisHurt/FourierSynth.git
-
Install depences
npm install
-
Optional : Use the Webpack tool to bundle all JavaScript files and generate static web page
webpack
MIT
