Six operators. Two keyboards. A sound you can take apart.

A six-operator synthesizer by Sarth Calhoun. Start with a bell, a bass or a slowly moving chord. Change the operators and hear how the sound is made.

Choose a starting patch and play a note. Each operator explains what it contributes and gives you a change to try. Keep a chord going on the two keyboards while you shape the tone.

Play FM / 6 ↓Get to know the controls

Take a sound apart. Put it back differently.

To make the relationships inside a sound playable and understandable. Each operator explains its role in the current patch and suggests a useful change to try.

Start with a sound

Choose Glass garden for a bell, Rubber bass for a pluck, or Slow orbit for a slowly moving tone. Enable audio, then play the on-screen keys or A–K on your computer keyboard. Start with your listening volume low.

Follow the carrier

A carrier adds directly to the sound you hear. Raise its Level to bring that layer forward. A modulator changes another operator’s tone: raise its Level for more brightness or grit. The routing diagram shows which is which.

Give the sound a shape

Lengthen Attack for a softer entrance. Lengthen Decay for a longer ring. Raise Sustain to keep more tone while a key is held; lengthen Release for a gentler ending. A modulator’s envelope moves the brightness through the note.

Try a bend or a darker edge

Turn on an operator’s Pitch envelope for a pitch sweep. Choose a low-pass filter and lower Cutoff to soften its high end. The technical explanation and Try line on each operator follow the current controls.

Let a chord keep going

Turn on either keyboard’s Sustain latch, then tap a few notes. Tap a lit note again to release just that note. Add a few cents of detune on the second keyboard for beating between equal pitches. Choose or load another patch while the notes keep going. Routing and Wave changes blend over 30 ms while the notes sustain. Captured pitch envelopes take effect on the next note. Stop all clears both keyboards.

Keep the patch

Save patch… opens a naming dialog. A new name makes a new entry; Replace saved patch explicitly updates an existing one. Export JSON keeps a file you can load in another browser or device. Render & listen plays the same phrase for comparisons and offers a WAV download.

Send someone your sound

The address bar updates with your patch as you edit. Copy its URL or click Copy link to share the patch name, every setting and your operator notes. Opening the link restores that patch; the recipient enables audio and plays it. Saved libraries, held notes and MIDI device settings stay in your browser.

What’s inside FM / 6

Your sound stays here

Sound synthesis, playing and audition rendering happen in your browser. Saved patches stay in this browser on this site. The address bar embeds the current patch, including its name, settings and operator notes, so anyone with the link can load it. No account, microphone access or model calls are needed. JSON export makes a portable copy.

Saved patches are specific to the site where you saved them. Moving from the first FM / 6 site? Use Export JSON there, then Load patch here.

Touch keyboards support independent fingers and drag glissando. Safari on iPad does not offer Web MIDI; use the touch keyboards there. MIDI and MPE need a supporting browser and permission for your controller. The instrument has sixteen shared voices.

Part of the work

The source is maintained in a private repository. The release record identifies the source revision; the text guide describes the instrument.

By Sarth Calhoun · Published 2026-09-08 · Cloudflare Workers
The engine uses phase modulation for FM synthesis. No model listens to or scores your sound.