A dual-oscillator synthesizer for designing effects. Not a game but a tool created to help our team.
This is a Cheery Chimp original.
How To Play SFX Forge
You don't need to know anything about audio to use this. This guide walks through every panel in plain language, explains what each control actually does to the sound, and gives you recipes to try.
The Big Picture
A synthesizer builds sound from scratch, the way a chef builds a dish from raw ingredients. In SFX Forge the sound flows left to right through the rack:
| OSCILLATORS (make a tone) β |
| FILTER (shape it) β |
| EFFECTS (color it) β |
| MASTER (final volume) β |
| your speakers |
Everything you hear starts as a raw tone or a burst of noise on the left, then gets sculpted and decorated as it moves right.
To hear anything: hold the big TRIGGER button, press the space bar, or play the piano keyboard at the bottom. The sound plays while you hold and fades when you let go.
Every panel has a small ? button in its title bar. Click it for a popup explaining that panel's controls.
Nothing you do is permanent. βΆ UNDO (or Ctrl+Z) walks back through your changes, and βΊ RESET returns everything to the starting state. Experiment freely.
1. Oscillators β Where Sound Is Born
What it is: An oscillator vibrates at a steady speed to produce a musical tone β the digital equivalent of a guitar string. There are two so you can layer tones.
Waveform
The shape of the vibration determines the character of the tone:
| Shape | Sounds like |
|---|---|
| Sine | Pure, smooth, gentle β a flute or a whistle |
| Square | Hollow and buzzy β a clarinet, or an old video game |
| Sawtooth | Bright and rich β a violin bow, or a brass section |
| Triangle | Soft and hollow β between sine and square |
Start with sine for something clean, sawtooth for something aggressive.
Frequency
How high or low the pitch is. The slider covers the full range of human hearing, from a 20 Hz rumble to a 20,000 Hz whine. For reference: 440 Hz is the "A" orchestras tune to, 60 Hz is a deep bass thump, 3,000 Hz is a piercing beep.
Detune
Nudges the pitch slightly out of tune, in cents (100 cents = one semitone, the gap between adjacent piano keys).
Set both oscillators to the same note and detune one by 10 cents: they drift in and out of phase, creating a shimmering, alive quality. Every big synth sound uses this.
Gain and Pan
Gain is that oscillator's volume before mixing. Pan places it in the stereo field β panning the two oscillators to opposite sides makes the sound feel wide.
Unison and Spread
Unison stacks copies of the oscillator (1, 2, 4, or 8 voices). Spread sets how far apart they're detuned. More voices with more spread makes a massive wall of sound β this is how trance leads are built. One voice with no spread is thin and precise.
OSC Mode (on the OSC 2 panel)
How the two oscillators interact:
- NRM β they mix together. Two tones at once.
- FM β OSC 2 rapidly wobbles OSC 1's pitch, creating metallic and bell-like tones you can't make any other way. FM Index sets how violently.
- RNG β the oscillators are multiplied rather than added. Robotic, alien, dissonant. This is how Dalek voices are made.
2. Noise β Texture and Impact
What it is: Random sound β every frequency at once, with no pitch. Think static, wind, rain, or a snare drum.
Why it matters: almost every real-world sound has noise in it. A gunshot is mostly noise. A footstep is noise. Even a musical note has some in its attack. A little makes a synthetic sound feel real.
- WHT (White) β bright and hissy, like static. The harshest.
- PNK (Pink) β balanced and natural, like steady rain. Easiest on the ears.
- BRN (Brown) β deep and rumbling, like distant thunder.
A gain of 0.05 adds realism. A gain of 0.8 with the oscillators off gives pure percussion.
3. Pitch Envelope β The Secret Ingredient
What it is: Automatically bends the pitch during the first fraction of every note.
Why it matters more than you'd think: this separates a boring beep from a satisfying effect. A laser goes "pew" because the pitch drops fast. A kick drum goes "thump" for the same reason.
- Amount β how far it bends, in semitones. Negative starts high and falls; positive starts low and rises. Β±12 is a full octave.
- Attack β how fast it reaches the bent position. Near zero for a snap.
- Decay β how fast it slides back. Short for a chirp, long for a swoop.
Try: Amount β12, Attack 1 ms, Decay 150 ms. That's a kick drum.
4. LFO β Automatic Movement
What it is: A Low Frequency Oscillator β another oscillator, but so slow you don't hear it as a pitch. Instead of making sound, it moves a knob for you, over and over.
Static sounds are boring; an LFO makes a sound breathe, wobble, or sweep on its own.
- Waveform β the shape of the movement. Sine wobbles smoothly, square snaps between two values, sawtooth ramps then drops.
- Rate β how fast, in Hz. 0.5 Hz is one slow wobble every two seconds; 8 Hz is a fast flutter.
- Depth β how far it pushes the knob.
- Destination β FLTR wobbles the filter (the classic "wah"), PTCH wobbles pitch (vibrato, sirens), GAIN wobbles volume (tremolo).
Try: Destination PTCH, Rate 0.4, Depth 0.6, sine. Hold a note β that's a siren.
5. Filter β The Sculptor
What it is: A filter removes frequencies from a sound. If the oscillator is a block of marble, the filter is the chisel.
Why it's the most important knob on any synth: every sound in the real world is filtered. A voice behind a door is filtered. Moving the filter in real time is the single most expressive thing you can do.
- LP (Low Pass) β keeps lows, removes highs. Lower cutoff = darker, more muffled. You'll use this 90% of the time.
- HP (High Pass) β the opposite. Thin and bright; good for telephone or radio effects.
- BP (Band Pass) β only a narrow slice gets through. Nasal and vowel-like.
Cutoff is where the filter starts working. Resonance (Q) boosts frequencies right at that point, adding a whistle or ring β low Q is smooth, high Q is laser-like.
Try: Low Pass, cutoff around 800 Hz, Q around 6. Now hold a note and sweep the cutoff up and down. That's the sound of electronic music β and you'll hear it change while the note sustains.
6. ADSR Envelope β The Shape Over Time
What it is: The volume shape of a note, from the instant you press to after you release.
/\
/ \___________
/ \
/ \
A D S R
- A β Attack: time to reach full volume. Zero is a percussive click; 500 ms+ is a slow swell.
- D β Decay: how fast it falls from the peak to the sustain level.
- S β Sustain: the level it holds at while you keep the key down. A level, not a time. Zero means the sound dies after decay (percussive).
- R β Release: after you let go, how long it takes to fade out.
Three recipes worth memorizing:
| Sound | Attack | Decay | Sustain | Release |
|---|---|---|---|---|
| Pluck (guitar, harp) | 1 ms | 200 ms | 0 | 100 ms |
| Pad (ambient swell) | 600 ms | 200 ms | 0.8 | 800 ms |
| Kick / impact | 1 ms | 300 ms | 0 | 150 ms |
7. FX β MOD (Distortion, Chorus, Bitcrusher)
Distortion
Deliberately overloads the wave, adding grit and harmonics β what makes an electric guitar sound aggressive.
- SOFT β warm, rounded, tube-amp style.
- HARD β harsh clipping, transistor crunch.
- FOLD β folds the wave back on itself. Strange and metallic.
Amount is how hard it's driven; Mix blends distorted against clean.
Chorus / Flanger
Chorus makes copies with tiny shifting delays β a choir where no two singers are quite in sync. Turns a thin sound wide and lush. Flanger uses a shorter delay for a sweeping jet-plane whoosh.
Bitcrusher
Reduces the number of bits describing the sound, adding digital grit. 16 bits is CD quality, 8 bits is classic Nintendo, 3 bits is unrecognizable crunch.
8. FX β SPACE (Delay, Reverb, Compressor)
Delay
An echo. Time is how long until the first repeat β 0.05 s is a tight slap-back, 0.6 s is a canyon. Feedback is how many repeats. Mix is how loud they are.
Reverb
Simulates a physical space with thousands of tiny overlapping echoes β the difference between a closet and a cathedral. Size is how big the room is, Damping is how fast the highs fade (high damping = a carpeted room, low = a tiled bathroom), Mix is how much you hear.
A little (mix around 0.2) makes almost anything feel natural. Too much makes it distant and muddy.
Compressor
Turns down loud parts and lifts quiet ones, evening out the volume. Makes sounds punchier β the invisible polish on nearly every professional recording. Threshold is where it starts working, Ratio is how hard it squashes (2:1 gentle, 20:1 a hard ceiling), Make-up boosts the result back up.
9. Master Output
Visualizer
WAVE shows the waveform over time (tall = loud). FFT shows frequency content β left is bass, right is treble, height is loudness at that frequency. Watch FFT while sweeping the filter and you'll see frequencies disappear.
A/B Compare
Two clipboards for whole patches. Hit WRITE A, change something, hit WRITE B, then click PATCH A / PATCH B to flip between them. Invaluable when you can't tell whether a change actually helped.
Undo, Randomize, Reset
- βΆ UNDO / β· REDO (Ctrl+Z, Ctrl+Shift+Z) β steps back through your changes. A whole knob drag counts as one step.
- β RAND β randomizes every part of the synth, including the LFO and effects, within musically sensible bounds. Excellent for discovery; roughly one roll in three lands on something worth keeping. If it doesn't, undo.
- βΊ RESET β back to the default patch.
Memory Bank
16 slots. Blue dots (1β8) are factory presets β LASER, KICK, BLIP, RUMBLE, SIREN, WOBBLE, SWELL, BELL. Recall one and study how it's built. Amber dots are yours. Select a slot, then WRITE to save, RECALL to load, CLR to erase.
Your slots and the patch you were last working on are saved automatically and come back next time.
10. Playing It
Three ways to play, and they work together:
- The on-screen keyboard β click or drag across the keys.
- Your computer keyboard β
A W S E D F T G Y H U J Kplays a chromatic scale from C. - A MIDI keyboard β click MIDI in the header to connect. Velocity works: hit harder, get louder.
It's polyphonic β play a chord and you'll hear a chord, up to 16 notes at once. The TRIGGER button is independent, so you can hold it and play over the top.
βΌ OCT / OCT β² shifts the keyboard's range.
Everything works from the keyboard
Every control is reachable by Tab, and knobs respond to arrow keys β hold Shift for fine adjustment, Page Up/Down for big jumps, Home/End for the extremes. If you use a screen reader, knobs announce their real values ("12.5k Hz", not "0.85").
11. Getting Your Sound Out
βͺ EXPORT WAV
Renders an audio file and downloads it. Use this when you want a .wav to drop into a game engine, a
video editor, or a sampler.
- Note hold β how long the key is held before release.
- Sample rate β 44.1 kHz is standard; 22.05 kHz halves the file size.
- Normalize β lifts the peak to just under maximum so quiet patches don't export near-silent.
The render works out how long the effect tails need on its own, so a long reverb won't get cut off.
β€ EXPORT JS
This is what makes SFX Forge different. Instead of exporting an audio file, it generates JavaScript that recreates your sound β every oscillator, envelope, filter and effect. Drop it into any webpage.
It has no dependencies and weighs a couple of kilobytes. A .wav has to be downloaded by every visitor;
this generates the sound live in the browser. One export can cover a whole scale by passing different frequencies.
β PRESET JSON
Exports every setting as a text file you can save, share, or email β and import back later to restore the patch
exactly. You can also drag a .json file onto the import window.
Quick Start: Build a Laser
- Hit RESET.
- OSC 1: Sawtooth, frequency around 900 Hz.
- OSC 2: turn Gain to zero β one oscillator is enough here.
- Pitch Env: Amount β15, Attack minimum, Decay 200 ms.
- Filter: High Pass, cutoff 600 Hz, Q around 4.
- ADSR: Attack minimum, Decay 180 ms, Sustain 0, Release 100 ms.
- Press TRIGGER.
That's a laser. Now hit RANDOMIZE a few times and see what else turns up β and remember Ctrl+Z brings back anything you liked.
