Stephen Roddy

Logo

ORCIDResearch GateGoogle Scholar LinkedIn GithubBandCamp

“An experimental composer from Ireland, Stephen Roddy proves equally adept at crushing soundscapes as he does mysterious melodies.”

- Bandcamp New & Notable, March 2022.

Academic Resume
Research Projects
Sound & Music
Linktree

<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-+rtaudio
-iadc0 -odac0 -B512 -b128

; For Non-realtime ouput leave only the line below:
; -o fof.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>


sr = 44100
;kr = 4800
ksmps = 32 ;64  
nchnls = 2
0dbfs = 32767

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STEREO SPACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 	

 ;================================================
/* Explanation of Original Room Dimensions from Istvan Varga

		1= enable wall,
		2= distance from lsitener,
		3= randomisation of wall distance,
		4= Reflection Level,(-1 to 1)
		5= Para Eq Freq in HZ
		6= Para EQ level (1.0 = no filtering)
		7= Para EQ Q
		8= Para EQ Mode


	     ;1	;2  ;3   ;4     ;5    ;6    ;7  ;8
		1, 21.982, 0.05, 0.87, 4000.0, 0.6, 0.7, 2, /* ceil  */

itmp    ftgen   7, 0, 64, -2,                                           \
		/* depth1, depth2, max delay, IR length, idist, seed */ \
		1, 48, -1, 0.01, 0.25, 123,                          \
		1, 21.982, 0.05, 0.97, 4000.0, 0.6, 0.7, 2, /* ceil  */ \
		1,  6.753, 0.05, 0.97, 3500.0, 0.5, 0.7, 2, /* floor */ \
		1, 15.220, 0.05, 0.97, 5000.0, 0.8, 0.7, 2, /* front */ \
		1,  9.317, 0.05, 0.97, 5000.0, 0.8, 0.7, 2, /* back  */ \
		1, 17.545, 0.05, 0.97, 5000.0, 0.8, 0.7, 0, /* right */ \
		1, 12.156, 0.05, 0.97, 5000.0, 0.8, 0.7, 0  /* left  */

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STEREO SPACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 	


;;;;;;;;;;;;;;;;;;;;;;
;;;;VOCAL TIMBRES;;;;; 	
;;;;;;;;;;;;;;;;;;;;;;

;BASS                           
	giBssFrqA ftgen 5, 0, -5, -2, 600, 1040, 2250, 2450, 2750    ;A
	giBssFrqE ftgen 6, 0, -5, -2, 400, 1620, 2400, 2800, 3100    ;E
	giBssFrqI ftgen 7, 0, -5, -2, 250, 1750, 2600, 3050, 3340
	giBssFrqO ftgen 8, 0, -5, -2, 400,   750, 2400, 2600, 2900
	giBssFrqU ftgen 9, 0, -5, -2, 350,   600, 2400, 2675, 2950

 ; -5 declares the size of the table. 5places
 ; -2 Prevents Csound from normalising number			

	giBssAmpA ftgen 10, 0, -5, -2,   0,   -7,   -9,   -9, -20     ;A
	giBssAmpE ftgen 11, 0, -5, -2,   0, -12,  -9,  -12, -18     ;E
	giBssAmpI ftgen 12, 0, -5, -2,   0, -30, -16, -22, -28      ;I
	giBssAmpO ftgen 13, 0, -5, -2,   0, -11, -21, -20, -40    ;O
	giBssAmpU ftgen 14, 0, -5, -2,   0, -20, -32, -28, -36    ;U


	giBssBndA ftgen 15, 0, -5, -2,  60,  70,  110,  120,  130   ;A
	giBssBndE ftgen 16, 0, -5, -2,  40,  80,  100,  120,  120   ;E
	giBssBndI ftgen 17, 0, -5, -2,  60,  90,  100,  120,  120  ;I
	giBssBndO ftgen 18, 0, -5, -2,  40,  80,  100,  120,  120  ;O
	giBssBndU ftgen 19, 0, -5, -2,  40, 80,   100,  120,  120  ;U

;TENOR
	giTnrFrqA ftgen 20, 0, -5, -2,  650,  1080,  2650,  2900,  3250
	giTnrFrqE ftgen 21, 0, -5, -2,  400,  1700,  2600,  3200,  3580
	giTnrFrqI ftgen 22, 0, -5, -2,  290,  1870,  2800,  3250,  3540
	giTnrFrqO ftgen 23, 0, -5, -2,  400,    800,  2600,  2800,  3000
	giTnrFrqU ftgen 24, 0, -5, -2,  350,    600,  2700,  2900,  3300

	giTnrAmpA ftgen 25, 0, -5, -2,   0,   -6,   -7,   -8,   -22
	giTnrAmpE ftgen 26, 0, -5, -2,   0,  -14, -12, -14,  -20
	giTnrAmpI ftgen 27, 0, -5, -2,   0,  -15, -18, -20,  -30
	giTnrAmpO ftgen 28, 0, -5, -2,   0,  -10, -12, -12,  -26
	giTnrAmpU ftgen 29, 0, -5, -2,   0,  -20, -17, -14,  -26

	giTnrBndA ftgen 30, 0, -5, -2,  80,  90,  120,  130,  140
	giTnrBndE ftgen 31, 0, -5, -2,  70,  80,  100,  120,  120
	giTnrBndI ftgen 32, 0, -5, -2,   40,  90, 100, 120,  120
	giTnrBnDO ftgen 33, 0, -5, -2,   70,   80, 100, 130,  135
	giTnrBndU ftgen 34, 0, -5, -2,   40,   60, 100, 120,  120



;COUNTER TENOR
	giCnTnFA ftgen 35, 0, -5, -2,  660,  1120,  2750, 3000,  3350
	giCnTnFE ftgen 36, 0, -5, -2,  440,  1800,  2700, 3000,  3300
	giCnTnFI ftgen 37, 0, -5, -2,  270,  1850,  2900, 3350,  3590
	giCnTnFO ftgen 38, 0, -5, -2,  430,    820,  2700, 3000,  3300
	giCnTnFU ftgen 39, 0, -5, -2,  370,    630,  2750, 3000,  4950


	giCnTnAmpA ftgen 40, 0, -5, -2,   0,	 -6,  -23,  -24,  -38
	giCnTnAmpE ftgen 41, 0, -5, -2, -6,   -14, -24,  -10,  -20
	giCnTnAmpI ftgen 42, 0, -5, -2,   0,	-24, -24,  -36,  -36
	giCnTnAmpO ftgen 43, 0, -5, -2,   0,	-10, -26,  -22,  -34
	giCnTnAmpU ftgen 44, 0, -5, -2,   0,	-20, -23,  -30,   -34



	giCnTnBndA ftgen 45, 0, -5, -2, 80,	90,	120,	130,	140
	giCnTnBndE ftgen 46, 0, -5, -2, 70,	80,	100,	120,	120
	giCnTnBndI ftgen 47, 0, -5, -2, 40,	90,	100,	120,	120
	giCnTnBndO ftgen 48, 0, -5, -2, 40,	80,	100,	120,	120
	giCnTnBndU ftgen 49, 0, -5, -2, 40,	60,	100,	120,	120

;ALTO
	giAltFA ftgen 50, 0, -5, -2,  800,	1150,	2800,	3500,	4950
	giAltFE ftgen 51, 0, -5, -2, 400,	1600,	2700,	3300,	4950
	giAltFI ftgen 52, 0, -5, -2, 350,	1700,	2700,	3700,	4950
	giAltFO ftgen 53, 0, -5, -2, 450,	800,	2830,	3500,	4950
	giAltFU ftgen 54, 0, -5, -2, 325,	700,	2530,	3500,	4950


	giAltAmpA ftgen 55, 0, -5, -2, 0,	-4,	-20,	-36,	-60
	giAltAmpE ftgen 56, 0, -5, -2, 0,	-24,	-30,	-35,	-60
	giAltAmpI ftgen 57, 0, -5, -2, 0,	-20,	-30,	-36,	-60
	giAltAmpO ftgen 58, 0, -5, -2, 0,	-9,	-16,	-28,	-55
	giAltAmpU ftgen 59, 0, -5, -2, 0,	-12,	-30,	-40,	-64


	giABndA ftgen 60, 0, -5, -2, 80,	90,	120,	130,	140
	giABndE ftgen 61, 0, -5, -2, 60,	80,	120,	150,	200
	giABndI ftgen 62, 0, -5, -2, 50,	100,	120,	150,	200
	giABndO ftgen 63, 0, -5, -2, 70,	80,	100,	130,	135
	giABndU ftgen 64, 0, -5, -2, 50,	60,	170,	180,	200


;SOPRANO
	giSoFrqA ftgen 65, 0, -5, -2, 800,	1150,	2900,	3900,	4950
	giSoFrqE ftgen 66, 0, -5, -2, 350,	2000,	2800,	3600,	4950
	giSoFrqI ftgen 67, 0, -5, -2, 270,	2140,	2950,	3900,	4950
	giSoFrqO ftgen 68, 0, -5, -2, 450,	 800, 2830,	3800,	4950
	giSoFrqU ftgen 69, 0, -5, -2, 325,	 700, 2700,	3800,	4950

	giSoAmpA ftgen 70, 0, -5, -2,   0,	-6,	-32,	-20,	-50
	giSoAmpE ftgen 71, 0, -5, -2,   0,	-20,	-15,	-40,	-56
	giSoAmpI ftgen 72, 0, -5, -2,   0,	-12,	-26,	-26,	-44
	giSoAmpO ftgen 73, 0, -5, -2,   0,	-11,	-22,	-22,	-50
	giSoAmpU ftgen 74, 0, -5, -2,   0,	-16,	-35,	-40,	-60

	giSoBndA ftgen 75, 0, -5, -2,  80,	90,	120,	130,	140
	giSoBndE ftgen 76, 0, -5, -2,  60,	100,	120,	150,	200
	giSoBndI ftgen 77, 0, -5, -2,   60,	90,	100,	120,	120
	giSoBndO ftgen 78, 0, -5, -2,  40,	80,	100,	120,	120
	giSoBndU ftgen 79, 0, -5, -2,  50,	60,	170,	180,	200

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;DATA-SET STORAGE;;;;; 	
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;DATA-SET INPUT
							;Data
		;giPX ftgen 0, 0, -18, -2,          0,0,92,80,42,36,49,43,33,47,110,48,52,23,52,140

;Don't forget to put in the Hi abnd Lo for the Data!


		giPX ftgen 0, 0, -18, -2,          0,0,0,3,2,3977,3435,546,597,647,794,565,517,486,526,610,663,1004,1303


 ; -5 declares the size of the table. 5places
 ; -2 Prevents Csound from normalising number			





instr 1  ; Data Processing

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DATA PROCESSIG MODULE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

/* IN ORDER TO SONIFY THE DATA MUST FIRST ANALYSE IT FOR HIGH AND LOW POINTS |AND ENTER HERE*/

giDatHi = 4000
giDatLo = 0


/* Vowel and Extent Options*/
	giVowelA = p6
	giVowelB = p7

	gkExMin	 = p8/100
	gkExMax	 = p9/100  

	gkExtent = gkExMin-gkExMax


	  giVoxA init p11    ;Vocal Types take in from Score
	  giVoxB init p12		


/*_________________________________*/		    

    ;;;;;READ IN DATA FROM AN F-TABLE

	giDatReadRate = p3

	iDatLen ftlen giPX           ;Takes the length of the data set for use in the data reading line generator.
	gkDatRead line 0, giDatReadRate, iDatLen

	gkDatIn tablei gkDatRead,    giPX



;**************************************************************************************
	;SCALING FUNCTION FOR NON P-FIELD DATA (gkNonPD)
	;Scaling of incoming Data for Mode 1

gkDatIn line 0, p3, 4000

giDatHi  = 4000

giDatLo = 0


	gkDataInScaled = ((100)*(gkDatIn))/(giDatHi - giDatLo) ;Scales the data in the range 0-100



printk 0,gkDataInScaled

	if		(p10 == 1) then		; Selects the mapping mode
      	kx = gkDataInScaled ; scaled data represented in model by kx


     elseif 	(p10 == 2) then     
      	kx = gkDatIn ; scaled data represented in model by kx

	endif

;data outtake
	gkSpatData    = kx
	gkx 	            = kx

endin

instr 2  ; Vowel Determination Instrument

; data intake
	kx= gkx

;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;VOWEL 1;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;




if		(giVowelA == 1  &&  giVoxA == 1) then		;U



		;;U Bass FREQUENEY ;;

		kFrqA1 table 0, 9		
		kFrqA2 table 1, 9      
		kFrqA3 table 2, 9	       
		kFrqA4 table 3, 9	        
		kFrqA5 table 4, 9

		;;U Bass AMPLITUDE;;

		kAmpA1 table 0, 14
		kAmpA2 table 1, 14
		kAmpA3 table 2, 14
		kAmpA4 table 3, 14
		kAmpA5 table 4, 14


		;;U Bass BANDWIDTH ;;

		kBndA1 table 0, 19
		kBndA2 table 1, 19
		kBndA3 table 2, 19
		kBndA4 table 3, 19
		kBndA5 table 4, 19


	elseif (giVowelA == 1 && giVoxA == 2) then		;U



		;;U Ten FREQUENEY ;;

		kFrqA1 table 0, 24		
		kFrqA2 table 1, 24     
		kFrqA3 table 2, 24	       
		kFrqA4 table 3, 24	        
		kFrqA5 table 4, 24

		;;U Ten AMPLITUDE;;

		kAmpA1 table 0, 29
		kAmpA2 table 1, 29
		kAmpA3 table 2, 29
		kAmpA4 table 3, 29
		kAmpA5 table 4, 29


		;;U Ten BANDWIDTH ;;

		kBndA1 table 0, 34
		kBndA2 table 1, 34
		kBndA3 table 2, 34
		kBndA4 table 3, 34
		kBndA5 table 4, 34



	elseif	(giVowelA == 1 && giVoxA == 3) then		;U



		;;U CounTen FREQUENEY ;;

		kFrqA1 table 0, 39		
		kFrqA2 table 1, 39     
		kFrqA3 table 2, 39	       
		kFrqA4 table 3, 39	        
		kFrqA5 table 4, 39

		;;U CounTen AMPLITUDE;;

		kAmpA1 table 0, 44
		kAmpA2 table 1, 44
		kAmpA3 table 2, 44
		kAmpA4 table 3, 44
		kAmpA5 table 4, 44


		;;U CounTen BANDWIDTH ;;

		kBndA1 table 0, 49
		kBndA2 table 1, 49
		kBndA3 table 2, 49
		kBndA4 table 3, 49
		kBndA5 table 4, 49


	elseif (giVowelA == 1 && giVoxA == 4) then		;U



		;;U Alto FREQUENEY ;;

		kFrqA1 table 0, 54		
		kFrqA2 table 1, 54     
		kFrqA3 table 2, 54	       
		kFrqA4 table 3, 54	        
		kFrqA5 table 4, 54

		;;U Alto AMPLITUDE;;

		kAmpA1 table 0, 59
		kAmpA2 table 1, 59
		kAmpA3 table 2, 59
		kAmpA4 table 3, 59
		kAmpA5 table 4, 59


		;;U Alto BANDWIDTH ;;

		kBndA1 table 0, 64
		kBndA2 table 1, 64
		kBndA3 table 2, 64
		kBndA4 table 3, 64
		kBndA5 table 4, 64



	   elseif (giVowelA == 1 && giVoxA == 5) then		;U



		;;U Soprano FREQUENEY ;;

		kFrqA1 table 0, 69		
		kFrqA2 table 1, 69     
		kFrqA3 table 2, 69	       
		kFrqA4 table 3, 69	        
		kFrqA5 table 4, 69

		;;U Soprano AMPLITUDE;;

		kAmpA1 table 0, 74
		kAmpA2 table 1, 74
		kAmpA3 table 2, 74
		kAmpA4 table 3, 74
		kAmpA5 table 4, 74


		;;U Soprano BANDWIDTH ;;

		kBndA1 table 0, 79
		kBndA2 table 1, 79
		kBndA3 table 2, 79
		kBndA4 table 3, 79
		kBndA5 table 4, 79



elseif		(giVowelA == 2  &&  giVoxA == 1) then		;A



		;;A Bass FREQUENEY ;;

		kFrqA1 table 0, 5		
		kFrqA2 table 1, 5      
		kFrqA3 table 2, 5	       
		kFrqA4 table 3, 5	        
		kFrqA5 table 4, 5

		;;A Bass AMPLITUDE;;

		kAmpA1 table 0, 10
		kAmpA2 table 1, 10
		kAmpA3 table 2, 10
		kAmpA4 table 3, 10
		kAmpA5 table 4, 10


		;;A Bass BANDWIDTH ;;

		kBndA1 table 0, 15
		kBndA2 table 1, 15
		kBndA3 table 2, 15
		kBndA4 table 3, 15
		kBndA5 table 4, 15


elseif		(giVowelA == 2 && giVoxA == 2) then		;A



		;;A Ten FREQUENEY ;;

		kFrqA1 table 0, 20
		kFrqA2 table 1, 20     
		kFrqA3 table 2, 20	       
		kFrqA4 table 3, 20        
		kFrqA5 table 4, 20

		;;A Ten AMPLITUDE;;

		kAmpA1 table 0, 25
		kAmpA2 table 1, 25
		kAmpA3 table 2, 25
		kAmpA4 table 3, 25
		kAmpA5 table 4, 25


		;;A Ten BANDWIDTH ;;

		kBndA1 table 0, 30
		kBndA2 table 1, 30
		kBndA3 table 2, 30
		kBndA4 table 3, 30
		kBndA5 table 4, 30



elseif		(giVowelA == 2 && giVoxA == 3) then		;A



		;;A CounTen FREQUENEY ;;

		kFrqA1 table 0, 35
		kFrqA2 table 1, 35     
		kFrqA3 table 2, 35	       
		kFrqA4 table 3, 35	        
		kFrqA5 table 4, 35

		;;A CounTen AMPLITUDE;;

		kAmpA1 table 0, 40
		kAmpA2 table 1, 40
		kAmpA3 table 2, 40
		kAmpA4 table 3, 40
		kAmpA5 table 4, 40


		;;A CounTen BANDWIDTH ;;

		kBndA1 table 0, 45
		kBndA2 table 1, 45
		kBndA3 table 2, 45
		kBndA4 table 3, 45
		kBndA5 table 4, 45


   elseif		(giVowelA == 2 && giVoxA == 4) then		



		;;A Alto FREQUENEY ;;

		kFrqA1 table 0, 50
		kFrqA2 table 1, 50    
		kFrqA3 table 2, 50	       
		kFrqA4 table 3, 50	        
		kFrqA5 table 4, 50

		;;A Alto AMPLITUDE;;

		kAmpA1 table 0, 55
		kAmpA2 table 1, 55
		kAmpA3 table 2, 55
		kAmpA4 table 3, 55
		kAmpA5 table 4, 55


		;;A Alto BANDWIDTH ;;

		kBndA1 table 0, 60
		kBndA2 table 1, 60
		kBndA3 table 2, 60
		kBndA4 table 3, 60
		kBndA5 table 4, 60



   elseif		(giVowelA == 2 && giVoxA == 5) then		;A



		;;A Soprano FREQUENEY ;;

		kFrqA1 table 0, 65
		kFrqA2 table 1, 65   
		kFrqA3 table 2, 65	       
		kFrqA4 table 3, 65	        
		kFrqA5 table 4, 65

		;;A Soprano AMPLITUDE;;

		kAmpA1 table 0, 70
		kAmpA2 table 1, 70
		kAmpA3 table 2, 70
		kAmpA4 table 3, 70
		kAmpA5 table 4, 70


		;;A Soprano BANDWIDTH ;;

		kBndA1 table 0, 75
		kBndA2 table 1, 75
		kBndA3 table 2, 75
		kBndA4 table 3, 75
		kBndA5 table 4, 75

;;;FROM HERE

elseif		(giVowelA == 3  &&  giVoxA == 1) then		;O



		;;O Bass FREQUENEY ;;

		kFrqA1 table 0, 8		
		kFrqA2 table 1, 8      
		kFrqA3 table 2, 8	       
		kFrqA4 table 3, 8	        
		kFrqA5 table 4, 8

		;;O Bass AMPLITUDE;;

		kAmpA1 table 0, 13
		kAmpA2 table 1, 13
		kAmpA3 table 2, 13
		kAmpA4 table 3, 13
		kAmpA5 table 4, 13


		;;O Bass BANDWIDTH ;;

		kBndA1 table 0, 18
		kBndA2 table 1, 18
		kBndA3 table 2, 18
		kBndA4 table 3, 18
		kBndA5 table 4, 18


	elseif (giVowelA == 3 && giVoxA == 2) then		;O



		;;O Ten FREQUENEY ;;

		kFrqA1 table 0, 23
		kFrqA2 table 1, 23     
		kFrqA3 table 2, 23	       
		kFrqA4 table 3, 23	        
		kFrqA5 table 4, 23

		;;O Ten AMPLITUDE;;

		kAmpA1 table 0, 28
		kAmpA2 table 1, 28
		kAmpA3 table 2, 28
		kAmpA4 table 3, 28
		kAmpA5 table 4, 28


		;;O Ten BANDWIDTH ;;

		kBndA1 table 0, 33
		kBndA2 table 1, 33
		kBndA3 table 2, 33
		kBndA4 table 3, 33
		kBndA5 table 4, 33



	elseif	(giVowelA == 3 && giVoxA == 3) then		;O



		;;O CounTen FREQUENEY ;;

		kFrqA1 table 0, 38
		kFrqA2 table 1, 38     
		kFrqA3 table 2, 38	       
		kFrqA4 table 3, 38	        
		kFrqA5 table 4, 38

		;;O CounTen AMPLITUDE;;

		kAmpA1 table 0, 43
		kAmpA2 table 1, 43
		kAmpA3 table 2, 43
		kAmpA4 table 3, 43
		kAmpA5 table 4, 43


		;;O CounTen BANDWIDTH ;;

		kBndA1 table 0, 48
		kBndA2 table 1, 48
		kBndA3 table 2, 48
		kBndA4 table 3, 48
		kBndA5 table 4, 48


	elseif (giVowelA == 3 && giVoxA == 4) then		;O


		;;O Alto FREQUENEY ;;

		kFrqA1 table 0, 53
		kFrqA2 table 1, 53    
		kFrqA3 table 2, 53	       
		kFrqA4 table 3, 53	        
		kFrqA5 table 4, 53

		;;O Alto AMPLITUDE;;

		kAmpA1 table 0, 58
		kAmpA2 table 1, 58
		kAmpA3 table 2, 58
		kAmpA4 table 3, 58
		kAmpA5 table 4, 58


		;;O Alto BANDWIDTH ;;

		kBndA1 table 0, 63
		kBndA2 table 1, 63
		kBndA3 table 2, 63
		kBndA4 table 3, 63
		kBndA5 table 4, 63



	   elseif (giVowelA == 3 && giVoxA == 5) then		;O



		;;O Soprano FREQUENEY ;;

		kFrqA1 table 0, 68
		kFrqA2 table 1, 68    
		kFrqA3 table 2, 68	       
		kFrqA4 table 3, 68	        
		kFrqA5 table 4, 68

		;;O Soprano AMPLITUDE;;

		kAmpA1 table 0, 73
		kAmpA2 table 1, 73
		kAmpA3 table 2, 73
		kAmpA4 table 3, 73
		kAmpA5 table 4, 73


		;;O Soprano BANDWIDTH ;;

		kBndA1 table 0, 78
		kBndA2 table 1, 78
		kBndA3 table 2, 78
		kBndA4 table 3, 78
		kBndA5 table 4, 78



elseif		(giVowelA == 4  &&  giVoxA == 1) then		;I



		;;I Bass FREQUENEY ;;

		kFrqA1 table 0, 7		
		kFrqA2 table 1, 7      
		kFrqA3 table 2, 7	       
		kFrqA4 table 3, 7	        
		kFrqA5 table 4, 7

		;;I Bass AMPLITUDE;;

		kAmpA1 table 0, 12
		kAmpA2 table 1, 12
		kAmpA3 table 2, 12
		kAmpA4 table 3, 12
		kAmpA5 table 4, 12


		;;I Bass BANDWIDTH ;;

		kBndA1 table 0, 17
		kBndA2 table 1, 17
		kBndA3 table 2, 17
		kBndA4 table 3, 17
		kBndA5 table 4, 17


elseif		(giVowelA == 4 && giVoxA == 2) then		;I



		;;I Ten FREQUENEY ;;

		kFrqA1 table 0, 22
		kFrqA2 table 1, 22     
		kFrqA3 table 2, 22	       
		kFrqA4 table 3, 22        
		kFrqA5 table 4, 22

		;;I Ten AMPLITUDE;;

		kAmpA1 table 0, 27
		kAmpA2 table 1, 27
		kAmpA3 table 2, 27
		kAmpA4 table 3, 27
		kAmpA5 table 4, 27


		;;I Ten BANDWIDTH ;;

		kBndA1 table 0, 32
		kBndA2 table 1, 32
		kBndA3 table 2, 32
		kBndA4 table 3, 32
		kBndA5 table 4, 32



elseif		(giVowelA == 4 && giVoxA == 3) then		;I



		;;I CounTen FREQUENEY ;;

		kFrqA1 table 0, 37
		kFrqA2 table 1, 37     
		kFrqA3 table 2, 37	       
		kFrqA4 table 3, 37	        
		kFrqA5 table 4, 37

		;;I CounTen AMPLITUDE;;

		kAmpA1 table 0, 42
		kAmpA2 table 1, 42
		kAmpA3 table 2, 42
		kAmpA4 table 3, 42
		kAmpA5 table 4, 42


		;;I CounTen BANDWIDTH ;;

		kBndA1 table 0, 47
		kBndA2 table 1, 47
		kBndA3 table 2, 47
		kBndA4 table 3, 47
		kBndA5 table 4, 47


   elseif		(giVowelA == 4 && giVoxA == 4) then		



		;;I Alto FREQUENEY ;;

		kFrqA1 table 0, 52
		kFrqA2 table 1, 52    
		kFrqA3 table 2, 52	       
		kFrqA4 table 3, 52	        
		kFrqA5 table 4, 52

		;;I Alto AMPLITUDE;;

		kAmpA1 table 0, 57
		kAmpA2 table 1, 57
		kAmpA3 table 2, 57
		kAmpA4 table 3, 57
		kAmpA5 table 4, 57


		;;I Alto BANDWIDTH ;;

		kBndA1 table 0, 62
		kBndA2 table 1, 62
		kBndA3 table 2, 62
		kBndA4 table 3, 62
		kBndA5 table 4, 62



   elseif		(giVowelA == 4 && giVoxA == 5) then		;I



		;;I Soprano FREQUENEY ;;

		kFrqA1 table 0, 67
		kFrqA2 table 1, 67   
		kFrqA3 table 2, 67	       
		kFrqA4 table 3, 67	        
		kFrqA5 table 4, 67

		;;I Soprano AMPLITUDE;;

		kAmpA1 table 0, 72
		kAmpA2 table 1, 72
		kAmpA3 table 2, 72
		kAmpA4 table 3, 72
		kAmpA5 table 4, 72


		;;I Soprano BANDWIDTH ;;

		kBndA1 table 0, 77
		kBndA2 table 1, 77
		kBndA3 table 2, 77
		kBndA4 table 3, 77
		kBndA5 table 4, 77





;;FROM HERE YO!

elseif		(giVowelA == 5  &&  giVoxA == 1) then		;E



		;;E Bass FREQUENEY ;;

		kFrqA1 table 0, 6		
		kFrqA2 table 1, 6      
		kFrqA3 table 2, 6	       
		kFrqA4 table 3, 6	        
		kFrqA5 table 4, 6

		;;E Bass AMPLITUDE;;

		kAmpA1 table 0, 11
		kAmpA2 table 1, 11
		kAmpA3 table 2, 11
		kAmpA4 table 3, 11
		kAmpA5 table 4, 11


		;;E Bass BANDWIDTH ;;

		kBndA1 table 0, 16
		kBndA2 table 1, 16
		kBndA3 table 2, 16
		kBndA4 table 3, 16
		kBndA5 table 4, 16


elseif		(giVowelA == 5 && giVoxA == 2) then		;E



		;;E Ten FREQUENEY ;;

		kFrqA1 table 0, 21
		kFrqA2 table 1, 21     
		kFrqA3 table 2, 21	       
		kFrqA4 table 3, 21        
		kFrqA5 table 4, 21

		;;E Ten AMPLITUDE;;

		kAmpA1 table 0, 26
		kAmpA2 table 1, 26
		kAmpA3 table 2, 26
		kAmpA4 table 3, 26
		kAmpA5 table 4, 26


		;;E Ten BANDWIDTH ;;

		kBndA1 table 0, 31
		kBndA2 table 1, 31
		kBndA3 table 2, 31
		kBndA4 table 3, 31
		kBndA5 table 4, 31



elseif		(giVowelA == 5 && giVoxA == 3) then		;E



		;;E CounTen FREQUENEY ;;

		kFrqA1 table 0, 36
		kFrqA2 table 1, 36     
		kFrqA3 table 2, 36	       
		kFrqA4 table 3, 36	        
		kFrqA5 table 4, 36

		;;E CounTen AMPLITUDE;;

		kAmpA1 table 0, 41
		kAmpA2 table 1, 41
		kAmpA3 table 2, 41
		kAmpA4 table 3, 41
		kAmpA5 table 4, 41


		;;E CounTen BANDWIDTH ;;

		kBndA1 table 0, 46
		kBndA2 table 1, 46
		kBndA3 table 2, 46
		kBndA4 table 3, 46
		kBndA5 table 4, 46


   elseif		(giVowelA == 5 && giVoxA == 4) then		



		;;E Alto FREQUENEY ;;

		kFrqA1 table 0, 51
		kFrqA2 table 1, 51    
		kFrqA3 table 2, 51	       
		kFrqA4 table 3, 51	        
		kFrqA5 table 4, 51

		;;E Alto AMPLITUDE;;

		kAmpA1 table 0, 56
		kAmpA2 table 1, 56
		kAmpA3 table 2, 56
		kAmpA4 table 3, 56
		kAmpA5 table 4, 56


		;;E Alto BANDWIDTH ;;

		kBndA1 table 0, 61
		kBndA2 table 1, 61
		kBndA3 table 2, 61
		kBndA4 table 3, 61
		kBndA5 table 4, 61


   elseif		(giVowelA == 5 && giVoxA == 5) then		;E



		;;E Soprano FREQUENEY ;;

		kFrqA1 table 0, 66
		kFrqA2 table 1, 66   
		kFrqA3 table 2, 66	       
		kFrqA4 table 3, 66	        
		kFrqA5 table 4, 66

		;;E Soprano AMPLITUDE;;

		kAmpA1 table 0, 71
		kAmpA2 table 1, 71
		kAmpA3 table 2, 71
		kAmpA4 table 3, 71
		kAmpA5 table 4, 71


		;;E Soprano BANDWIDTH ;;

		kBndA1 table 0, 76
		kBndA2 table 1, 76
		kBndA3 table 2, 76
		kBndA4 table 3, 76
		kBndA5 table 4, 76

endif
;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;VOWEL 2;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;
if		(giVowelB == 1  &&  giVoxB == 1) then		;U



		;;U Bass FREQUENEY ;;

		kFrqB1 table 0, 9		
		kFrqB2 table 1, 9      
		kFrqB3 table 2, 9	       
		kFrqB4 table 3, 9	        
		kFrqB5 table 4, 9

		;;U Bass AMPLITUDE;;

		kAmpB1 table 0, 14
		kAmpB2 table 1, 14
		kAmpB3 table 2, 14
		kAmpB4 table 3, 14
		kAmpB5 table 4, 14


		;;U Bass BANDWIDTH ;;

		kBndB1 table 0, 19
		kBndB2 table 1, 19
		kBndB3 table 2, 19
		kBndB4 table 3, 19
		kBndB5 table 4, 19


	elseif (giVowelB == 1 && giVoxB == 2) then		;U



		;;U Ten FREQUENEY ;;

		kFrqB1 table 0, 24		
		kFrqB2 table 1, 24     
		kFrqB3 table 2, 24	       
		kFrqB4 table 3, 24	        
		kFrqB5 table 4, 24

		;;U Ten AMPLITUDE;;

		kAmpB1 table 0, 29
		kAmpB2 table 1, 29
		kAmpB3 table 2, 29
		kAmpB4 table 3, 29
		kAmpB5 table 4, 29


		;;U Ten BANDWIDTH ;;

		kBndB1 table 0, 34
		kBndB2 table 1, 34
		kBndB3 table 2, 34
		kBndB4 table 3, 34
		kBndB5 table 4, 34



	elseif	(giVowelB == 1 && giVoxB == 3) then		;U



		;;U CounTen FREQUENEY ;;

		kFrqB1 table 0, 39		
		kFrqB2 table 1, 39     
		kFrqB3 table 2, 39	       
		kFrqB4 table 3, 39	        
		kFrqB5 table 4, 39

		;;U CounTen AMPLITUDE;;

		kAmpB1 table 0, 44
		kAmpB2 table 1, 44
		kAmpB3 table 2, 44
		kAmpB4 table 3, 44
		kAmpB5 table 4, 44


		;;U CounTen BANDWIDTH ;;

		kBndB1 table 0, 49
		kBndB2 table 1, 49
		kBndB3 table 2, 49
		kBndB4 table 3, 49
		kBndB5 table 4, 49


	elseif (giVowelB == 1 && giVoxB == 4) then		;U



		;;U Alto FREQUENEY ;;

		kFrqB1 table 0, 54		
		kFrqB2 table 1, 54     
		kFrqB3 table 2, 54	       
		kFrqB4 table 3, 54	        
		kFrqB5 table 4, 54

		;;U Alto AMPLITUDE;;

		kAmpB1 table 0, 59
		kAmpB2 table 1, 59
		kAmpB3 table 2, 59
		kAmpB4 table 3, 59
		kAmpB5 table 4, 59


		;;U Alto BANDWIDTH ;;

		kBndB1 table 0, 64
		kBndB2 table 1, 64
		kBndB3 table 2, 64
		kBndB4 table 3, 64
		kBndB5 table 4, 64



	   elseif (giVowelB == 1 && giVoxB == 5) then		;U



		;;U Soprano FREQUENEY ;;

		kFrqB1 table 0, 69		
		kFrqB2 table 1, 69     
		kFrqB3 table 2, 69	       
		kFrqB4 table 3, 69	        
		kFrqB5 table 4, 69

		;;U Soprano AMPLITUDE;;

		kAmpB1 table 0, 74
		kAmpB2 table 1, 74
		kAmpB3 table 2, 74
		kAmpB4 table 3, 74
		kAmpB5 table 4, 74


		;;U Soprano BANDWIDTH ;;

		kBndB1 table 0, 79
		kBndB2 table 1, 79
		kBndB3 table 2, 79
		kBndB4 table 3, 79
		kBndB5 table 4, 79



elseif		(giVowelB == 2  &&  giVoxB == 1) then		;A



		;;A Bass FREQUENEY ;;

		kFrqB1 table 0, 5		
		kFrqB2 table 1, 5      
		kFrqB3 table 2, 5	       
		kFrqB4 table 3, 5	        
		kFrqB5 table 4, 5

		;;A Bass AMPLITUDE;;

		kAmpB1 table 0, 10
		kAmpB2 table 1, 10
		kAmpB3 table 2, 10
		kAmpB4 table 3, 10
		kAmpB5 table 4, 10


		;;A Bass BANDWIDTH ;;

		kBndB1 table 0, 15
		kBndB2 table 1, 15
		kBndB3 table 2, 15
		kBndB4 table 3, 15
		kBndB5 table 4, 15


elseif		(giVowelB == 2 && giVoxB == 2) then		;A



		;;A Ten FREQUENEY ;;

		kFrqB1 table 0, 20
		kFrqB2 table 1, 20     
		kFrqB3 table 2, 20	       
		kFrqB4 table 3, 20        
		kFrqB5 table 4, 20

		;;A Ten AMPLITUDE;;

		kAmpB1 table 0, 25
		kAmpB2 table 1, 25
		kAmpB3 table 2, 25
		kAmpB4 table 3, 25
		kAmpB5 table 4, 25


		;;A Ten BANDWIDTH ;;

		kBndB1 table 0, 30
		kBndB2 table 1, 30
		kBndB3 table 2, 30
		kBndB4 table 3, 30
		kBndB5 table 4, 30



elseif		(giVowelB == 2 && giVoxB == 3) then		;A



		;;A CounTen FREQUENEY ;;

		kFrqB1 table 0, 35
		kFrqB2 table 1, 35     
		kFrqB3 table 2, 35	       
		kFrqB4 table 3, 35	        
		kFrqB5 table 4, 35

		;;A CounTen AMPLITUDE;;

		kAmpB1 table 0, 40
		kAmpB2 table 1, 40
		kAmpB3 table 2, 40
		kAmpB4 table 3, 40
		kAmpB5 table 4, 40


		;;A CounTen BANDWIDTH ;;

		kBndB1 table 0, 45
		kBndB2 table 1, 45
		kBndB3 table 2, 45
		kBndB4 table 3, 45
		kBndB5 table 4, 45


   elseif		(giVowelB == 2 && giVoxB == 4) then		



		;;A Alto FREQUENEY ;;

		kFrqB1 table 0, 50
		kFrqB2 table 1, 50    
		kFrqB3 table 2, 50	       
		kFrqB4 table 3, 50	        
		kFrqB5 table 4, 50

		;;A Alto AMPLITUDE;;

		kAmpB1 table 0, 55
		kAmpB2 table 1, 55
		kAmpB3 table 2, 55
		kAmpB4 table 3, 55
		kAmpB5 table 4, 55


		;;A Alto BANDWIDTH ;;

		kBndB1 table 0, 60
		kBndB2 table 1, 60
		kBndB3 table 2, 60
		kBndB4 table 3, 60
		kBndB5 table 4, 60



   elseif		(giVowelB == 2 && giVoxB == 5) then		;A



		;;A Soprano FREQUENEY ;;

		kFrqB1 table 0, 65
		kFrqB2 table 1, 65   
		kFrqB3 table 2, 65	       
		kFrqB4 table 3, 65	        
		kFrqB5 table 4, 65

		;;A Soprano AMPLITUDE;;

		kAmpB1 table 0, 70
		kAmpB2 table 1, 70
		kAmpB3 table 2, 70
		kAmpB4 table 3, 70
		kAmpB5 table 4, 70


		;;A Soprano BANDWIDTH ;;

		kBndB1 table 0, 75
		kBndB2 table 1, 75
		kBndB3 table 2, 75
		kBndB4 table 3, 75
		kBndB5 table 4, 75

;;;FROM HERE

elseif		(giVowelB == 3  &&  giVoxB == 1) then		;O



		;;O Bass FREQUENEY ;;

		kFrqB1 table 0, 8		
		kFrqB2 table 1, 8      
		kFrqB3 table 2, 8	       
		kFrqB4 table 3, 8	        
		kFrqB5 table 4, 8

		;;O Bass AMPLITUDE;;

		kAmpB1 table 0, 13
		kAmpB2 table 1, 13
		kAmpB3 table 2, 13
		kAmpB4 table 3, 13
		kAmpB5 table 4, 13


		;;O Bass BANDWIDTH ;;

		kBndB1 table 0, 18
		kBndB2 table 1, 18
		kBndB3 table 2, 18
		kBndB4 table 3, 18
		kBndB5 table 4, 18


	elseif (giVowelB == 3 && giVoxB == 2) then		;O



		;;O Ten FREQUENEY ;;

		kFrqB1 table 0, 23
		kFrqB2 table 1, 23     
		kFrqB3 table 2, 23	       
		kFrqB4 table 3, 23	        
		kFrqB5 table 4, 23

		;;O Ten AMPLITUDE;;

		kAmpB1 table 0, 28
		kAmpB2 table 1, 28
		kAmpB3 table 2, 28
		kAmpB4 table 3, 28
		kAmpB5 table 4, 28


		;;O Ten BANDWIDTH ;;

		kBndB1 table 0, 33
		kBndB2 table 1, 33
		kBndB3 table 2, 33
		kBndB4 table 3, 33
		kBndB5 table 4, 33



	elseif	(giVowelB == 3 && giVoxB == 3) then		;O



		;;O CounTen FREQUENEY ;;

		kFrqB1 table 0, 38
		kFrqB2 table 1, 38     
		kFrqB3 table 2, 38	       
		kFrqB4 table 3, 38	        
		kFrqB5 table 4, 38

		;;O CounTen AMPLITUDE;;

		kAmpB1 table 0, 43
		kAmpB2 table 1, 43
		kAmpB3 table 2, 43
		kAmpB4 table 3, 43
		kAmpB5 table 4, 43


		;;O CounTen BANDWIDTH ;;

		kBndB1 table 0, 48
		kBndB2 table 1, 48
		kBndB3 table 2, 48
		kBndB4 table 3, 48
		kBndB5 table 4, 48


	elseif (giVowelB == 3 && giVoxB == 4) then		;O


		;;O Alto FREQUENEY ;;

		kFrqB1 table 0, 53
		kFrqB2 table 1, 53    
		kFrqB3 table 2, 53	       
		kFrqB4 table 3, 53	        
		kFrqB5 table 4, 53

		;;O Alto AMPLITUDE;;

		kAmpB1 table 0, 58
		kAmpB2 table 1, 58
		kAmpB3 table 2, 58
		kAmpB4 table 3, 58
		kAmpB5 table 4, 58


		;;O Alto BANDWIDTH ;;

		kBndB1 table 0, 63
		kBndB2 table 1, 63
		kBndB3 table 2, 63
		kBndB4 table 3, 63
		kBndB5 table 4, 63



	   elseif (giVowelB == 3 && giVoxB == 5) then		;O



		;;O Soprano FREQUENEY ;;

		kFrqB1 table 0, 68
		kFrqB2 table 1, 68    
		kFrqB3 table 2, 68	       
		kFrqB4 table 3, 68	        
		kFrqB5 table 4, 68

		;;O Soprano AMPLITUDE;;

		kAmpB1 table 0, 73
		kAmpB2 table 1, 73
		kAmpB3 table 2, 73
		kAmpB4 table 3, 73
		kAmpB5 table 4, 73


		;;O Soprano BANDWIDTH ;;

		kBndB1 table 0, 78
		kBndB2 table 1, 78
		kBndB3 table 2, 78
		kBndB4 table 3, 78
		kBndB5 table 4, 78



elseif		(giVowelB == 4  &&  giVoxB == 1) then		;I



		;;I Bass FREQUENEY ;;

		kFrqB1 table 0, 7		
		kFrqB2 table 1, 7      
		kFrqB3 table 2, 7	       
		kFrqB4 table 3, 7	        
		kFrqB5 table 4, 7

		;;I Bass AMPLITUDE;;

		kAmpB1 table 0, 12
		kAmpB2 table 1, 12
		kAmpB3 table 2, 12
		kAmpB4 table 3, 12
		kAmpB5 table 4, 12


		;;I Bass BANDWIDTH ;;

		kBndB1 table 0, 17
		kBndB2 table 1, 17
		kBndB3 table 2, 17
		kBndB4 table 3, 17
		kBndB5 table 4, 17


elseif		(giVowelB == 4 && giVoxB == 2) then		;I



		;;I Ten FREQUENEY ;;

		kFrqB1 table 0, 22
		kFrqB2 table 1, 22     
		kFrqB3 table 2, 22	       
		kFrqB4 table 3, 22        
		kFrqB5 table 4, 22

		;;I Ten AMPLITUDE;;

		kAmpB1 table 0, 27
		kAmpB2 table 1, 27
		kAmpB3 table 2, 27
		kAmpB4 table 3, 27
		kAmpB5 table 4, 27


		;;I Ten BANDWIDTH ;;

		kBndB1 table 0, 32
		kBndB2 table 1, 32
		kBndB3 table 2, 32
		kBndB4 table 3, 32
		kBndB5 table 4, 32



elseif		(giVowelB == 4 && giVoxB == 3) then		;I



		;;I CounTen FREQUENEY ;;

		kFrqB1 table 0, 37
		kFrqB2 table 1, 37     
		kFrqB3 table 2, 37	       
		kFrqB4 table 3, 37	        
		kFrqB5 table 4, 37

		;;I CounTen AMPLITUDE;;

		kAmpB1 table 0, 42
		kAmpB2 table 1, 42
		kAmpB3 table 2, 42
		kAmpB4 table 3, 42
		kAmpB5 table 4, 42


		;;I CounTen BANDWIDTH ;;

		kBndB1 table 0, 47
		kBndB2 table 1, 47
		kBndB3 table 2, 47
		kBndB4 table 3, 47
		kBndB5 table 4, 47


   elseif		(giVowelB == 4 && giVoxB == 4) then		



		;;I Alto FREQUENEY ;;

		kFrqB1 table 0, 52
		kFrqB2 table 1, 52    
		kFrqB3 table 2, 52	       
		kFrqB4 table 3, 52	        
		kFrqB5 table 4, 52

		;;I Alto AMPLITUDE;;

		kAmpB1 table 0, 57
		kAmpB2 table 1, 57
		kAmpB3 table 2, 57
		kAmpB4 table 3, 57
		kAmpB5 table 4, 57


		;;I Alto BANDWIDTH ;;

		kBndB1 table 0, 62
		kBndB2 table 1, 62
		kBndB3 table 2, 62
		kBndB4 table 3, 62
		kBndB5 table 4, 62



   elseif		(giVowelB == 4 && giVoxB == 5) then		;I



		;;I Soprano FREQUENEY ;;

		kFrqB1 table 0, 67
		kFrqB2 table 1, 67   
		kFrqB3 table 2, 67	       
		kFrqB4 table 3, 67	        
		kFrqB5 table 4, 67

		;;I Soprano AMPLITUDE;;

		kAmpB1 table 0, 72
		kAmpB2 table 1, 72
		kAmpB3 table 2, 72
		kAmpB4 table 3, 72
		kAmpB5 table 4, 72


		;;I Soprano BANDWIDTH ;;

		kBndB1 table 0, 77
		kBndB2 table 1, 77
		kBndB3 table 2, 77
		kBndB4 table 3, 77
		kBndB5 table 4, 77




elseif		(giVowelB == 5  &&  giVoxB == 1) then		;E



		;;E Bass FREQUENEY ;;

		kFrqB1 table 0, 6		
		kFrqB2 table 1, 6      
		kFrqB3 table 2, 6	       
		kFrqB4 table 3, 6	        
		kFrqB5 table 4, 6

		;;E Bass AMPLITUDE;;

		kAmpB1 table 0, 11
		kAmpB2 table 1, 11
		kAmpB3 table 2, 11
		kAmpB4 table 3, 11
		kAmpB5 table 4, 11


		;;E Bass BANDWIDTH ;;

		kBndB1 table 0, 16
		kBndB2 table 1, 16
		kBndB3 table 2, 16
		kBndB4 table 3, 16
		kBndB5 table 4, 16


elseif		(giVowelB == 5 && giVoxB == 2) then		;E



		;;E Ten FREQUENEY ;;

		kFrqB1 table 0, 21
		kFrqB2 table 1, 21     
		kFrqB3 table 2, 21	       
		kFrqB4 table 3, 21        
		kFrqB5 table 4, 21

		;;E Ten AMPLITUDE;;

		kAmpB1 table 0, 26
		kAmpB2 table 1, 26
		kAmpB3 table 2, 26
		kAmpB4 table 3, 26
		kAmpB5 table 4, 26


		;;E Ten BANDWIDTH ;;

		kBndB1 table 0, 31
		kBndB2 table 1, 31
		kBndB3 table 2, 31
		kBndB4 table 3, 31
		kBndB5 table 4, 31



elseif		(giVowelB == 5 && giVoxB == 3) then		;E



		;;E CounTen FREQUENEY ;;

		kFrqB1 table 0, 36
		kFrqB2 table 1, 36     
		kFrqB3 table 2, 36	       
		kFrqB4 table 3, 36	        
		kFrqB5 table 4, 36

		;;E CounTen AMPLITUDE;;

		kAmpB1 table 0, 41
		kAmpB2 table 1, 41
		kAmpB3 table 2, 41
		kAmpB4 table 3, 41
		kAmpB5 table 4, 41


		;;E CounTen BANDWIDTH ;;

		kBndB1 table 0, 46
		kBndB2 table 1, 46
		kBndB3 table 2, 46
		kBndB4 table 3, 46
		kBndB5 table 4, 46


   elseif		(giVowelB == 5 && giVoxB == 4) then		



		;;E Alto FREQUENEY ;;

		kFrqB1 table 0, 51
		kFrqB2 table 1, 51    
		kFrqB3 table 2, 51	       
		kFrqB4 table 3, 51	        
		kFrqB5 table 4, 51

		;;E Alto AMPLITUDE;;

		kAmpB1 table 0, 56
		kAmpB2 table 1, 56
		kAmpB3 table 2, 56
		kAmpB4 table 3, 56
		kAmpB5 table 4, 56


		;;E Alto BANDWIDTH ;;

		kBndB1 table 0, 61
		kBndB2 table 1, 61
		kBndB3 table 2, 61
		kBndB4 table 3, 61
		kBndB5 table 4, 61


   elseif		(giVowelB == 5 && giVoxB == 5) then		;E



		;;E Soprano FREQUENEY ;;

		kFrqB1 table 0, 66
		kFrqB2 table 1, 66   
		kFrqB3 table 2, 66	       
		kFrqB4 table 3, 66	        
		kFrqB5 table 4, 66

		;;E Soprano AMPLITUDE;;

		kAmpB1 table 0, 71
		kAmpB2 table 1, 71
		kAmpB3 table 2, 71
		kAmpB4 table 3, 71
		kAmpB5 table 4, 71


		;;E Soprano BANDWIDTH ;;

		kBndB1 table 0, 76
		kBndB2 table 1, 76
		kBndB3 table 2, 76
		kBndB4 table 3, 76
		kBndB5 table 4, 76


  endif

  	;Constants across model 1

		kFmin 	= 0		; minimum value of original scale
		kFmax 	= 100		; maximum value of original scale   Frequencey

		kBmin 	= 0		; minimum value of original scale
		kBmax 	= 100		; maximum value of original scale   Bandwidth

  		kAmin	= 0		; minimum value of original scale
		kAmax 	= 100		; maximum value of original scale	  Amplitude



 /******************************************************************************************************************************************/ 	
 /******************************************************************************************************************************************/ 	
 /**************************************VOWEL SCALE GENERATOR ALGORITHMS***********************************************/ 	
 /******************************************************************************************************************************************/ 	
 /******************************************************************************************************************************************/ 	

 ;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;FORMANT 1;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;

     	;;VowelA to VowelB -FRQ;;


		kFabAxis1 =	 kFrqB1-kFrqA1		   	;AXIS of Values between Vowel A and Vowel B 	

		kFa1 = kFrqA1 + (kFabAxis1 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kFb1 = kFrqB1 					; new range maximum taking into account range defined in p-fields


		kFfx1 = (kFb1-kFa1)*(kx-kFmin)/(kFmax-kFmin)  + kFa1  ;kFfx = Scaled Data. Points from the first 50% scaled to range between A and B.


	;;VowelA to VowelB -AMP;;



		kAabAxis1 =	kAmpB1-kAmpA1		   	;AXIS of Values between Vowel A and Vowel B 	

		kAa1 = kAmpA1 + (kAabAxis1 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kAb1 = kAmpB1 				 	; new range maximum taking into account range defined in p-fields


		kAfx1 = ((kAb1-kAa1)*(kx-kAmin))/(kAmax-kAmin) +kAa1  ;kBfx = Scaled Data. Points from the first 50% scaled to range between A and B.


    	;;VowelA to VowelB -BND;;



		kBabAxis1 =	 kBndB1-kBndA1		   	;AXIS of Values between Vowel A and Vowel B 	

		kBa1 = kBndA1 + (kBabAxis1 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kBb1 = kBndB1				 	; new range maximum taking into account range defined in p-fields


		kBfx1 = ((kBb1-kBa1)*(kx-kAmin))/(kBmax-kAmin) +kBa1  ;kBfx = Scaled Data. Points from the first 50% scaled to range between A and B.



	;FIRST FORMANT: Plugs Paramaters into First formant.
  gk1amp  = ampdbfs(kAfx1)  					     ;Getting the figure in here will be an issue
  gk1form = kFfx1 								;Modulate Formant. k1StrtFrq = Start position. kFrqData1 = Ending position
  gk1band = kBfx1





;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;FORMANT 2;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;

     	;;VowelA to VowelB -FRQ;;


		kFabAxis2 =	kFrqB2-kFrqA2		   	;AXIS of Values between Vowel A and Vowel B 	

		kFa2 = kFrqA2 + (kFabAxis2 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kFb2 = kFrqB2 				 	; new range maximum taking into account range defined in p-fields


		kFfx2 = (kFb2-kFa2)*(kx-kFmin)/(kFmax-kFmin)  + kFa2  ;kFfx = Scaled Data. Points from the first 50% scaled to range between A and B.


	;;VowelA to VowelB -AMP;;



		kAabAxis2 =	kAmpB2-kAmpA2		   	;AXIS of Values between Vowel A and Vowel B 	

		kAa2 = kAmpA2 + (kAabAxis2 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kAb2 = kAmpB2 				 	; new range maximum taking into account range defined in p-fields


		kAfx2 = ((kAb2-kAa2)*(kx-kAmin))/(kAmax-kAmin) +kAa2  ;kBfx = Scaled Data. Points from the first 50% scaled to range between A and B.


    	;;VowelA to VowelB -BND;;



		kBabAxis2 =	kBndB2-kBndA2		   	;AXIS of Values between Vowel A and Vowel B 	

		kBa2 = kBndA2 + (kBabAxis2 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kBb2 = kBndB2 				 	; new range maximum taking into account range defined in p-fields


		kBfx2 = ((kBb2-kBa2)*(kx-kAmin))/(kBmax-kAmin) +kBa2  ;kBfx = Scaled Data. Points from the first 50% scaled to range between A and B.



	;SECOND FORMANT: Plugs Paramaters into Fof unit.
  gk2amp  = ampdbfs(kAfx2)  					    
  gk2form = kFfx2 								
  gk2band = kBfx2



;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;FORMANT 3;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;

     	;;VowelA to VowelB -FRQ;;


		kFabAxis3 =	kFrqB3-kFrqA3		   	;AXIS of Values between Vowel A and Vowel B 	

		kFa3 = kFrqA3 + (kFabAxis3 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kFb3 = kFrqB3 					; new range maximum taking into account range defined in p-fields


		kFfx3 = (kFb3-kFa3)*(kx-kFmin)/(kFmax-kFmin)  + kFa3  ;kFfx = Scaled Data. Points from the first 50% scaled to range between A and B.


	;;VowelA to VowelB -AMP;;



		kAabAxis3 =	kAmpB3-kAmpA3		   	;AXIS of Values between Vowel A and Vowel B 	

		kAa3 = kAmpA3 + (kAabAxis3 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kAb3 = kAmpB3  				 	; new range maximum taking into account range defined in p-fields


		kAfx3 = ((kAb3-kAa3)*(kx-kAmin))/(kAmax-kAmin) +kAa3  ;kBfx = Scaled Data. Points from the first 50% scaled to range between A and B.


    	;;VowelA to VowelB -BND;;



		kBabAxis3 =	kBndB3-kBndA3		   	;AXIS of Values between Vowel A and Vowel B 	

		kBa3 = kBndA3 + (kBabAxis3 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kBb3 = kBndB3  				 	; new range maximum taking into account range defined in p-fields


		kBfx3 = ((kBb3-kBa3)*(kx-kAmin))/(kBmax-kAmin) +kBa3  ;kBfx = Scaled Data. Points from the first 50% scaled to range between A and B.



	;THIRD FORMANT: Plugs Paramaters into Fof unit.
  gk3amp  = ampdbfs(kAfx3)  					    
  gk3form = kFfx3 								
  gk3band = kBfx3


;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;FORMANT 4;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;

     	;;VowelA to VowelB -FRQ;;


		kFabAxis4 =	kFrqB4-kFrqA4		   	;AXIS of Values between Vowel A and Vowel B 	

		kFa4 = kFrqA4 + (kFabAxis4 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kFb4 = kFrqB4  				 	; new range maximum taking into account range defined in p-fields


		kFfx4 = (kFb4-kFa4)*(kx-kFmin)/(kFmax-kFmin)  + kFa4  ;kFfx = Scaled Data. Points from the first 50% scaled to range between A and B.


	;;VowelA to VowelB -AMP;;



		kAabAxis4 =	kAmpB4-kAmpA4		   	;AXIS of Values between Vowel A and Vowel B 	

		kAa4 = kAmpA4 + (kAabAxis4 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kAb4 = kAmpB4 				 	; new range maximum taking into account range defined in p-fields


		kAfx4 = ((kAb4-kAa4)*(kx-kAmin))/(kAmax-kAmin) +kAa4  ;kBfx = Scaled Data. Points from the first 50% scaled to range between A and B.


    	;;VowelA to VowelB -BND;;



		kBabAxis4 =	kBndB4-kBndA4		   	;AXIS of Values between Vowel A and Vowel B 	

		kBa4 = kBndA4 + (kBabAxis4 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kBb4 = kBndB4 				 	; new range maximum taking into account range defined in p-fields


		kBfx4 = ((kBb4-kBa4)*(kx-kAmin))/(kBmax-kAmin) +kBa4  ;kBfx = Scaled Data. Points from the first 50% scaled to range between A and B.



	;FOURTH FORMANT: Plugs Paramaters into Fof unit.
  gk4amp  = ampdbfs(kAfx4)  					    
  gk4form = kFfx4 								
  gk4band = kBfx4


;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;FORMANT 5;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;

     	;;VowelA to VowelB -FRQ;;


		kFabAxis5 =	kFrqB5-kFrqA5		   	;AXIS of Values between Vowel A and Vowel B 	

		kFa5 = kFrqA5 + (kFabAxis5 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kFb5 = kFrqB5  				 	; new range maximum taking into account range defined in p-fields


		kFfx5 = (kFb5-kFa5)*(kx-kFmin)/(kFmax-kFmin)  + kFa5  ;kFfx = Scaled Data. Points from the first 50% scaled to range between A and B.


	;;VowelA to VowelB -AMP;;



		kAabAxis5 =	kAmpB5-kAmpA5		   	;AXIS of Values between Vowel A and Vowel B 	

		kAa5 = kAmpA5 + (kAabAxis5 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kAb5 = kAmpB5  				 	; new range maximum taking into account range defined in p-fields


		kAfx5 = ((kAb5-kAa5)*(kx-kAmin))/(kAmax-kAmin) +kAa5  ;kBfx = Scaled Data. Points from the first 50% scaled to range between A and B.


    	;;VowelA to VowelB -BND;;



		kBabAxis5 =	kBndB5-kBndA5		   	;AXIS of Values between Vowel A and Vowel B 	

		kBa5 = kBndA5 + (kBabAxis5 * gkExMin) 	; new range minimum taking into account range defined in p-fields
		kBb5 = kBndB5  				 	; new range maximum taking into account range defined in p-fields


		kBfx5 = ((kBb5-kBa5)*(kx-kBmin))/(kBmax-kBmin) +kBa5  ;kBfx = Scaled Data. Points from the first 50% scaled to range between A and B.



	;FIFTH FORMANT: Plugs Paramaters into Fof unit.
  gk5amp  = ampdbfs(kAfx5)  					    
  gk5form = kFfx5 								
  gk5band = kBfx5

/*__________________________________________________________________________________________________________________________________________________________*/
/*__________________________________________________________________________________________________________________________________________________________*/


endin

 instr 3 ; Prosody  and Jitter Generator

 ;  data intake
 kx = gkx

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;PROSODY MODEL BEGIN;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;; PROSODY CARRIER
;Basic Carrier Lfo defines phrase/prosody shape
kSlfo =2

kSpeed = 2
k2 	randh .25, 1      ;Randomisation to emulation phrasing and prosody
kScps = kSpeed*k2
aPhrase   lfo kSlfo, kScps, 0



;;UPWARD TILT
;Up Lfo models + rate
kUlfo =2.5    ;Control the Amount of LFO applied to the signal here

kUSpeed = .5
kU2 	randh 1, .3      ;Randomisation to emulation phrasing and prosody
kUcps = kUSpeed*kU2
aUp   lfo kUlfo, kUcps, 4


;;DOWNWARD TILT
;Down Lfo models - rate
kDlfo =2.5    ;Control the Amount of LFO applied to the signal here

kDSpeed = .5
kD2 	randh 1, .3      ;Randomisation to emulation phrasing and prosody
kDcps = kDSpeed*kD2
aDn   lfo kDlfo, kDcps, 5


;;PAUSES
;Square Wave LFO  models pauses
kPlfo = 1    ;Control the Amount of LFO applied to the signal here
kPSpeed = 5
      ;Randomisation to emulation phrasing and prosody

kP2 randomh .01625,1,2
kPcps = kPSpeed*kP2


aPs   lfo kPlfo, kPcps, 3



;Add Up and Down Signal to Phrase  Signal Signals Together
aProsody = (aPhrase + aUp  + aDn)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;PROSODY MODEL END;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;JITTER MODEL BEGIN;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

ar1          randi       .01*.5   ,1/.05                                  
ar2          randi       .01*.5   ,1/.1111   
ar3          randi       .01*.5   ,1/1.2186


kkf1 random 180,290
kkf2 random 240,440
kkf3 random 300,380
kkf4 random 600,800
kkf5 random 700,1200




;rescale kx so that it can be addedto kjit to provide a meaning profile

printk 0,kx

akf1          =           (kkf1+kx) * (1+ar1+ar2+ar3)                        ;Basic Fundamental Frequencey of kkf1 + Kx for Kfund1 with added jitter controlled by data
akf2          =           (kkf2+kx) * (1+ar1+ar2+ar3)                              ;Basic Fundamental Frequencey of kkf2 + Kx for Kfund2 with added jitter controlled by data
akf3          =           (kkf3+kx) * (1+ar1+ar2+ar3)                           ;Basic Fundamental Frequencey of kkf3 + Kx for Kfund3 with added jitter controlled by data
akf4          =           (kkf4+kx) * (1+ar1+ar2+ar3)                       ;Basic Fundamental Frequencey of kkf4 + Kx for Kfund4 with added jitter controlled by data
akf5          =           (kkf5+kx) * (1+ar1+ar2+ar3)                            ;Basic Fundamental Frequencey of kkf5 + Kx for Kfund5 with added jitter controlled by data




gkfund1 = (akf1+aProsody) ;* aPs
gkfund2 = (akf2+aProsody) ;* aPs
gkfund3 = (akf3+aProsody) ;* aPs
gkfund4 = (akf4+aProsody) ;* aPs
gkfund5 = (akf5+aProsody) ;* aPs

gkfund = 220
gkfund = (gkfund +kx) * (1+ar1+ar2+ar3)  


gkfund1 = gkfund
gkfund2 = gkfund
gkfund3 = gkfund
gkfund4 = gkfund
gkfund5 = gkfund




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;JITTER MODEL END;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;TIMBRE DEFINITION;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


    gkoct init 0

  gkris = .005
  gkdur = .017
 ; gkdec = .007

;  kdur    linseg  1,1,1 ,2 , 1 ,1 ,1 ; kdur CHANGE
  gkdec    linseg  1,p3/3,.5 ,p3/3,.5 ,p3/3 ,1 ; kdec CHANGE

  gk1ris = gkris
  gk2ris = gkris
  gk3ris = gkris
  gk4ris = gkris
  gk5ris = gkris

  gk1dur = gkdur
  gk2dur = gkdur
  gk3dur = gkdur
  gk4dur = gkdur
  gk5dur = gkdur

  gk1dec = gkdec
  gk2dec = gkdec
  gk3dec = gkdec
  gk4dec = gkdec
  gk5dec = gkdec

	if (p2 <=0) then			;bangs in i-rate variables just once

		  giolaps = 20000
         		  gifna = 1
		  gifnb = 2
		  gitotdur = p3
		  giphs	=	0
		  gifmode	=	1
		  giskip	=	0
		endif			

  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Timbral Variation Envelopes;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;5 Formant Frequencey Variation Envelopes

afrmv1 linseg .95,p3/4,1.05,p3/4,1,     p3/4,.95,p3/4,1
afrmv2 linseg .9,p3/4,.95,    p3/4,1.03,p3/4,1,p3/4,.95
afrmv3 linseg 1,p3/4,.9,       p3/4,.95,  p3/4,.9,p3/4,1.10
afrmv4 linseg 1.10,p3/4,1,   p3/4,1.10,p3/4,1.03,p3/4,1.05
afrmv5 linseg 1.05,p3/4,1.1,p3/4,1.05,p3/4,1.05,p3/4,.9

gk1form = gk1form* afrmv1
gk2form = gk2form* afrmv2
gk3form = gk3form* afrmv3
gk4form = gk4form* afrmv4
gk5form = gk5form* afrmv5
 ;___________________________________________________________________
 ;_________________________________________________________________________________		


endin




instr 4 ; Fof Generators for Vocal Gestures

;;;;;;;;;;;;;;;;;;;;;
;;; FOF GENERATORS;;;
;;;;;;;;;;;;;;;;;;;;;


  a1 fof gk1amp, gkfund1, gk1form, gkoct, gk1band, gk1ris, \
         gk1dur, gk1dec, giolaps, gifna, gifnb, gitotdur
  a2 fof gk2amp, gkfund2, gk2form, gkoct, gk2band, gk2ris, \
         gk2dur, gk2dec, giolaps, gifna, gifnb, gitotdur
  a3 fof gk3amp, gkfund3, gk3form, gkoct, gk3band, gk3ris, \
         gk3dur, gk3dec, giolaps, gifna, gifnb, gitotdur
  a4 fof gk4amp, gkfund4, gk4form, gkoct, gk4band, gk4ris, \
         gk4dur, gk4dec, giolaps, gifna, gifnb, gitotdur
  a5 fof gk5amp, gkfund5, gk5form, gkoct, gk5band, gk5ris, \
         gk5dur, gk5dec, giolaps, gifna, gifnb, gitotdur


;VALVES

;a1=0
;a2=0
;a3=0
;a4=0
;a5=0


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;Postproduction;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


	;Image widening and Formant Organisation

	a1	=	a1*.5

	asigl sum (a1+a2+a4)     	
	asigr sum (a1+a3+a5)     	


	;asigr delay asigr, .001





	;Panning
;	aLL, aLR pan2 asigl, 0
;	aRL, aRR pan2 asigr, 1


;asigl = aLL + aLR
;asigr = aRL + aRR




    ;outs asigl*.025, asigr*.125   ; Signal need to be kept at roughly 1% of output to prevent Deafening and possible explosion of head and face



;outs asigl, asigr

gaVocalGesture = asigl+asigr

endin


instr 5 ; Stereo-Space

;=================SATIALISATION========================

kData = gkSpatData
aVG = gaVocalGesture

kX = 0
kY = 0
kZ = 0


; spatialisation		description
;W, aX, aY, aZ          spat3d ain, kX, kY, kZ, idist, ift, imode, imdel, iovr [, istor]

										       ;7=ftable for room dimensions
a_W, a_X, a_Y, a_Z	spat3d aVG, kX, kY, kZ, 1.0, 7, 4, 2.0, 8

			a_W      =  a_W * 1.4142




a_W      butterlp a_W, 1000      
a_Y      butterlp a_Y, 1000      
aleft   =  a_W + a_X
aright  =  a_Y + a_Z

outs aleft,aright







endin



</CsInstruments>
<CsScore>
; sine wave
;f1 0 4096 10 1

f1 0 16384 9 1 20 0   2 1 0  3 1 0  4 .5 0  5 .5 0  6 .125 0  7 .125 0  8 .125 0  9 .125 0  10 .125 0
;f1 0 16384 10 1 1   1   1    0.7 0.5   0.3  0.1   ;Pulse

; sigmoid wave
f2 0 1024 19 0.5 0.5 270 0.5


                 ;==========================
 ;==========================Test Sequence==========================


;  INS           STRT	        DUR	       DataPIn1%       DataPIn1%	             VOWEL-A       VOWEL-B	  EXTENT%LIMIT-A  EXTENT%LIMIT-B     mode       Vox- A      Vox- B
   i1	             0	        10                      0		  0	                              1                  5			0			100		          1                2              2
   i2	             0	        10                      0		  0	                              1                  5			0			100		          1                2              2
   i3	             0	        10                      0		  0	                              1                  5			0			100		          1                2              2  
   i4		   0	        10                      0		  0	                              1                  5			0			100		          1                2              2
   i5                  0              10




e


/*
p4 and p5 allow for Score input of data.

VOWEL DESIGNATIONS for p6 and p7

0 	==	Automatic U-O-A-I-E Scale Maybe this could be pointless

1	==	U
2	==	O
3	==	A
4	==	I
5	==	E

DATA MODES  for p10

1	==	Map data to entire range of vowel pair
2	==	Express data as a percentage of the range between vowel pairs

Switching modes int the middle of a score when sonifying the same data set is not recomended.

Vocal Types for p11
1 == Bass
2 == Tenor
3 == Counter Tenor
4 == Alto
5 == Soprano
*/

</CsScore>
</CsoundSynthesizer>