 Reece H. Dunn
					
					12 years ago
						Reece H. Dunn
					
					12 years ago
				| _dpt tuqa: | _dpt tuqa: | ||||
| _. tuqa: | _. tuqa: | ||||
| _roman roma:ni: | _roman roma:ni: | ||||
| ?!3 _0and fi | 
| .group a | .group a | ||||
| a a | a a | ||||
| aa a: | aa a: | ||||
| .group b | .group b | ||||
| b b | b b | ||||
| bb b: | bb b: | ||||
| .group c | .group c | ||||
| c tS' | |||||
| c tS` | |||||
| .group d | .group d | ||||
| d d | d d | ||||
| dd d: | dd d: | ||||
| .group e | .group e | ||||
| e e | e e | ||||
| ee e: | ee e: | ||||
| .group f | .group f | ||||
| f f | f f | ||||
| .group g | .group g | ||||
| g g | g g | ||||
| gg g: | gg g: | ||||
| .group h | .group h | ||||
| h h | h h | ||||
| .group i | .group i | ||||
| i i | i i | ||||
| ii i: | ii i: | ||||
| .group j | .group j | ||||
| j dZ | j dZ | ||||
| .group k | .group k | ||||
| k k | k k | ||||
| kk k: | kk k: | ||||
| .group l | .group l | ||||
| l l | l l | ||||
| ll l: | ll l: | ||||
| .group m | .group m | ||||
| m m | m m | ||||
| mm m: | mm m: | ||||
| .group n | .group n | ||||
| n n | n n | ||||
| nn n: | nn n: | ||||
| .group o | .group o | ||||
| o o | o o | ||||
| oo o: | oo o: | ||||
| .group p | .group p | ||||
| p p | p p | ||||
| pp p: | pp p: | ||||
| .group q | .group q | ||||
| q k | |||||
| qq k: | |||||
| q k` | |||||
| qq k`: | |||||
| .group r | .group r | ||||
| r r | r r | ||||
| rr r: | rr r: | ||||
| .group s | .group s | ||||
| s s | s s | ||||
| ss s: | ss s: | ||||
| .group t | .group t | ||||
| t t | t t | ||||
| tt t: | tt t: | ||||
| .group u | .group u | ||||
| u u | u u | ||||
| uu u: | uu u: | ||||
| .group v | .group v | ||||
| v v | v v | ||||
| .group w | .group w | ||||
| w v | |||||
| w w | |||||
| .group x | .group x | ||||
| x t' | |||||
| xx t': | |||||
| x t` | |||||
| xx t`: | |||||
| .group y | .group y | ||||
| y y | y y | ||||
| yy y: | yy y: | ||||
| .group z | .group z | ||||
| z ts | z ts | ||||
| zz ts | |||||
| zz ts | |||||
| .group ch | .group ch | ||||
| ch tS | |||||
| .group sh | |||||
| sh S | |||||
| .group ph | |||||
| ph p' | |||||
| ch tS | |||||
| .group dh | .group dh | ||||
| dh d' // http://en.wikipedia.org/wiki/Voiced_alveolar_implosive | |||||
| dh D | |||||
| .group ny | .group ny | ||||
| ny n^ | |||||
| ny n^ | |||||
| .group ph | |||||
| ph p' | |||||
| .group sh | |||||
| sh S | |||||
| .group ts | |||||
| ts ts | |||||
| .group zy | |||||
| zy Z | 
| name default | name default | ||||
| language en | |||||
| language om | |||||
| gender male | gender male | ||||
| FMT(vowel/ii#_2) | FMT(vowel/ii#_2) | ||||
| endphoneme | endphoneme | ||||
| phoneme a | phoneme a | ||||
| vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
| length 220 | length 220 | ||||
| FMT(vowel/a_6) | FMT(vowel/a_6) | ||||
| endphoneme | endphoneme | ||||
| phoneme @ | phoneme @ | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| length 220 | length 220 | ||||
| FMT(vowel/@_3) | FMT(vowel/@_3) | ||||
| endphoneme | endphoneme | ||||
| phoneme o | phoneme o | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 220 | length 220 | ||||
| FMT(vowel/o-_4) | FMT(vowel/o-_4) | ||||
| endphoneme | endphoneme | ||||
| phoneme u | phoneme u | ||||
| vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
| length 220 | length 220 | ||||
| FMT(vowel/u_2) | FMT(vowel/u_2) | ||||
| endphoneme | endphoneme | ||||
| phoneme r | phoneme r | ||||
| import_phoneme base/R2 | import_phoneme base/R2 | ||||
| endphoneme | endphoneme | ||||
| phoneme p' | |||||
| vls blb stop | |||||
| phoneme k` | |||||
| vls vel stop | |||||
| lengthmod 2 | lengthmod 2 | ||||
| voicingswitch b | |||||
| Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 gpaus | |||||
| Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30 | |||||
| WAV(ustop/p_unasp) | |||||
| endphoneme | |||||
| phoneme b | |||||
| vcd blb stop | |||||
| IF prevPhW(isVowel) AND nextPhW(isVowel) THEN | |||||
| ChangePhoneme(B) | |||||
| ENDIF | |||||
| CALL base/b | |||||
| Vowelin f1=0 f2=1700 -250 250 f3= -200 80 gpaus f4 | |||||
| Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20 | |||||
| WAV(ustop/k_ejc, 60) | |||||
| endphoneme | endphoneme | ||||
| phoneme t` | phoneme t` | ||||
| vls alv stop | vls alv stop | ||||
| lengthmod 2 | lengthmod 2 | ||||
| WAV(ustop/t_hi, 70) | WAV(ustop/t_hi, 70) | ||||
| endphoneme | endphoneme | ||||
| phoneme tS` | phoneme tS` | ||||
| vls pla afr sibilant | vls pla afr sibilant | ||||
| voicingswitch dZ | voicingswitch dZ | ||||
| WAV(ustop/tsh_unasp, 80) | WAV(ustop/tsh_unasp, 80) | ||||
| endphoneme | endphoneme | ||||
| phoneme k` | |||||
| vls vel stop | |||||
| lengthmod 2 | |||||
| Vowelin f1=0 f2=1700 -250 250 f3= -200 80 gpaus f4 | |||||
| Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20 | |||||
| WAV(ustop/k_ejc, 60) | |||||
| phoneme p' | |||||
| vcd blb stop | |||||
| IF prevPhW(isVowel) AND nextPhW(isVowel) THEN | |||||
| ChangePhoneme(P) | |||||
| ENDIF | |||||
| CALL base/b | |||||
| endphoneme | endphoneme | ||||
| phoneme x | |||||
| vls vel frc | |||||
| lengthmod 3 | |||||
| IF prevPhW(#i) THEN | |||||
| ChangePhoneme(C) | |||||
| ELSE | |||||
| CALL base/x | |||||
| phoneme D | |||||
| vcd alv stop | |||||
| lengthmod 6 | |||||
| voicingswitch d | |||||
| CALL base/D | |||||
| IF nextPh(isPause2) THEN | |||||
| FMT(voc/dh_) addWav(vocw/dh, 35) // weaker | |||||
| ENDIF | ENDIF | ||||
| endphoneme | endphoneme | 
| break; | break; | ||||
| case L('a','r'): // Arabic | case L('a','r'): // Arabic | ||||
| tr->letter_bits_offset = OFFSET_ARABIC; | tr->letter_bits_offset = OFFSET_ARABIC; | ||||
| tr->langopts.numbers = NUM_SWAP_TENS | NUM_AND_UNITS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_AND_HUNDRED | NUM_THOUSAND_AND | NUM_OMIT_1_THOUSAND; | tr->langopts.numbers = NUM_SWAP_TENS | NUM_AND_UNITS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_AND_HUNDRED | NUM_THOUSAND_AND | NUM_OMIT_1_THOUSAND; | ||||
| } | } | ||||
| break; | break; | ||||
| case L('o','m'): | |||||
| case L('o','m'): // Oromo | |||||
| { | { | ||||
| static const unsigned char stress_amps_om[] = {18,15, 20,20, 20,22, 22,22 }; | static const unsigned char stress_amps_om[] = {18,15, 20,20, 20,22, 22,22 }; | ||||
| static const short stress_lengths_om[8] = {200,200, 200,200, 0,0, 200,200}; | static const short stress_lengths_om[8] = {200,200, 200,200, 0,0, 200,200}; | ||||
| SetupTranslator(tr,stress_lengths_om,stress_amps_om); | SetupTranslator(tr,stress_lengths_om,stress_amps_om); | ||||
| tr->langopts.stress_rule = STRESSPOSN_2R; | tr->langopts.stress_rule = STRESSPOSN_2R; | ||||
| tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2 | 0x80000; | tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2 | 0x80000; | ||||
| tr->langopts.numbers = NUM_OMIT_1_HUNDRED | NUM_HUNDRED_AND; | |||||
| tr->langopts.numbers2 = 0x200; // say "thousands" before its number | |||||
| } | } | ||||
| break; | break; | ||||