diff --git a/dictsource/om_list b/dictsource/om_list new file mode 100644 index 00000000..46f2777c --- /dev/null +++ b/dictsource/om_list @@ -0,0 +1,40 @@ +// numeric +_0 duwa: +_1 tokko +_2 lem@: +_3 sedii +_4 afur +_5 S'an +_6 dZ'a:ha +_7 To:rba: +_8 seddeit: +_9 sagal +_10 kud@'n +_1X + ku'@ +_20 dig'dam@ +_2X dig'dami: +_3X sodomi: +_4X afU:rt@mI: +_5X S@nt@mi: +_6X dZat@mI: +_7X torbat@mi: +_8X s@de:t@mi: +_9X s@gal'tami: +_0C ib:'a +_1C ib:'atokko +_2C ib:'alama +_3C ib:'as@di +_4C ib:'a:furi +_5C ib:'a:S@ni +_6C ib:'a'dZa +_7C ib:'a'torb@ +_8C ib:'a's@de:ti: +_9C ib:'a'sag@li +_0of na +_0M1 kum@: +_0M2 miliyoni: +_0M3 biliyonI: +_dpt tuqa: +_. tuqa: +_roman roma:ni: \ No newline at end of file diff --git a/dictsource/om_rules b/dictsource/om_rules new file mode 100644 index 00000000..4bc8ea47 --- /dev/null +++ b/dictsource/om_rules @@ -0,0 +1,143 @@ +// Oromo translation rules + +.group a + a a + aa a: + + +.group b + b b + bb b: + + +.group c + 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: + + +.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 + + +.group x + x t' + xx t': + + +.group y + y y + yy y: + + + +.group z + z ts + zz ts + + +.group ch + ch tS + + +.group sh + sh S + +.group ph + ph p' + + +.group dh + dh d' // http://en.wikipedia.org/wiki/Voiced_alveolar_implosive + + +.group ny + ny n^ \ No newline at end of file diff --git a/espeak-data/voices/test/om b/espeak-data/voices/test/om new file mode 100644 index 00000000..714f5c44 --- /dev/null +++ b/espeak-data/voices/test/om @@ -0,0 +1,2 @@ +name oromiffa +language om \ No newline at end of file diff --git a/phsource/ph_oromiffa b/phsource/ph_oromiffa new file mode 100644 index 00000000..3586c24f --- /dev/null +++ b/phsource/ph_oromiffa @@ -0,0 +1,137 @@ + +//==================================================== +// Oromiffa +//==================================================== + + +phoneme i + vowel starttype #i endtype #i + length 200 + IfNextVowelAppend(;) + FMT(vowel/ii_5) +endphoneme + +phoneme e + vowel starttype #e endtype #e + length 220 + FMT(vowel/e_mid2) +endphoneme + +phoneme y + vowel starttype #@ endtype #@ + ipa ? + length 180 + + // assume that word-final [y] are not added by am_rules + // Only allow [y] in first or last syllables +// IF thisPh(isFinalVowel) THEN +// ELIF thisPh(isFirstVowel) THEN +// ELSE +// ChangePhoneme(NULL) +// ENDIF + FMT(vowel/ii#_2) +endphoneme + + +phoneme a + vowel starttype #a endtype #a + length 220 + IF nextPhW(isPalatal) THEN + FMT(vdiph/ai_5) + ENDIF + FMT(vowel/a_6) +endphoneme + + +phoneme @ + vowel starttype #@ endtype #@ + length 220 + IF nextPhW(isPalatal) THEN + FMT(vdiph/@i_2) + ENDIF + 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 + 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 +endphoneme + + +phoneme t` + vls alv stop + lengthmod 2 + voicingswitch d + Vowelin f1=0 f2=1700 -300 300 f3=-100 80 gpaus + Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 + IF nextPh(isPause2) THEN + WAV(ustop/t_) + ENDIF + WAV(ustop/t_hi, 70) +endphoneme + + +phoneme tS` + vls pla afr sibilant + voicingswitch dZ + lengthmod 2 + Vowelin f1=0 f2=1800 -200 200 f3=-100 80 gpaus + + IF nextPh(isPause2) THEN + WAV(ustop/tsh_unasp, 80) + ENDIF + 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) +endphoneme + + +phoneme x + vls vel frc + lengthmod 3 + IF prevPhW(#i) THEN + ChangePhoneme(C) + ELSE + CALL base/x + ENDIF +endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index a3608cba..3d468896 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1950,3 +1950,5 @@ include ph_korean phonemetable kl base include ph_greenlandic +phonemetable om base +include ph_oromiffa