Feat: introduce Forth words for 3-OP Fm synthesis (with feedback)

This commit is contained in:
2026-02-05 12:00:00 +01:00
parent 5af536dea2
commit fb751c8691
2 changed files with 45 additions and 0 deletions

View File

@@ -2,6 +2,11 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [0.0.7] - Unreleased
### Added
- 3-operator FM synthesis words: `fm2` (operator 2 depth), `fm2h` (operator 2 harmonic ratio), `fmalgo` (algorithm: 0=cascade, 1=parallel, 2=branch), `fmfb` (feedback amount). Extends the existing 2-OP FM engine to a full 3-OP architecture with configurable routing and operator feedback.
## [0.0.6] - 2026-05-02 ## [0.0.6] - 2026-05-02
### Added ### Added

View File

@@ -457,6 +457,46 @@ pub(super) const WORDS: &[Word] = &[
compile: Param, compile: Param,
varargs: false, varargs: false,
}, },
Word {
name: "fm2",
aliases: &[],
category: "FM",
stack: "(f --)",
desc: "Set FM operator 2 depth",
example: "1.5 fm2",
compile: Param,
varargs: false,
},
Word {
name: "fm2h",
aliases: &[],
category: "FM",
stack: "(f --)",
desc: "Set FM operator 2 harmonic ratio",
example: "3 fm2h",
compile: Param,
varargs: false,
},
Word {
name: "fmalgo",
aliases: &[],
category: "FM",
stack: "(n --)",
desc: "Set FM algorithm (0=cascade 1=parallel 2=branch)",
example: "0 fmalgo",
compile: Param,
varargs: false,
},
Word {
name: "fmfb",
aliases: &[],
category: "FM",
stack: "(f --)",
desc: "Set FM feedback amount",
example: "0.5 fmfb",
compile: Param,
varargs: false,
},
// Modulation // Modulation
Word { Word {
name: "vib", name: "vib",