Filter / Vocal Formant Processor
voxvowel() filters a source through a three-formant vocal model. The vowel argument selects one of five vowels, while timbre changes the apparent vocal-tract size. Small smooth transition zones around the vowel boundaries prevent abrupt changes and automation clicks.
saw(), pwm(), pdsin(), or fft() usually produce the clearest vowel character.| Vowel range | Vowel | Recommended value |
|---|---|---|
| 0.0 to 0.2 | a | 0.1 |
| 0.2 to 0.4 | i | 0.3 |
| 0.4 to 0.6 | o | 0.5 |
| 0.6 to 0.8 | u | 0.7 |
| 0.8 to 1.0 | e | 0.9 |
For clear vowel targets, use 0.1 for a, 0.3 for i, 0.5 for o, 0.7 for u, and 0.9 for e. Adjacent vowels are blended within a narrow 0.075-wide region centered on each boundary.
0.5*velolog()*attack(300)*release(24000)* voxvowel(saw(X)+0.18*pwm(0.5*X,0.42),param(0),param(1)) [Vowel: 0.0; Timbre: 0.5;]
Several voxvowel() calls may be used in one mono or stereo formula. Each occurrence receives an independent filter state automatically.