Analog Synthesizer in JavaScript
A polyphonic, analog-style synth, written from scratch in JavaScript.Two oscillators (sine, triangle, saw, square), a sub-osc with key offset and mix, control oscillator (LFO) with rate / depth / vibrato, drive, a 4-pole low-pass filter with resonance, ADSR envelope, noise generator with band-pass color, and a built-in XY oscilloscope (one period of the chord fundamental). Click the keys, or play it from your computer keyboard. Plug a MIDI device in and it will appear in the "Enable MIDI" dropdown.
Modular signal flow.Osc1 (detuned by detune + pitch bend + pitch-blend center) is mixed with Osc2 (transposed by the Osc2 key knob, mixed by Mix). The LFO modulates pitch when Vibrato is raised, and the filter cutoff sweeps from Cutoff and Reso. The noise path runs through its own band-pass (Freq, Color) before being mixed in. Drive, attack, sustain, release, and a master Volume shape the final signal.
Save and load presets.Hit Save Preset to store the current patch in your browser, and Load Preset to bring it back. Five factory patches ship with the app: Classic Lead, Fat Pad, Bright Brass, Warm Strings, and Analog Synth.
Real-time, no server.The synth uses the Web Audio API directly, with a small custom window chrome (createWindow() from hkwin.js) so it can be dragged, minimized, maximized, and closed like a native app. No build step, no dependencies. View the source on your browser to see how it works.
Other stuff.Use the menu at left to browse more JavaScript toys, games, and widgets: Speak in binary, long number calculator, more calculators, JavaScript editor, eye test, image blocks, fontfun, block art, snow, amaze, artify, and the online games on our Windows PC support website.
Keep it going.Support development or hire an expert programmer for your next project.
Copyright © 2026 Henry Kroll III, thenerdshow.com This web page is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.