Hi,
I am fiddling around with the Vowel class by Til Boverman et al.
There is a pdf explaining its uses, but I find it hard to transform the descriptions into code. If any of the devolopers read this: are there code examples corresponding to the sounds?
Anyway I am trying to understand how to manipulate the steepness of the transitions between formants for the use in DynKlang. I understand that there is a function ampAt
that allows to plot these transitions for a range of frequences (in this case: from 0 to 4000 Hz)
//without manipulation
Vowel(\a).ampAt((0..4000)).ampdb.plot;
// the second argument, the "filter Order" for the 4 (5?) formants
Vowel(\a).ampAt((0..4000), [2, 1, 0.4, 2]).ampdb.plot;
This seems pretty convenient, but how do I get the manipulated transition curves into a SynthDef? My hope is to do something like this:
SynthDef(\dynklang, {
|vow=1|
var sig, env, array,
vowel, freqs, widths, dBs, range;
vowel = Vowel(\a, \bass);
freqs = vowel.freqs;
dBs = vowel.dBs;
witdths= vowel.widths;
range = (0..4000);
// this does not work
vowel.ampAt(range, [\stp1.kr(1), \stp2.kr(1), \stp3.kr(1), \stp4.kr(1)]).ampdb;*
#freqs, dBs, widths = vowel.asArray;*
sig = DynKlang.ar(
`[
freqs ,
dBs.dbamp,
widths
]);
Out.ar(\out.kr(0), sig);
}
I think it would be a nice sonification synth.
Can someone lead me to the right direction? Thanks.
Q-Boris