View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide

Phonemes

Home   How To   Code Pool   Public Library   Theory   Events
/***************************************************/
/*! \class Phonemes
    \brief STK phonemes table.

    This class does nothing other than declare a
    set of 32 static phoneme formant parameters
    and provide access to those values.

    by Perry R. Cook and Gary P. Scavone, 1995 - 2002.
    
    port to SC 2007 Luke Selden
*/
/***************************************************/


Phonemes {
	classvar <names, <gains, <parameters;
	
	*string { arg i;
		^( names@@i )
	}
	
	*gain { arg i;
		^( gains@@i )
	}
	
	*parameter { arg i;
		^( parameters@@i );
	}

	*voiceGain { arg i;
		^( (gains@@i)[0] )
	}
	
	*noiseGain { arg i;
		^( (gains@@i)[1] )
	}
	
	*formantFreq { arg i, partial;
		^( ((parameters@@i)@@partial)[0] );
	}
	
	*formantRadius { arg i, partial;
		^( ((parameters@@i)@@partial)[1] );
	}
	
	*formantGain { arg i, partial;
		^( ((parameters@@i)@@partial)[2] );
	}

	*initClass {
	
		names = [
					"eee", "ihh", "ehh", "aaa",
					"ahh", "aww", "ohh", "uhh",
				   	"uuu", "ooo", "rrr", "lll",
				   	"mmm", "nnn", "nng", "ngg",
					"fff", "sss", "thh", "shh",
					"xxx", "hee", "hoo", "hah",
				     "bbb", "ddd", "jjj", "ggg",
				     "vvv", "zzz", "thz", "zhh"
			 	];
			 
	   gains =  [
		   [1.0, 0.0],    // eee
		   [1.0, 0.0],    // ihh
		   [1.0, 0.0],    // ehh
		   [1.0, 0.0],    // aaa
		
		   [1.0, 0.0],    // ahh
		   [1.0, 0.0],    // aww
		   [1.0, 0.0],    // ohh
		   [1.0, 0.0],    // uhh
		
		   [1.0, 0.0],    // uuu
		   [1.0, 0.0],    // ooo
		   [1.0, 0.0],    // rrr
		   [1.0, 0.0],    // lll
		
		   [1.0, 0.0],    // mmm
		   [1.0, 0.0],    // nnn
		   [1.0, 0.0],    // nng
		   [1.0, 0.0],    // ngg
		
		   [0.0, 0.7],    // fff
		   [0.0, 0.7],    // sss
		   [0.0, 0.7],    // thh
		   [0.0, 0.7],    // shh
		
		   [0.0, 0.7],    // xxx
		   [0.0, 0.1],    // hee
		   [0.0, 0.1],    // hoo
		   [0.0, 0.1],    // hah
		
		   [1.0, 0.1],    // bbb
		   [1.0, 0.1],    // ddd
		   [1.0, 0.1],    // jjj
		   [1.0, 0.1],    // ggg
		
		   [1.0, 1.0],    // vvv
		   [1.0, 1.0],    // zzz
		   [1.0, 1.0],    // thz
		   [1.0, 1.0]     // zhh
	   ];
	   
	   parameters = [
		   [  [ 273, 0.996,  10],       // eee (beet)
		      [2086, 0.945, -16], 
		      [2754, 0.979, -12], 
		      [3270, 0.440, -17]	],
		   [  [ 385, 0.987,  10],       // ihh (bit)
		      [2056, 0.930, -20],
		      [2587, 0.890, -20], 
		      [3150, 0.400, -20]	],
		   [  [ 515, 0.977,  10],       // ehh (bet)
		      [1805, 0.810, -10], 
		      [2526, 0.875, -10], 
		      [3103, 0.400, -13]	],
		   [  [ 773, 0.950,  10],       // aaa (bat)
		      [1676, 0.830,  -6],
		      [2380, 0.880, -20], 
		      [3027, 0.600, -20]	],
		     
		   [  [ 770, 0.950,   0],       // ahh (father)
		      [1153, 0.970,  -9],
		      [2450, 0.780, -29],
		      [3140, 0.800, -39]	],
		   [  [ 637, 0.910,   0],       // aww (bought)
		      [ 895, 0.900,  -3],
		      [2556, 0.950, -17],
		      [3070, 0.910, -20]	],
		   [  [ 637, 0.910,   0],       // ohh (bone)  NOTE::  same as aww (bought)
		      [ 895, 0.900,  -3],
		      [2556, 0.950, -17],
		      [3070, 0.910, -20]	],
		   [  [ 561, 0.965,   0],       // uhh (but)
		      [1084, 0.930, -10], 
		      [2541, 0.930, -15], 
		      [3345, 0.900, -20]	],
		    
		   [  [ 515, 0.976,   0],       // uuu (foot)
		      [1031, 0.950,  -3],
		      [2572, 0.960, -11],
		      [3345, 0.960, -20]	],
		   [  [ 349, 0.986, -10],       // ooo (boot)
		      [ 918, 0.940, -20],
		      [2350, 0.960, -27],
		      [2731, 0.950, -33]	],
		   [  [ 394, 0.959, -10],       // rrr (bird)
		      [1297, 0.780, -16],
		      [1441, 0.980, -16],
		      [2754, 0.950, -40]	],
		   [  [ 462, 0.990,   5],       // lll (lull)
		      [1200, 0.640, -10],
		      [2500, 0.200, -20],
		      [3000, 0.100, -30]	],
		     
		   [  [ 265, 0.987, -10],       // mmm (mom)
		      [1176, 0.940, -22],
		      [2352, 0.970, -20],
		      [3277, 0.940, -31]	],
		   [  [ 204, 0.980, -10],       // nnn (nun)
		      [1570, 0.940, -15],
		      [2481, 0.980, -12],
		      [3133, 0.800, -30]	],
		   [  [ 204, 0.980, -10],       // nng (sang)    NOTE:: same as nnn
		      [1570, 0.940, -15],
		      [2481, 0.980, -12],
		      [3133, 0.800, -30]	],
		   [  [ 204, 0.980, -10],       // ngg (bong)    NOTE:: same as nnn
		      [1570, 0.940, -15],
		      [2481, 0.980, -12],
		      [3133, 0.800, -30]	],
		     
		   [  [1000, 0.300,   0],       // fff
		      [2800, 0.860, -10],
		      [7425, 0.740,   0],
		      [8140, 0.860,   0]	],
		   [  [0,    0.000,   0],       // sss
		      [2000, 0.700, -15],
		      [5257, 0.750,  -3], 
		      [7171, 0.840,   0]	],
		   [  [ 100, 0.900,   0],       // thh
		      [4000, 0.500, -20],
		      [5500, 0.500, -15],
		      [8000, 0.400, -20]	],
		   [  [2693, 0.940,   0],       // shh
		      [4000, 0.720, -10],
		      [6123, 0.870, -10],
		      [7755, 0.750, -18]	],
		
		   [  [1000, 0.300, -10],       // xxx           NOTE:: Not Really Done Yet
		      [2800, 0.860, -10],
		      [7425, 0.740,   0],
		      [8140, 0.860,   0]	],
		   [  [ 273, 0.996, -40],       // hee (beet)    (noisy eee)
		      [2086, 0.945, -16], 
		      [2754, 0.979, -12], 
		      [3270, 0.440, -17]	],
		   [  [ 349, 0.986, -40],       // hoo (boot)    (noisy ooo)
		      [ 918, 0.940, -10],
		      [2350, 0.960, -17],
		      [2731, 0.950, -23]	],
		   [  [ 770, 0.950, -40],       // hah (father)  (noisy ahh)
		      [1153, 0.970,  -3],
		      [2450, 0.780, -20],
		      [3140, 0.800, -32]	],
		     
		   [  [2000, 0.700, -20],       // bbb           NOTE:: Not Really Done Yet
		      [5257, 0.750, -15],
		      [7171, 0.840,  -3], 
		      [9000, 0.900,   0]	],
		   [  [ 100, 0.900,   0],       // ddd           NOTE:: Not Really Done Yet
		      [4000, 0.500, -20],
		      [5500, 0.500, -15],
		      [8000, 0.400, -20]	],
		   [  [2693, 0.940,   0],       // jjj           NOTE:: Not Really Done Yet
		      [4000, 0.720, -10],
		      [6123, 0.870, -10],
		      [7755, 0.750, -18]	],
		   [  [2693, 0.940,   0],       // ggg           NOTE:: Not Really Done Yet
		      [4000, 0.720, -10],
		      [6123, 0.870, -10],
		      [7755, 0.750, -18]	],
		     
		   [  [2000, 0.700, -20],       // vvv           NOTE:: Not Really Done Yet
		      [5257, 0.750, -15],
		      [7171, 0.840,  -3], 
		      [9000, 0.900,   0]	],
		   [  [ 100, 0.900,   0],       // zzz           NOTE:: Not Really Done Yet
		      [4000, 0.500, -20],
		      [5500, 0.500, -15],
		      [8000, 0.400, -20]	],
		   [  [2693, 0.940,   0],       // thz           NOTE:: Not Really Done Yet
		      [4000, 0.720, -10],
		      [6123, 0.870, -10],
		      [7755, 0.750, -18]	],
		   [  [2693, 0.940,   0],       // zhh           NOTE:: Not Really Done Yet
		      [4000, 0.720, -10],
		      [6123, 0.870, -10],
		      [7755, 0.750, -18]	]
		]
	}
	
}


Link to this Page