Topic: new engine: PhaserF
As promised, here it is, Phaser with filters.
- 2 Phaser channels, XOR/OR/AND mixing
- variable duty for both oscillators (channel 2 only)
- volume control (up to 6 levels)
- filters with variable cutoff (6 levels for lo-pass, 5 levels for hi-pass)
- sample rate 9114 Hz
- interrupting PWM sampled drums at 27343 Hz with 7 pitch and 3 volume levels
- player size 3333 bytes (when assembled at a 256b border)
Channel 2 can be split into two independent pulse wave channels that are mixed
Squeeker-style (OR mixing). Beware that changing channel 2's mixing mode is slow
(~200t), so avoid doing so if you are concerned about transition noise.
This one was quite a challenge, and I'm not entirely sure if it was worth the effort. Somehow it sounds muddier than ulasyn. Part of it is because length counter updates are slower, but there might also be a bug lurking in one of the volume cores. I've checked them all multiple times in various ways though, and can't spot any obvious culprits.
PWM drums are slightly different from ulasyn - higher sample rate, but less volume resolution. There's no noise mode in this engine, so the samples need to make up for it.