Browse Source

ru: create Russian (Latvia) accent

master
Valdis Vitolins 7 years ago
parent
commit
031f34ac61
6 changed files with 134 additions and 0 deletions
  1. 1
    0
      CHANGELOG.md
  2. 1
    0
      Makefile.am
  3. 16
    0
      dictsource/ru_rules
  4. 16
    0
      espeak-ng-data/lang/zle/ru-LV
  5. 97
    0
      phsource/ph_russian_lv
  6. 3
    0
      phsource/phonemes

+ 1
- 0
CHANGELOG.md View File



* hak (Hakka Chinese) -- Chen Chien-ting * hak (Hakka Chinese) -- Chen Chien-ting
* ht (Haitian Creole) -- Valdis Vitolins * ht (Haitian Creole) -- Valdis Vitolins
* ru-lv (Russian Latvia) -- Valdis Vitolins
* shn (Shan Tay Yai) -- ronaldaug * shn (Shan Tay Yai) -- ronaldaug


updated languages: updated languages:

+ 1
- 0
Makefile.am View File

phsource/ph_punjabi \ phsource/ph_punjabi \
phsource/ph_romanian \ phsource/ph_romanian \
phsource/ph_russian \ phsource/ph_russian \
phsource/ph_russian_lv \
phsource/ph_s_gaelic \ phsource/ph_s_gaelic \
phsource/ph_serbian \ phsource/ph_serbian \
phsource/ph_setswana \ phsource/ph_setswana \

+ 16
- 0
dictsource/ru_rules View File

// H hard consonant: ъ ж ц ш // H hard consonant: ъ ж ц ш
// Y iotated vowel, softsign: ь ю я ё // Y iotated vowel, softsign: ь ю я ё


// Conditional rules
// ?2 Russian (Latvia)


.group а .group а
а V а V


.group б .group б
б b б b
?2 б (_ b
б (Y b; б (Y b;
б (_ p б (_ p
б (бY b; б (бY b;


.group в .group в
в v в v
?2 в (_ v-
в (_ f в (_ f
в (Y v; в (Y v;
в (бY v; в (бY v;


.group е .group е
е e е e
?2 A) е (_ ;e
A) е je A) е je
A) е (_ jI3 //second position A) е (_ jI3 //second position
бакт) е (р E% // бактериальный, антибактериальный, ... бакт) е (р E% // бактериальный, антибактериальный, ...
ж (хY S ж (хY S
ж (хкY S ж (хкY S
жч S; жч S;
?2 жч SS


.group з .group з
з z з z
?2 з (е z
?2 зч SS
з (Y z; з (Y z;
з (_ s з (_ s
з (дY z; з (дY z;


.group л .group л
л l л l
?2 л (Y l^
л (Y l; л (Y l;


.group м .group м
м m м m
?2 м (Y m
м (Y m; м (Y m;
м (бY m; м (бY m;
м (вY m; м (вY m;


.group н .group н
н n н n
?2 н (Y n^
н (Y n; н (Y n;
биз) не (с nE% биз) не (с nE%
н (_ n_ н (_ n_


.group с .group с
с s с s
?2 сч S
с (Y s; с (Y s;
с (б z с (б z
с (г z с (г z


.group щ .group щ
щ S; щ S;
?2 щ SS
щ (бY Z; щ (бY Z;
щ (б Z; щ (б Z;
щ (бвY Z; щ (бвY Z;


.group ъ .group ъ
ъ (Y j ъ (Y j
?2 ъ (Y _|


.group ы .group ы
ы y ы y


.group ь .group ь
ь (Y j ь (Y j
?2 ь (Y _|


.group э .group э
э E2 э E2


.group ё .group ё
ё '8 ё '8
?2 A) ё 'j8
_) ё 'j8 _) ё 'j8
ж) ё 'O ж) ё 'O
ш) ё 'O ш) ё 'O

+ 16
- 0
espeak-ng-data/lang/zle/ru-LV View File

name Russian (Latvia)
language ru-LV 2

maintainer Valdis Vitolins <[email protected]>
status testing

phonemes ru-lv
dictrules 2
dict_min 20000
speed 95

words 0 2
tone 150 220 450 255 750 20 3500 255
stressAmp 12 10 8 8 0 0 16 17
stressLength 160 140 200 140 0 0 240 160


+ 97
- 0
phsource/ph_russian_lv View File

phoneme l
liquid

IF nextPh(isNotVowel) THEN
PrevVowelEndings
VowelEnding(l/L1_@L)
VowelEnding(l/L1_aL)
VowelEnding(l/L1_eL)
VowelEnding(l/L1_iL)
VowelEnding(l/L1_oL)
VowelEnding(l/L1_uL)
EndSwitch

FMT(l/l_)
RETURN
ENDIF

CALL vowelstart_l

IF prevPh(isVowel) THEN
VowelEnding(l/xl, 10)
ENDIF

IF prevPh(isPause) THEN
FMT(l/_l)
ENDIF

IF prevPh(t) THEN
FMT(l/tl)
ENDIF

IF prevPh(l/) THEN
FMT(l/l_long) // double l, make it longer
ENDIF

FMT(l/l)
endphoneme

phoneme l^ // Latvian ļ, customized from standard l^
liquid
ipa ʎ
lengthmod 7
Vowelout len=60 lenadd rate
length 100

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^_)
ENDIF

FMT(l^/l^)
endphoneme

phoneme o
vwl starttype #o endtype #o
length 100
IF thisPh(isUnstressed) THEN
FMT(vowel/aa_7)
ENDIF
FMT(vwl_ru/o)
endphoneme

phoneme 8
vwl starttype #o endtype #o
length 120
ChangeIfNotStressed(V)
FMT(vwl_ru/8)
endphoneme

phoneme e
vwl starttype #e endtype #e
length 100
IF prevPh(Z) THEN
ChangeIfNotStressed(y)
ChangePhoneme(E)
ENDIF
IF prevPh(S) THEN
ChangeIfNotStressed(y)
ChangePhoneme(E)
ENDIF
IF prevPh(ts) THEN
ChangeIfNotStressed(y)
ChangePhoneme(E)
ENDIF
FMT(vwl_ru/ee)
endphoneme


+ 3
- 0
phsource/phonemes View File

phonemetable ru base1 phonemetable ru base1
include ph_russian include ph_russian


phonemetable ru-lv ru
include ph_russian_lv

phonemetable bg pl phonemetable bg pl
include ph_bulgarian include ph_bulgarian



Loading…
Cancel
Save