A Vowel contains and handles data to describe formants that allow to distinguish the vowel sounds \a, \e, \i, \o, \u for the registers \bass, \tenor, \counterTenor, \alto and \soprano. The current implementation uses formant data that originally appeared in the C-sound Manual: http://www.csounds.com/manual/html/MiscFormants.html
2011 -- Florian Grond, Till Bovermann
Supported by: the Ambient Intelligence Group, CITEC ( http://www.techfak.uni-bielefeld.de/ags/ami ) Bielefeld University, and the TAI Studio ( http://TAI-Studio.org ), Department of Media, Aalto University, Helsinki. Many thanks go to Alberto de Campo and and Julian Rohrhuber.
holds formant information
a Dictionary
creates a new instance of Vowel
vowel |
select a vowel by the symbols \a, \e, \i, \o, \u. default value is 'a'. |
register |
select a register by the symbols \bass, \tenor, \counterTenor, \alto, \soprano. Default value is 'bass'. |
a Vowel
The class exhibits multichannel expansion behaviour
You can also explicitly set the formants
freqs |
an array of freqs |
dBs |
an array of dBs |
widths |
an array of widths in Hz |
a Vowel
compose your own vowel based on the ones defined in formTable. Wraps when argument lengths differ (as in channel expansion).
vowelNames |
an array describing the vowels' character: \a, \e, \i, \o, \u. |
registers |
an array describing the vowels' voice: \bass, \tenor, \counter, \alt, \sopran. |
weights |
an array describing the vowels' weight relative to the others. Should be a normalized sum. |
a Vowel
Array of freqs, one for each formant.
Array of dBs,
array of widths in Hz, one for each formant.
array of amps in dB, one for each formant.
array of rQ values, one for each formant.
array of midinotes, one for each formant.
freq | |
db | |
width |
index |
index of the formant to remove |
get amp value for freq according to order of filter
freq | |
filterOrder |
plot the frequency spectrum of the vowel.
fmin | |
fmax | |
fstep | |
order |
serialise the vowel into an array
an arrays of [ freqs, dBs, widths ]
convert into an Event
convert into an array of key value pairs
id |
optional argument added to each key |
creates controls in the wrapping synth such that the vowel's parameters can be controlled seamlessly from the language.
id |
Optional. If more than one vowel need to be controlled inside one Synth, this id can be used to differentiate them from each other. |
rate |
either \kr or \ar |
lag |
array of lag times |
plus
that | |
adverb |
minus
that | |
adverb |
multiply
that | |
adverb |
divide
that | |
adverb |
blends two vowels by linear interpolation between of midinotes, widths and dBs.
that |
a Vowel |
blendFrac |
coefficient. Range from 0.0 (this) to 1.0 (that). |
a new instance of Vowel
lift the upper formants by multiplying their dBs with a factor. The sum of all dBs remains fixed.
bright |
coefficient to brighten the vowel. Typical ranges are from 1 (no change) to 3. |
refFormant |
reference formant, whose amplitude remains unchanged. Default value is 0 (first formant) |
NOTE: If the coefficient bright is > 1 and the refFormant is > 0, the resulting signal may raise to a very big amplitude.
allows to lift the upper formants by multiplying their dBs. the sum of all dBs remains constant.
bright |
coefficient to brighten the vowel. Typical ranges are from 1 (no change) to 3. |
refFormant |
reference formant, whose amplitude remains unchanged. Default value is 0 (first formant) |
allows to relatively lift the upper formants by keeping the sum of gains of all formants constant.
bright |
coefficient to brighten the vowel. Typical ranges are from 1 (no change) to 3. |
(describe method here)
baseFreq |
undocumented |
numPartials | |
ring |
prettyprint support
stream |
archival support
In SynthDefs:
using addControls to create buses
JITLib style:
Fun.