Generate PAD spectra with FFT wavetables
This commit is contained in:
parent
1cb6b2852f
commit
25fb9d1e90
9 changed files with 215 additions and 68 deletions
|
|
@ -169,15 +169,20 @@ layer name=pad_low engine=pad
|
|||
spectrum layer=pad_low root=130.8128 spread=.012 partials=1:.07,1.5:.052
|
||||
```
|
||||
|
||||
This gives PAD texture targets a reusable source authority without inflating the
|
||||
voice graph. It is still not a claim of exact PADsynth FFT/bandwidth parity:
|
||||
`root`, `spread`, and `partials` are authoring-time table shape, not runtime
|
||||
controls.
|
||||
The source table is generated by an authoring-time PADsynth-style path:
|
||||
harmonics are spread into a frequency-domain amplitude profile, deterministic
|
||||
random phase is applied, one inverse FFT produces the looped table, and Faust
|
||||
only reads that baked table. This gives PAD texture targets a reusable source
|
||||
authority without inflating the voice graph. It still does not claim full Zyn
|
||||
PAD engine parity across all harmonic profiles, randomness controls, or
|
||||
multi-table pitch-zone behavior. `root`, `spread`, and `partials` are
|
||||
authoring-time table shape, not runtime controls.
|
||||
|
||||
Sources:
|
||||
|
||||
- [ZynAddSubFX](https://github.com/zynaddsubfx/zynaddsubfx)
|
||||
- [ZynAddSubFX feature list](https://github.com/zynaddsubfx/zynaddsubfx)
|
||||
- [Paul Nasca's PADsynth algorithm](https://zynaddsubfx.sourceforge.io/doc/PADsynth/PADsynth.htm)
|
||||
|
||||
### Tier 3: Faust Examples And Libraries
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue