diff --git a/dictsource/ru_list b/dictsource/ru_list index 263212b6..ffa28e9c 100644 --- a/dictsource/ru_list +++ b/dictsource/ru_list @@ -112,18 +112,17 @@ _, zVpit'aja вас $u+ вы $u+ вы $u+ -его $u+ -её $u+ +его $u2+ +её $u2+ ей $u+ -ему $u+ +ему $u2+ им $u+ ими $u+ их $u+ -меня $u+ +меня $u2+ мне $u+ мной $u+ мы $u+ -мы $u+ нам $u+ нами $u+ нас $u+ @@ -133,14 +132,11 @@ _, zVpit'aja о $u+ обо $u+ он $u+ -он $u+ -она $u+ она $u+ они $u+ -тебе $u+ -тебя $u+ -тобой $u+ -ты $u+ +тебе $u2+ +тебя $u2+ +тобой $u2+ ты $u+ я $u+ @@ -239,6 +235,12 @@ _с Es ю ju я ja +// Common names where 'е' is written instead of 'ё' +еще jIStS;'8 +(не о чем) n^i||o||tS'im +чем tS;'8m +ее jIj'8 + // exceptions радио r'ad;Io diff --git a/dictsource/ru_rules b/dictsource/ru_rules index afaa733a..4b45cd6c 100644 --- a/dictsource/ru_rules +++ b/dictsource/ru_rules @@ -93,13 +93,8 @@ г (ффY k г (хY k г (хкY k - _е) г (о_ v - е) г (ося_ v + е) г (о_ v _мно) г (о_ g - _мое) г (о_ v - _не) г (о_ v - _се) г (о v - _твое) г (о_ v .group д д d @@ -152,13 +147,14 @@ ж (ффY S ж (хY S ж (хкY S - жч S; + ж (ч S; .group з з z з (Y z; з (_ s з (дY z; + з (е z з (ж Z з (зY_ s; з (зY z; @@ -275,7 +271,7 @@ с (сY s; с (тY s; с (ть s - сч S; + с (ч S; с (ш S с (щ s;s; @@ -399,7 +395,7 @@ .group щ - щ S; + щ StS; щ (бY Z; щ (б Z; щ (бвY Z; @@ -414,13 +410,13 @@ щ (з Z; .group ъ - ъ (Y j + ъ (Y _| .group ы ы y .group ь - ь (Y j + ь (Y _| .group э э E2 diff --git a/phsource/ph_russian b/phsource/ph_russian index ab8f8e72..df6a73a7 100644 --- a/phsource/ph_russian +++ b/phsource/ph_russian @@ -1,5 +1,3 @@ - - phoneme g vcd vel stp prevoice voicingswitch k @@ -23,16 +21,12 @@ phoneme p endphoneme - phoneme x vls vel frc lengthmod 3 Vowelin f1=0 f2=2300 200 400 f3=-100 80 Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20 -// IF nextPh(isPause) THEN -// WAV(ufric/x, 120) -// ENDIF - WAV(ufric/x_hr, 30) + WAV(ufric/x_hr, 5) endphoneme @@ -41,66 +35,62 @@ phoneme k endphoneme - phoneme l - - liquid rfx - ipa ɭ - lengthmod 7 - length 40 - FMT(l^/l_rfx) + liquid rfx + ipa ɭ + lengthmod 7 + length 80 + IF nextPh(isPause) THEN + FMT(l/l_,120) + ELSE + FMT(l/l_,120) + ENDIF endphoneme -phoneme l^ - liquid rfx pzd - ipa ɭ -// lengthmod 7 -length 80 -// FMT(l^/l^) - FMT(l^/l_rfx) +phoneme l^ // From Latvian ļ + liquid + ipa ʎ + lengthmod 7 + Vowelout len=60 lenadd rate + length 80 + + NextVowelStarts + VowelStart(l^/j2@) + VowelStart(l^/j2a) + VowelStart(l^/j2e) + VowelStart(l^/j2i) + VowelStart(l^/j2o) + VowelStart(l^/j2u) + EndSwitch + + IF prevPh(isPause) THEN + FMT(l^/_l^) + ELSEIF nextPh(isPause) THEN + FMT(l^/l^_,120) + ENDIF + + FMT(l^/l^) endphoneme + phoneme s vls alv frc sib -// voicingswitch z lengthmod 3 Vowelin f1=0 f2=1700 -300 300 f3=-100 80 Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 - -// IF nextPh(isPause) THEN -// WAV(ufric/s_) -// ELIF nextPh(p) OR nextPh(t) OR nextPh(k) THEN -// WAV(ufric/s!) -// ENDIF WAV(ufric/s) endphoneme phoneme s; import_phoneme en/s -//CALL en/s endphoneme - -//phoneme n -// vcd pal nas -// FMT(n/nru) -// -// import_phoneme en/n -// length 200 -//endphoneme - phoneme n_ -// vcd pal nas -// FMT(n/nru) - import_phoneme en/n -// length 200 endphoneme - - phoneme n# vcd pal nas pzd ipa ɲ @@ -108,28 +98,28 @@ phoneme n# lengthmod 4 IF KlattSynth THEN - VowelStart(klatt/n^@) - FMT(klatt/n^) + VowelStart(klatt/n^@) + FMT(klatt/n^) ENDIF NextVowelStarts - VowelStart(n^/n^@) - VowelStart(n^/n^a) - VowelStart(n^/n^e) - VowelStart(n^/n^i) - VowelStart(n^/n^o) - VowelStart(n^/n^u) + VowelStart(n^/n^@) + VowelStart(n^/n^a) + VowelStart(n^/n^e) + VowelStart(n^/n^i) + VowelStart(n^/n^o) + VowelStart(n^/n^u) EndSwitch IF prevPh(isPause) THEN - FMT(n^/_n^) + FMT(n^/_n^) ELIF nextPh(isNotVowel) THEN - IF nextPhW(n^) THEN - length 75 - ELIF prevPhW(n^) THEN - length 100 - ENDIF - FMT(n^/n^_) + IF nextPhW(n^) THEN + length 75 + ELIF prevPhW(n^) THEN + length 100 + ENDIF + FMT(n^/n^_) ENDIF endphoneme @@ -145,7 +135,6 @@ phoneme r endphoneme - phoneme ts import_phoneme consonants/ts endphoneme @@ -158,11 +147,11 @@ phoneme dZ; Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70 IF PreVoicing THEN - FMT(dzh/xdzh) + FMT(dzh/xdzh) ENDIF IF nextPh(isPause2) THEN - FMT(dzh/dzh_) addWav(x/dzh_) + FMT(dzh/dzh_) addWav(x/dzh_) ENDIF endphoneme @@ -177,7 +166,6 @@ phoneme tS; endphoneme - // Palatalized versions of consonants phoneme t @@ -196,10 +184,6 @@ phoneme d; import_phoneme pl/d; endphoneme -//phoneme m; -// import_phoneme ro/m; -//endphoneme - phoneme m; vcd blb nas Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk @@ -207,57 +191,37 @@ phoneme m; length 20 IF KlattSynth THEN - Vowelin f1=0 f2=1000 -50 -200 f3=-200 80 - IF nextPh(isPause2) THEN - FMT(klatt/m_) - ENDIF - FMT(klatt/m) + Vowelin f1=0 f2=1000 -50 -200 f3=-200 80 + IF nextPh(isPause2) THEN + FMT(klatt/m_) + ENDIF + FMT(klatt/m) ENDIF - - VowelStart(m/mi) - -// NextVowelStarts -// VowelStart(m/m@) -// VowelStart(m/ma) -// VowelStart(m/me) -// VowelStart(m/mi) -// VowelStart(m/mo) -// VowelStart(m/mu) -// EndSwitch - -// IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN - FMT(m/mj) -// ELIF prevPh(isPause) THEN -// FMT(m/_m) -// ELIF nextPh(isNotVowel) THEN -// FMT(m/m_) -// ENDIF + VowelStart(m/mi) endphoneme - -phoneme I^ // "silent i", palatilizes the preceding consonant +phoneme I^ // "silent i", palatilizes the preceding consonant vwl starttype #i endtype #i unstressed nsy length 70 IF nextPh(isVowel) THEN - ChangePhoneme(;) + ChangePhoneme(;) ENDIF IF prevPh(m;) THEN - FMT(vwl_ro/mi) + FMT(vwl_ro/mi) ENDIF FMT(vwl_ru/ii-) endphoneme - //******************************************************************* // VOWELS //******************************************************************* phoneme i IF prevPh(Z) THEN - ChangePhoneme(y) + ChangePhoneme(y) ENDIF vwl starttype #i endtype #i length 50 @@ -269,10 +233,10 @@ phoneme I# vwl starttype #i endtype #i length 80 IF nextVowel(isMaxStress) THEN - ChangePhoneme(I) + ChangePhoneme(I) ENDIF IF thisPh(isMaxStress) THEN - ChangePhoneme(i) + ChangePhoneme(i) ENDIF FMT(vwl_ru/ii#) endphoneme @@ -290,11 +254,11 @@ phoneme I length 80 IF thisPh(isMaxStress) THEN - IF prevPhW(j) THEN - ChangePhoneme(a) - ELSE - ChangePhoneme(i) - ENDIF + IF prevPhW(j) THEN + ChangePhoneme(a) + ELSE + ChangePhoneme(i) + ENDIF ENDIF FMT(vwl_ru/ii) endphoneme @@ -304,10 +268,10 @@ phoneme I2 vwl starttype #i endtype #i length 80 IF thisPh(isMaxStress) THEN - ChangePhoneme(e) + ChangePhoneme(e) ENDIF IF prevPhW(isPalatal) THEN - ChangePhoneme(I) + ChangePhoneme(I) ENDIF FMT(vwl_ru/ii) endphoneme @@ -317,14 +281,14 @@ phoneme I3 vwl starttype #i endtype #i length 80 IF thisPh(isMaxStress) THEN - IF prevPhW(j) THEN - ChangePhoneme(e) - ELSE - ChangePhoneme(ja) - ENDIF + IF prevPhW(j) THEN + ChangePhoneme(e) + ELSE + ChangePhoneme(ja) + ENDIF ENDIF IF prevPhW(isPalatal) THEN - ChangePhoneme(I) + ChangePhoneme(I) ENDIF FMT(vwl_ru/ii) endphoneme @@ -341,11 +305,11 @@ phoneme E# vwl starttype #e endtype #e length 100 IF thisPh(isMaxStress) THEN - IF prevPhW(j) THEN - ChangePhoneme(e) - ELSE - ChangePhoneme(E) - ENDIF + IF prevPhW(j) THEN + ChangePhoneme(e) + ELSE + ChangePhoneme(E) + ENDIF ENDIF FMT(vwl_ru/E#) endphoneme @@ -355,19 +319,19 @@ phoneme E2 vwl starttype #e endtype #e length 80 IF nextVowel(isMaxStress) THEN - IF prevPh(j) THEN - ChangePhoneme(I3) - ELSE - ChangePhoneme(E#) - ENDIF + IF prevPh(j) THEN + ChangePhoneme(I3) + ELSE + ChangePhoneme(E#) + ENDIF ENDIF IF thisPh(isMaxStress) THEN - IF prevPhW(j) THEN - ChangePhoneme(e) - ELSE - ChangePhoneme(E) - ENDIF + IF prevPhW(j) THEN + ChangePhoneme(e) + ELSE + ChangePhoneme(E) + ENDIF ENDIF FMT(vwl_ru/E@) @@ -378,13 +342,13 @@ phoneme E3 vwl starttype #e endtype #e length 80 IF nextVowel(isMaxStress) THEN - ChangePhoneme(I) + ChangePhoneme(I) ENDIF IF thisPh(isMaxStress) THEN - ChangePhoneme(e) + ChangePhoneme(e) ENDIF IF prevPhW(isPalatal) THEN - ChangePhoneme(E2) + ChangePhoneme(E2) ENDIF FMT(vwl_ru/E@) endphoneme @@ -409,10 +373,10 @@ phoneme O vwl starttype #o endtype #o length 80 IF prevPhW(isPalatal) THEN - ChangePhoneme(8) + ChangePhoneme(8) ENDIF IF thisPh(isMaxStress) THEN - ChangePhoneme(o) + ChangePhoneme(o) ENDIF FMT(vwl_ru/oo) endphoneme @@ -447,16 +411,16 @@ phoneme e vwl starttype #e endtype #e length 100 IF prevPh(Z) THEN - ChangeIfNotStressed(y) - ChangePhoneme(E) + ChangeIfNotStressed(y) + ChangePhoneme(E) ENDIF IF prevPh(S) THEN - ChangeIfNotStressed(y) - ChangePhoneme(E) + ChangeIfNotStressed(y) + ChangePhoneme(E) ENDIF IF prevPh(ts) THEN - ChangeIfNotStressed(y) - ChangePhoneme(E) + ChangeIfNotStressed(y) + ChangePhoneme(E) ENDIF ChangeIfNotStressed(i) FMT(vwl_ru/ee) @@ -471,22 +435,22 @@ endphoneme phoneme ja vwl starttype #i endtype #a IF thisPh(isMaxStress) THEN - length 200 - FMT(vwl_ru/ja) + length 200 + FMT(vwl_ru/ja) ELSE - FMT(vdiph2/ii@) + FMT(vdiph2/ii@) ENDIF endphoneme phoneme ja# vwl starttype #i endtype #a IF thisPh(isMaxStress) THEN - FMT(vowel/&) - // ChangePhoneme(A) + FMT(vowel/&) + // ChangePhoneme(A) ELSE - IF prevPhW(isPalatal) THEN - ChangePhoneme(I) - ENDIF + IF prevPhW(isPalatal) THEN + ChangePhoneme(I) + ENDIF ENDIF // length 200 @@ -500,21 +464,17 @@ phoneme V# vwl starttype #a endtype #@ unstressed length 80 -// IF nextVowel(isMaxStress) THEN - // not needed? because V# is only used at end-of-word -// ChangePhoneme(I3) -// ENDIF IF thisPh(isMaxStress) THEN - IF prevPhW(j) THEN - ChangePhoneme(A) - ELSE - ChangePhoneme(ja) - ENDIF + IF prevPhW(j) THEN + ChangePhoneme(A) + ELSE + ChangePhoneme(ja) + ENDIF ENDIF IF prevPhW(isPalatal) THEN - ChangePhoneme(V) + ChangePhoneme(V) ENDIF FMT(vowel/V_2) @@ -542,21 +502,21 @@ phoneme a IF prevPhW(j) THEN ELSE - IF thisPh(isMaxStress) THEN - IF prevPhW(isPalatal) THEN - ChangePhoneme(ja) - ELSE - ChangePhoneme(A) - ENDIF - ELSE - IF prevPhW(isPalatal) THEN - ChangePhoneme(I) - ENDIF - ENDIF + IF thisPh(isMaxStress) THEN + IF prevPhW(isPalatal) THEN + ChangePhoneme(ja) + ELSE + ChangePhoneme(A) + ENDIF + ELSE + IF prevPhW(isPalatal) THEN + ChangePhoneme(I) + ENDIF + ENDIF ENDIF IF thisPh(isWordEnd) THEN - FMT(vowel/a#_3) + FMT(vowel/a#_3) ENDIF FMT(vwl_ru/aa) endphoneme @@ -568,17 +528,15 @@ phoneme V unstressed IF nextVowel(isMaxStress) THEN - ChangePhoneme(a) + ChangePhoneme(a) ENDIF IF thisPh(isMaxStress) THEN - IF prevPhW(j) THEN - ChangePhoneme(a) -// ELIF prevPhW(isPalatal) THEN -// ChangePhoneme(ja) - ELSE - ChangePhoneme(A) - ENDIF + IF prevPhW(j) THEN + ChangePhoneme(a) + ELSE + ChangePhoneme(A) + ENDIF ENDIF FMT(vowel/V_2) @@ -600,4 +558,3 @@ phoneme R4 FMT(r3/r_ru2) addWav(r3/r_ru, 50) endphoneme -