Skip to content

Instantly share code, notes, and snippets.

@ftrain
Last active April 21, 2025 17:38
Show Gist options
  • Save ftrain/ee04d2139bf57f09467ce5723d96266e to your computer and use it in GitHub Desktop.
Save ftrain/ee04d2139bf57f09467ce5723d96266e to your computer and use it in GitHub Desktop.
A syllabus for learning FM on a computer

90‑Day Open‑Source FM Synthesis Mastery

Syllabus & Calendar (Surge XT, Dexed, Ardour/LMMS, Stochas)


1. Ten‑Goal Syllabus

Phase Goal Success criterion Open‑source toolchain
I Foundations 1 Master FM theory Explain carrier:mod ratio, index, feedback and envelopes for basic ratios. Surge XT manual & spectrum view; original Chowning FM paper.
2 Dissect Dexed Rebuild the DX7 factory patch “Tub Bells” from scratch and document every operator. Dexed six‑operator interface for line‑by‑line analysis.
II Sound‑Design Gym 3 30‑Patch Sprint (Surge XT) 30 original presets tagged in Surge XT browser. Surge XT hybrid engine.
4 Operator Matrix Catalogue (Dexed) For 10 algorithms, design percussive & sustained patches, logged in spreadsheet. Dexed algorithm selector + operator meters.
III Workflow Engineering 5 Swiss‑Army Mod Rack (Surge XT) Rack with eight macros, exported as CLAP/LV2 preset. Surge XT macro system.
6 FM Drum Kit 16‑slot kit rendered to SFZ bank. Dexed → audio render → sfizz sampler.
IV Composition & Arrangement 7 Sketch Trilogy Three 32‑bar loops using only your patches. Ardour 8 or LMMS.
8 Finish Two Tracks Two ≥4‑min mixes released privately. Ardour + GPL plugins (Calf, LSP, Airwindows).
V Performance & Sharing 9 Probabilistic Performance Set 15‑min live jam with stochastic variations. Stochas sequencer driving Surge XT/Dexed.
10 Externalize Knowledge Publish tutorial video or blog post. OBS; Fediverse or GitHub Pages.

2. 90‑Day Calendar (Mon–Sun cadence)

Assumptions: ≈1 h weekdays, 2–3 h weekends.

Week Focus & Milestones Mon–Fri (≈1 h) Sat–Sun (≈2–3 h)
1 Goal 1 – FM Fundamentals Read Surge XT manual section; sketch spectra Memory quiz; patch three 1‑op/2‑op tones
2 Goal 2 – Dissect Dexed Rebuild Tub Bells; one operator per day Document patch sheet; replicate “Solid Bass”
3 30‑Patch Sprint Days 1–7 One Surge preset per day Two extra patches; Git commit
4 Sprint Days 8–14 + Matrix Catalogue Daily patch; add 3 ratios to spreadsheet Compare spectra; render demos
5 Sprint Days 15–21 Daily patch; continue catalogue Review & tweak favourites
6 Sprint Days 22–30 (finish) Final six patches Export library; “best‑of” demo
7 Goal 5 – Swiss‑Army Rack Macro planning & mapping Build rack; CPU test; revision
8 Goal 6 – FM Drum Kit Design kick/snare/hat Complete kit; build SFZ; audition
9 Goal 7 – Sketch Trilogy 8‑bar motif each day Expand to 32 bars; bounce stems
10 Track 1 Production Arrange, automate, rough mix Sound‑design polish; pre‑mix bounce
11 Track 2 Production Same flow By Sunday: two mixes at –6 dBFS
12 Goal 9 – Live Set Configure Stochas & controller Rehearse 15‑min jam; record
13 Goal 10 – Externalize Script tutorial; prep OBS Record, edit, publish; upload tracks
+1 Buffer / Reflection Catch‑up tasks Critical listening Day‑1 vs Day‑90

Further Reading

🛠️ Open‑Source Instruments & Plugins

🎚️ DAWs & Utility Software

📖 Manuals & Official Docs

📚 Theory & Deep‑Dive Reading

🌐 Further Docs & Community Hubs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment