Vowel class released


07 June 2011

We are happy to announce the release of the Vowel Quark, a set of convenience classes for easy Vowel creation and manipulation. Currently, it is based on the CSound Vowel data (see helpfile for details), however, other data would be much appreciated to integrate. You’ll find the quark in the github quark repository.

There will be an article about this class and its application in Sonification on the next ICAD called A SuperCollider Class for Vowel Synthesis and its Use for Sonification. The paper will be available after the conference.


// Enjoy the calmness

Ndef(\vowel).fadeTime = 10;
(
Ndef(\vowel, {
	var src;
	src = Formants.ar(([1, 2, 3, 4] *.t [28, 44].midicps * {LFNoise1.kr(10, 0.003, 1)}!4).flat, Vowel(\u, [\bass, \tenor, \soprano]), 
		freqMods: LFNoise2.ar(1*[0.1, 0.2, 0.3, 0.4, 0.5].scramble, 0.1)).sum * 0.01;
	Splay.ar(src);
}).play
)

// experience grooming darkness
(
~numpartials = 30;

t = Task({ 	

		150.do({ arg i;
			{
			var freqs = {|i| (i + 1) }!~numpartials;
			var amps = ({|i| 1/(i + 1) }!~numpartials).normalizeSum;
			var rings =  ({|i| (20/(i + 1)) + 1 }!~numpartials);

			var myenv = Env.new([0, 1, 0.2, 0], [2, 1, 2],'linear');
		 	var mysound = EnvGen.kr(myenv, 1.0, doneAction: 2) * 
		 	DynKlank.ar(`[freqs, amps, rings], PinkNoise.ar(0.007), (30.rand+10).midicps ); 
		 	Pan2.ar(mysound, 1.0.rand2)
		 	}.play;

			0.4.rand.wait 
		}); 
	});

)
t.start;
t.stop;

Florian Grond, Till Bovermann