This patch strip out dependency on Russian, as its complicated relationship between spelling and pronunciation overburden rules for Belarusian. The rules themselves are also added. They don't have devoicing at the end of the words for now. Also, gemination of consonants doesn't work as expected, as it seems on the top of this rule some other rules apply. This after-processing is responsible also for the strange behaviour of ending [a].master
@@ -2,8 +2,9 @@ | |||
// Spelling-to-phoneme words for Belarusian | |||
// Letter names | |||
а a | |||
б bE | |||
а %a | |||
_a a | |||
_б bE | |||
в vE | |||
г QE | |||
д dE | |||
@@ -11,69 +12,70 @@ | |||
ё jO | |||
ж z.E | |||
з zE | |||
і i | |||
й i||n;EskladOvajE | |||
і %i | |||
_і i | |||
_й i||n;Esklad'OvajE | |||
к ka | |||
л El | |||
м Em | |||
н En | |||
о O | |||
п pE | |||
р Er | |||
р ER | |||
с Es | |||
т tE | |||
у u | |||
ў u||n;EskladOvajE | |||
_ў u||n;Esklad'OvajE | |||
ф Ef | |||
х xa | |||
ц tsE | |||
ч ts.E | |||
ш s.a | |||
ы i" | |||
ь m;ak;:i||znak | |||
ь m;'ak;:i||zn'ak | |||
э E | |||
ю ju | |||
я ja | |||
' apOstraf | |||
' ap'OstRaf | |||
// Numbers | |||
_0 nul; | |||
_1 ad;in | |||
_2 dva | |||
_3 tri" | |||
_4 ts.ati"ri" | |||
_5 p;at; | |||
_6 s.Es;t; | |||
_3 tRi" | |||
_4 ts.ati"Ri" | |||
_5 p;ats; | |||
_6 s.Es;ts; | |||
_7 s;Em | |||
_8 vOs;E2m | |||
_9 d;Ev;at; | |||
_10 d;Es;at; | |||
_11 ad;inats:at; | |||
_12 dvanats:at; | |||
_13 tri"nats:at; | |||
_14 ts.ati"rnats:at; | |||
_15 p;atnats:at; | |||
_16 s.asnats:at; | |||
_17 s;amnats:at; | |||
_18 vas;amnats:at; | |||
_19 d;Ev;atnats:at; | |||
_2X dvats:at; | |||
_3X tri"ts:at; | |||
_4X sorak | |||
_8 v'Os;Em | |||
_9 dz;Ev;ats; | |||
_10 dz;Es;ats; | |||
_11 adz;inats:ats; | |||
_12 dvanats:ats; | |||
_13 tRi"nats:ats; | |||
_14 ts.ati"Rnats:ats; | |||
_15 p;atnats:ats; | |||
_16 s.asnats:ats; | |||
_17 s;amnats:ats; | |||
_18 vas;amnats:ats; | |||
_19 dz;Ev;atnats:ats; | |||
_2X dvats:ats; | |||
_3X tRi"ts:ats; | |||
_4X s'ORak | |||
_5X p;adz;:Es;at | |||
_6X s.Ezdz;:Es;jat | |||
_7X s;Emdz;Es;jat | |||
_8X vos;Emdz;Es;at | |||
_9X d;Ev;anosta | |||
_0C stO | |||
_2C d;v;Es;t;E | |||
_3C tri"sta | |||
_4C ts.ati"ri"sta | |||
_5C p;at;sot | |||
_6C s.Es;t;sot | |||
_7C s;jEmsot | |||
_8C vos;jEmsot | |||
_9C d;Ev;at;sot | |||
_6X s.Ezdz;:Es;at | |||
_7X s;Emdz;Es;at | |||
_8X v'Os;Emdz;Es;at | |||
_9X dz;Ev;an'Osta | |||
_0C st'O | |||
_2C dz;v;Es;ts;E | |||
_3C tRi"sta | |||
_4C ts.ati"Ri"sta | |||
_5C p;ats;s'Ot | |||
_6C s.Es;ts;s'Ot | |||
_7C s;Ems'Ot | |||
_8C v,Os;Ems'Ot | |||
_9C dz;Ev;ats;s'Ot | |||
_1MA1 ti"s;ats.a | |||
_0MA1 ti"s;ats.i" | |||
_0M1 ti"s;ats. |
@@ -1,6 +1,28 @@ | |||
// This file is UTF8 encoded | |||
// Translation rules for Belarusian | |||
//letter which can carry vowel phoneme | |||
.L01 а е ё і о у ы э ю я | |||
//letter which can carry consonant phoneme | |||
.L02 б в г д ж з й к л м н нн п р с сс т ф х ц ч ш | |||
//letter which can carry forward sibilant (like с) | |||
//.L03 з дз с ц | |||
//letter which can carry backward sibilant (like ш) | |||
//.L04 ж дж ш ч | |||
// This is more economic way to express assimilation by sibilation than using L03 and L04 | |||
.replace | |||
сш шш | |||
сч шч | |||
цч чч | |||
шс сс | |||
шц сц | |||
чц цц | |||
зж жж | |||
здж ждж | |||
жз зз | |||
ждз здз | |||
.group а | |||
а a | |||
@@ -14,22 +36,35 @@ | |||
г Q // ɣ | |||
.group д | |||
д d | |||
д d[ | |||
дз dz // d̻͡z̪ | |||
ддз dz: | |||
дж dz. // ɖ͡ʐ | |||
.group е | |||
е ;E // ʲɛ | |||
_) е jE | |||
') е jE | |||
ь) е jE | |||
L01) е jE | |||
.group ё | |||
ё ;O // ʲɔ | |||
ё ;'O // ʲɔ | |||
_) ё j'O | |||
') ё j'O | |||
ь) ё j'O | |||
L01) ё j'O | |||
.group ж | |||
ж z. // ʐ | |||
жж z.: | |||
.group з | |||
з z | |||
.group і | |||
і i | |||
L02) і ;i | |||
.group й | |||
й j | |||
@@ -39,27 +74,30 @@ | |||
.group л | |||
л l | |||
лл l: | |||
.group м | |||
м m | |||
.group н | |||
н n | |||
нн n: | |||
.group о | |||
о o | |||
о 'O | |||
.group п | |||
п p | |||
.group р | |||
р r | |||
р R | |||
.group с | |||
с s | |||
сс s: | |||
.group т | |||
т t | |||
т t[ | |||
.group у | |||
у u | |||
@@ -74,13 +112,16 @@ | |||
х x | |||
.group ц | |||
ц ts // t̻͡s | |||
ц ts // t̻͡s̪ | |||
цц ts: | |||
.group ч | |||
ч ts. // ʈ͡ʂ | |||
чч ts.: | |||
.group ш | |||
ш s. // ʂ | |||
шш s.: | |||
.group ы | |||
ы i" // (ɨ | |||
@@ -93,9 +134,17 @@ | |||
.group ю | |||
ю ;u // ʲu | |||
_) ю ju | |||
') ю ju | |||
ь) ю ju | |||
L01) ю ju | |||
.group я | |||
я ;a // ʲa | |||
_) я ja | |||
') я ja | |||
ь) я ja | |||
L01) я ja | |||
.group ' | |||
' j | |||
' |
@@ -2,48 +2,64 @@ | |||
// Belarusian | |||
//==================================================== | |||
phoneme a | |||
import_phoneme ru/a | |||
endphoneme | |||
phoneme O | |||
vwl starttype #o endtype #o | |||
ipa ɔ | |||
length 100 | |||
FMT(vwl_ru/8) | |||
vwl starttype #a endtype #a | |||
ipa a | |||
length 180 | |||
FMT(vowel/a) | |||
endphoneme | |||
phoneme i" | |||
import_phoneme pl/y | |||
vwl starttype #i endtype #i | |||
ipa ɨ | |||
length 180 | |||
FMT(vowel/ii#_2) | |||
endphoneme | |||
phoneme ts | |||
import_phoneme consonants/ts | |||
ipa t̻͡s | |||
CALL consonants/ts | |||
voicingswitch dz | |||
ipa t̻͡s̪ | |||
endphoneme | |||
phoneme ts; | |||
import_phoneme pl/ts; | |||
CALL base1/tS; | |||
voicingswitch dz; | |||
ipa t̻͡s̪ʲ | |||
endphoneme | |||
phoneme ts. | |||
import_phoneme sr/tS | |||
vls pla afr sib | |||
ipa ʈ͡ʂ | |||
lengthmod 2 | |||
voicingswitch dz. | |||
Vowelin f1=0 f2=2300 200 400 f3=-100 80 | |||
WAV(ustop/tsh_sr, 50) | |||
endphoneme | |||
phoneme dz | |||
import_phoneme consonants/dz | |||
CALL consonants/dz | |||
voicingswitch ts | |||
ipa d̻͡z̪ | |||
endphoneme | |||
phoneme dz; | |||
import_phoneme pl/dz; | |||
CALL base1/dZ; | |||
voicingswitch ts; | |||
ipa d̻͡z̪ʲ | |||
endphoneme | |||
phoneme dz. | |||
import_phoneme sr/dZ | |||
vcd pla afr sib | |||
ipa ɖ͡ʐ | |||
lengthmod 5 | |||
voicingswitch ts. | |||
Vowelin f1=2 f2=2300 200 400 f3=100 80 | |||
Vowelout f1=2 f2=2300 250 300 f3=100 80 brk | |||
IF PreVoicing THEN | |||
FMT(dzh/xdzh) | |||
ENDIF | |||
FMT(dzh/dzh) addWav(ufric/sh_pzd2) | |||
endphoneme |
@@ -1819,6 +1819,9 @@ include ph_yue | |||
// *** Tables extending base2 *** | |||
phonemetable be base2 | |||
include ph_belarusian | |||
phonemetable chr base2 | |||
include ph_cherokee | |||
@@ -2046,8 +2049,3 @@ include ph_uzbek | |||
phonemetable qdb en | |||
include ph_langbelta | |||
phonemetable be ru | |||
include ph_belarusian | |||
phonemetable ms id |