vowgen

Description

Uses ftmorf to morf between the formant structures of different vowels.

Syntax

asig vowgen kfreq, kmorf, koct, imode

Initialization

imode- the set of formants used. The formants used to create the vowels were taken
directly from the formant appendix in the Csound manual. if imode = 0, the vowels were
taken from a bass voice. The vowels will sound the same, but the timbre will be affected.
imode = 0: bass
imode = 1: tenor
imode = 2: countertenor
imode = 3: alto
imode = 4: soprano

Performance

When vowgen is called, function tables are created for each vowel's formant structure. For this reason, it might not work to have multiple vowgens in the same instrument. A safer way is to have multiple instances of an instrument.

Inputs:
kfund- the fundamental frequency of the note. You should consider varying it with an oscil
to create vibrato for more realistic vocals.

kmorf- the index of the vowel. In order to make it possible (using ftmorf) to sweep from any
vowel to any other vowel, I created an index as such:

0 1 2 3 4 5 6 7 8 9 10 11 12
a e i a o u e o i u a o a

this way if you sweep from a kmorf of 8 to 7, you sweep from i to o ("yo")
there may be an easier way to do this now, so if you feel motivated, please research
new ways (possibly with the new vector-based opcodes?) to sweep through the vowels

koct- the same as the koct in the fof opcode. If koct increases from 0 to 1, every other fof is
not generated, creating the effect of the voice dropping an octave.