Synths node
FM
A 4-operator FM synth: four sine operators wired by one of 11 algorithms, from a 4>3>2>1 stack to four carriers side by side. Each operator follows the note at a ratio or sits at a fixed frequency, and has its own level and envelope. Feedback lets operator 4 modulate itself, from a brighter sine to a buzz.

What it does
FM is a synth: it turns notes into sound. It takes notes in and gives audio out.
Try it
Pick an algorithm with two stacked pairs and raise operator 2's level for a bell.
Inputs and outputs
Inputs
- notes notes
Outputs
- audio out
Controls
Every control with a range can be driven by a modulator, a note, an audio level or a sketch.
| Control | Range or options | Default |
|---|---|---|
| algorithm | 4>3>2>1, (4+3)>2>1, (4>3+2)>1, (4>2+3)>1, 4>3, 2>1, 4>(3,2,1), 4>3>2, 1, (4+3+2)>1 … | 0 |
| feedback | 0 to 1 | 0 |
| volume | 0 to 1 | 0.699999988 |
| ratio | 0.5 to 16 | 1 |
| fixed | on or off | off |
| level | 0 to 1 | 1 |
| attack | 0 to 4000 | 2 |
| decay | 0 to 4000 | 900 |
| sustain | 0 to 1 | 0.600000024 |
| release | 0 to 4000 | 300 |
| ratio | 0.5 to 16 | 1 |
| fixed | on or off | off |
| level | 0 to 1 | 0.5 |
| attack | 0 to 4000 | 2 |
| decay | 0 to 4000 | 500 |
| sustain | 0 to 1 | 0.400000006 |
| release | 0 to 4000 | 300 |
| ratio | 0.5 to 16 | 2 |
| fixed | on or off | off |
| level | 0 to 1 | 0.300000012 |
| attack | 0 to 4000 | 2 |
| decay | 0 to 4000 | 350 |
| sustain | 0 to 1 | 0.300000012 |
| release | 0 to 4000 | 300 |
Example patch
This patch wires FM to what it needs and shows the result. Download it, then use File, Open in Infinite, or read it here: it is plain text.
infinite-patch 1
rev 2
# FM: a starting patch for the FM node
node 1 Synths FM
id node
pos 520 300
end
node 2 Notes Random Note Generator
id in0
pos 0 300
end
node 3 Utility Audio Out
id speakers
pos 1080 300
end
note node 0 in0
aud speakers 0 node