An audio synthesizer build with Web Audio API.
🎵 Editor 🎵 Virtua Piano 🎵
It uses the OscillatorNode or white noise to generate a sound, which can be manipulated with the different AudioNodes the API exposes.
This tool was built by means of learning how to generate sounds in the modern browsers. Do not expect a polished code or excellent performance.
- Clone the repository
- Open src/index.html
import SAS from './lib/sasynth.js';
import Note from './lib/note.js';
const noteParams = {
type: "sine",
freq: 220
};
const sas = new SAS();
sas.createNote(noteParams);
sas.play();
// or
const note = new Note(sas, noteParams);
note.play();
Chrome, Firefox, Edge, Safari. Essentially any browser that understands ECMAScript 2015+ and the Web Audio API.
The impulse response sounds used for the ConvolverNode are encoded in Base64 and placed under src/js/impulses/. The original sound files are provided for free thanks to Samplicty.
Released under The MIT License (MIT).
- Nine Components of Sound
- Synthesizer definition in Wikipedia
- JavaScript Systems Music
- Recreating legendary 8-bit games music with Web Audio API
- Developing Game Audio with the Web Audio API
- Frequencies for equal-tempered scale
- Electric Guitar Synth in HTML5
- Synthesising Drum Sounds with the Web Audio API
- How to Generate Noise with the Web Audio API
- jsfxr Generator