Browse Source

WIP Latvian improvements

master
Valdis Vitolins 7 years ago
parent
commit
199b53b036
4 changed files with 60 additions and 17 deletions
  1. 1
    0
      dictsource/lv_list
  2. 4
    2
      dictsource/lv_rules
  3. 2
    2
      espeak-ng-data/lang/bat/lv
  4. 53
    13
      phsource/ph_latvian

+ 1
- 0
dictsource/lv_list View File

tomēr $u $pause tomēr $u $pause
turpretim $u $2 $pause turpretim $u $2 $pause
turpretī $u $2 $pause turpretī $u $2 $pause
tur $u+
un $u un $u
uz $u uz $u
vai $u+ $brk vai $u+ $brk

+ 4
- 2
dictsource/lv_rules View File

i i i i
i (A i_! i (A i_!
ie ie ie ie
ikv) ie (n 'ie // stress on 2nd syllable
_) i (kkat %i // ikkatrs
_) i (kkuL82 %i // ikkurš
_) i (kvien %i // ikviens
iu iu iu iu


.group ī .group ī
pr) ot (u_ uot pr) ot (u_ uot
publisk) ot uot publisk) ot uot
r) ot (āc ot r) ot (āc ot
r) ot (b ot
r) ot (er ot r) ot (er ot
r) ot (ē ot r) ot (ē ot
sab) ot ot sab) ot ot
sp) ot (+ ot sp) ot (+ ot
t) ot (ēm ot t) ot (ēm ot
t) ot (L50l ot t) ot (L50l ot
tr) ot ot
_v) ot (_++++++ ot // vot _v) ot (_++++++ ot // vot
zig) ot (L01_ ot // ..zigots zig) ot (L01_ ot // ..zigots
zig) ot (L04_ ot // ..zigota zig) ot (L04_ ot // ..zigota

+ 2
- 2
espeak-ng-data/lang/bat/lv View File

formant 0 95 100 100 -5 formant 0 95 100 100 -5
//tunes s5 c5 q5 e5 //tunes s5 c5 q5 e5
tone 150 220 450 255 750 20 3500 255 tone 150 220 450 255 750 20 3500 255
stressAmp 12 10 10 8 0 0 18 15
stressLength 180 180 180 160 0 0 240 180
stressAmp 12 10 10 8 0 0 20 15
stressLength 180 180 180 160 0 0 250 180

+ 53
- 13
phsource/ph_latvian View File

WAV(ustop/tsh,40) WAV(ustop/tsh,40)
endphoneme endphoneme


phoneme n-
phoneme n- // more voiced variant of n
vwl starttype #a endtype #a vwl starttype #a endtype #a
ipa nU+0329 ipa nU+0329
lengthmod 4 lengthmod 4
VowelStart(j/jo) VowelStart(j/jo)
VowelStart(j/ju) VowelStart(j/ju)
EndSwitch EndSwitch

IF prevPhW(e) THEN
VowelEnding(j/xj, 10) //
ELSE
VowelEnding(j/xj, 127) // In difference with English, vowel is lengthened, not shortened
ENDIF

IF prevPh(isPause) THEN
FMT(j/_j)
ENDIF
VowelEnding(j/xj, 70) // In difference with English, vowel is lengthened, not shortened
ELSE ELSE
// no vowel follows
Vowelout len=127
Vowelout len=127 // no vowel follows
FMT(j/xj) FMT(j/xj)
ENDIF ENDIF

IF prevPh(isPause) THEN
FMT(j/_j)
ENDIF
endphoneme

phoneme l
liquid

IF nextPh(isNotVowel) THEN
ChangePhoneme(l/)
ENDIF

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(a) OR prevPh(a:) THEN
VowelEnding(l/xl,30) // FIXME
ELSEIF 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 endphoneme





Loading…
Cancel
Save