Description:
CSLOPE allows to control the spectrum (<freqlist>, <amplist>) in relation to the dynamic amplitude of the sound <coefamp>), the type of voice which is being used (<voice>), and the fundamental frequency (<fund>).
The result is a list of adjusted formant amplitudes.
The following formula is used to maintain humanly possible ratios between amplitude and spectrum :
- adjusted-formant-amplitude = given-amplitude * <coefamp> * f0-linked-scaler.
f0-linked-scaler varies with the fundamental frequency and has a negative slope (decreases as fundamental increases).
It is given by the following formulae :
3 + 1.1 * (400 - <fund>) / 300 for male voices (<voice> = 'm)
0.8 + 1.05 * (1000 - <fund>) / 1250 for female (or castrati) voices (<voice> = 'f)
If <slope> = -1 (or negative) the previous formulas are used (and the actual value of <slope> is ignored).
If <slope> is positive (>= 0) it is used as a scaler on the amplitudes following the formula :
<slope> * exp(a1 * atan(a2 * log(<fund> / <f0moyen>)))
In both case, another adjustment is computed with an additional scaler = <coefamp> * (<fund> - <f0moyen>)^a3
Notes:
1) only the formant whose center frequency is higher that that of the first formant are adjusted.
2) a1 a2 and a3 are the element of parameter <ajus> corresponding to standard CHANT parmeters.
This function is adapted from the original CHANT rules as implemented in CHANT by X. Rodet and Y. Potard (1984) and in the chant_cslope object for Max by F. Iovino and, G. Eckel (1994).
Documentation adapted from the CHANT manual, P.-F. Baisnée and the Chant group, 1985.
|