improved the phsource and om_listmaster
| @@ -36,3 +36,4 @@ _0M3 bilijoni: | |||
| _dpt tuqa: | |||
| _. tuqa: | |||
| _roman roma:ni: | |||
| ?!3 _0and fi | |||
| @@ -3,141 +3,87 @@ | |||
| .group a | |||
| a a | |||
| aa a: | |||
| .group b | |||
| b b | |||
| bb b: | |||
| .group c | |||
| c tS' | |||
| c tS` | |||
| .group d | |||
| d d | |||
| dd d: | |||
| .group e | |||
| e e | |||
| ee e: | |||
| .group f | |||
| f f | |||
| .group g | |||
| g g | |||
| gg g: | |||
| .group h | |||
| h h | |||
| .group i | |||
| i i | |||
| ii i: | |||
| .group j | |||
| j dZ | |||
| .group k | |||
| k k | |||
| kk k: | |||
| .group l | |||
| l l | |||
| ll l: | |||
| .group m | |||
| m m | |||
| mm m: | |||
| .group n | |||
| n n | |||
| nn n: | |||
| .group o | |||
| o o | |||
| oo o: | |||
| .group p | |||
| p p | |||
| pp p: | |||
| .group q | |||
| q k | |||
| qq k: | |||
| q k` | |||
| qq k`: | |||
| .group r | |||
| r r | |||
| rr r: | |||
| .group s | |||
| s s | |||
| ss s: | |||
| .group t | |||
| t t | |||
| tt t: | |||
| .group u | |||
| u u | |||
| uu u: | |||
| .group v | |||
| v v | |||
| .group w | |||
| w v | |||
| w w | |||
| .group x | |||
| x t' | |||
| xx t': | |||
| x t` | |||
| xx t`: | |||
| .group y | |||
| y y | |||
| yy y: | |||
| .group z | |||
| z ts | |||
| zz ts | |||
| zz ts | |||
| .group ch | |||
| ch tS | |||
| .group sh | |||
| sh S | |||
| .group ph | |||
| ph p' | |||
| ch tS | |||
| .group dh | |||
| dh d' // http://en.wikipedia.org/wiki/Voiced_alveolar_implosive | |||
| dh D | |||
| .group ny | |||
| ny n^ | |||
| ny n^ | |||
| .group ph | |||
| ph p' | |||
| .group sh | |||
| sh S | |||
| .group ts | |||
| ts ts | |||
| .group zy | |||
| zy Z | |||
| @@ -1,4 +1,4 @@ | |||
| name default | |||
| language en | |||
| language om | |||
| gender male | |||
| @@ -32,7 +32,6 @@ phoneme y | |||
| FMT(vowel/ii#_2) | |||
| endphoneme | |||
| phoneme a | |||
| vowel starttype #a endtype #a | |||
| length 220 | |||
| @@ -42,7 +41,6 @@ phoneme a | |||
| FMT(vowel/a_6) | |||
| endphoneme | |||
| phoneme @ | |||
| vowel starttype #@ endtype #@ | |||
| length 220 | |||
| @@ -52,45 +50,30 @@ phoneme @ | |||
| FMT(vowel/@_3) | |||
| endphoneme | |||
| phoneme o | |||
| vowel starttype #o endtype #o | |||
| length 220 | |||
| FMT(vowel/o-_4) | |||
| endphoneme | |||
| phoneme u | |||
| vowel starttype #u endtype #u | |||
| length 220 | |||
| FMT(vowel/u_2) | |||
| endphoneme | |||
| phoneme r | |||
| import_phoneme base/R2 | |||
| endphoneme | |||
| phoneme p' | |||
| vls blb stop | |||
| phoneme k` | |||
| vls vel stop | |||
| 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 | |||
| phoneme t` | |||
| vls alv stop | |||
| lengthmod 2 | |||
| @@ -103,7 +86,6 @@ phoneme t` | |||
| WAV(ustop/t_hi, 70) | |||
| endphoneme | |||
| phoneme tS` | |||
| vls pla afr sibilant | |||
| voicingswitch dZ | |||
| @@ -116,22 +98,20 @@ phoneme tS` | |||
| WAV(ustop/tsh_unasp, 80) | |||
| 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 | |||
| 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 | |||
| endphoneme | |||
| @@ -510,6 +510,8 @@ Translator *SelectTranslator(const char *name) | |||
| break; | |||
| case L('a','r'): // 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; | |||
| @@ -1251,7 +1253,7 @@ SetLengthMods(tr,3); // all equal | |||
| } | |||
| 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 short stress_lengths_om[8] = {200,200, 200,200, 0,0, 200,200}; | |||
| @@ -1259,6 +1261,8 @@ SetLengthMods(tr,3); // all equal | |||
| SetupTranslator(tr,stress_lengths_om,stress_amps_om); | |||
| tr->langopts.stress_rule = STRESSPOSN_2R; | |||
| 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; | |||