CSLOPE

[GENERIC-FUNCTION]


OM-Chant
Function Reference
ARGUMENTS:
  - FREQLIST list of formants' frequencies (Hz) [default = (609 1000 2450 2700 3240)]
  - AMPLIST list of initial amplitudes [default = (0.027797 0.01366 0.006961 0.007831 0.001811)]
  - SLOPE slope of the spectrum [default = -1]
  - VOICE type of voice (male or female) [default = (QUOTE |OpenMusic|::F)]
&optional
 
  - FUND fundamental frequency [default = 100.0]
  - F0MOYEN middle frequency of the range of the voice [default = 200.0]
  - COEFAMP dynamic amplitude (modifies the spectrum) [default = 1.0]
  - MAXAMP max amplitude (scaler) [default = 1.0]
  - AJUS CHANT adjustment parameters [default = (0.0 5.7 0.0)]

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.



Auto doc generation by OpenMusic 6.6 © 2011 IRCAM