Browse Source

Latvian language improvements.

New vowel definitions, fixes in rules and voice intonation.
master
Valdis Vitolins 9 years ago
parent
commit
05c8695b51

+ 2
- 0
dictsource/lv_list View File

arvien $2 arvien $2
jebkad $2 jebkad $2
jebkur $2 jebkur $2
joprojām $2
kautko $2
labdien $2 labdien $2
labvakar $2 labvakar $2
nekad $2 nekad $2

+ 15
- 11
dictsource/lv_rules View File

// +---------------------------+ // +---------------------------+


// E narrowers // E narrowers
.L21 i ī ie ei // vowel narrowers of e
.L21 i ī ie ei y // vowel narrowers of e
.L22 j k ģ ļ ņ ŗ š ž č dž // consonant narrowers of e .L22 j k ģ ļ ņ ŗ š ž č dž // consonant narrowers of e
.L26 f h ḩ // international consonants as a narrowers of e
.L26 f h ḩ q x w // international consonants as a narrowers of e
.L23 s i m // remaining ending of the 2. and 5. decl. words .L23 s i m // remaining ending of the 2. and 5. decl. words


// E wideners // E wideners
// +---------------------------+ // +---------------------------+


// Default rules for o with succeeding consonants // Default rules for o with succeeding consonants
.L40 č ģ ķ ļ ņ ŗ š ž // uo indicator letters o is spelled as uo with Latvian soft consonants
.L41 f h w x y // o indicators — o is spelled as o with Latin letters
.L40 č ģ ķ ļ ņ ŗ š ž // uo indicator letters o is spelled as uo with Latvian soft consonants
.L41 f h q w x y // o indicators — o is spelled as o with Latin letters


.L42 i e o // o vowel pre/postfixes .L42 i e o // o vowel pre/postfixes
.L43 lg ng zn // o postfixes .L43 lg ng zn // o postfixes
// | All letters | // | All letters |
// +---------------------------+ // +---------------------------+
// These are used for "." like padding // These are used for "." like padding
.L88 a ā b c č d e ē f g ģ h ḩ i ī j k ķ l ļ m n ņ o ō p r ŗ s š t u ū v w x y z ž -
.L88 a ā b c č d e ē f g ģ h ḩ i ī j k ķ l ļ m n ņ o ō p q r ŗ s š t u ū v w x y z ž


// +---------------------------+ // +---------------------------+
// | Pronunciation groups | // | Pronunciation groups |
L42) o o: // o prefixes L42) o o: // o prefixes
o (L43 o // o postfixes o (L43 o // o postfixes
L41) o (L88 o // o indicators before
L41L88) o (L88 o
L41L88L88) o (L88 o
L41L88L88L88) o (L88 o
L41) o o // o indicators before
L41L88) o o
L41L88L88) o o
L41L88L88L88) o o
o (L41 o // o indicators after o (L41 o // o indicators after
o (L88L41 o o (L88L41 o
o (L88L88L41 o o (L88L88L41 o
o (L44 uo // uo postfixes o (L44 uo // uo postfixes
_femt) o o
_kil) o o // international prefixes _kil) o o // international prefixes
_mikr) o (+ o // otherwise conflicts with ..kroko(t/d).. _mikr) o (+ o // otherwise conflicts with ..kroko(t/d)..
_micr) o o _micr) o o
_nan) o o _nan) o o
_pik) o o _pik) o o
_hekt) o o _hekt) o o
_yokt) o o
_zept) o o
_m) ono ono: _m) ono ono:
_stere) o o: _stere) o o:
lj) o o: lj) o o:
l) o (ģ o: l) o (ģ o:
l) o (ģiz+ o l) o (ģiz+ o
l) o (jL50 l o
l) o (jL50 o
_l) o (litL04_ o // Lolita _l) o (litL04_ o // Lolita
l) o (kal o l) o (kal o
l) okomo okomo l) okomo okomo
_) o (mi o: _) o (mi o:
o (ng o o (ng o
o (nko o o (nko o
o (pL01_+ o: // ..ops
@) o (pL01_+ o: // ..ops
o (nL01_+ o: // ..ons o (nL01_+ o: // ..ons
o (no o o (no o
on) o o on) o o
_t) opo (n opo _t) opo (n opo
t) opo (t uopuo t) opo (t uopuo
t) opo (š uopuo t) opo (š uopuo
_t) o (pL01_ o
t) o (ra o t) o (ra o
t) o (rā o t) o (rā o
_t) o (reiz_ uo // toreiz _t) o (reiz_ uo // toreiz

+ 1
- 1
espeak-data/voices/europe/lv View File

name latvian name latvian
language lv language lv
gender male gender male
words 0 2
//intonation 2 //intonation 2


//tunes s5 c5 q5 e5 //tunes s5 c5 q5 e5

+ 47
- 47
phsource/ph_latvian View File

// ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN // ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
// FMT(vowel/..., 50) // FMT(vowel/..., 50)
// ELSE // ELSE
// FMT(vowel/..., 75)
// FMT(vowel/..., 80)
// ENDIF // ENDIF


phoneme a phoneme a
vowel starttype #a endtype #a vowel starttype #a endtype #a
length 120 length 120
IF thisPh(isStressed) THEN IF thisPh(isStressed) THEN
FMT(vowel/aa_7, 90) // other possible variants: a_3, a_5 or aa_7
FMT(vwl_lv/a, 100) // adjusted from aa_3
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/aa_7, 45)
FMT(vwl_lv/a, 50)
ELSE ELSE
FMT(vowel/aa_7, 68)
FMT(vwl_lv/a, 80)
ENDIF ENDIF
endphoneme endphoneme


length 300 length 300
long long
IF thisPh(isStressed) THEN IF thisPh(isStressed) THEN
FMT(vowel/aa_9, 80) // other possible variants: a_3
FMT(vwl_lv/aa, 100)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/aa_9, 40)
FMT(vwl_lv/aa, 50)
ELSE ELSE
FMT(vowel/aa_9, 60)
FMT(vwl_lv/aa, 80)
ENDIF ENDIF
endphoneme endphoneme


vowel starttype #e endtype #e vowel starttype #e endtype #e
length 120 length 120
IF thisPh(isStressed) THEN IF thisPh(isStressed) THEN
FMT(vowel/ee_3, 90)
FMT(vwl_lv/E, 100)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/ee_3, 45)
FMT(vwl_lv/E, 50)
ELSE ELSE
FMT(vowel/ee_3, 68)
FMT(vwl_lv/E, 80)
ENDIF ENDIF
endphoneme endphoneme


vowel starttype #e endtype #e vowel starttype #e endtype #e
length 300 length 300
IF thisPh(isStressed) THEN IF thisPh(isStressed) THEN
FMT(vowel/ee_5, 60)
FMT(vwl_lv/EE, 100)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/ee_5, 30)
FMT(vwl_lv/EE, 50)
ELSE ELSE
FMT(vowel/ee_5, 45)
FMT(vwl_lv/EE, 80)
ENDIF ENDIF
endphoneme endphoneme


vowel starttype #e endtype #e vowel starttype #e endtype #e
length 120 length 120
IF thisPh(isStressed) THEN IF thisPh(isStressed) THEN
FMT(vowel/e_9, 100) // other alternative e_5
FMT(vwl_lv/e, 100) // other alternative e_5
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/e_9, 50)
FMT(vwl_lv/e, 50)
ELSE ELSE
FMT(vowel/e_9, 75)
FMT(vwl_lv/e, 80)
ENDIF ENDIF
endphoneme endphoneme


vowel starttype #e endtype #e vowel starttype #e endtype #e
length 300 length 300
IF thisPh(isStressed) THEN IF thisPh(isStressed) THEN
FMT(vowel/e_mid2, 100) // other alternative e_8
FMT(vwl_lv/ee, 100) // other alternative e_8
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/e_mid2, 50)
FMT(vwl_lv/ee, 50)
ELSE ELSE
FMT(vowel/e_mid2, 75)
FMT(vwl_lv/ee, 80)
ENDIF ENDIF
endphoneme endphoneme


vowel starttype #i endtype #i vowel starttype #i endtype #i
length 120 length 120
IF thisPh(isStressed) THEN IF thisPh(isStressed) THEN
FMT(vowel/i_6, 140)
FMT(vwl_lv/i, 110) // was i_6
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/i_6, 70)
FMT(vwl_lv/i, 55)
ELSE ELSE
FMT(vowel/i_6, 105)
FMT(vwl_lv/i, 88)
ENDIF ENDIF
endphoneme endphoneme


vowel starttype #i endtype #i vowel starttype #i endtype #i
length 300 length 300
IF thisPh(isStressed) THEN IF thisPh(isStressed) THEN
FMT(vowel/i_7, 120)
FMT(vwl_lv/ii, 110) // was i_7
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/i_7, 60)
FMT(vwl_lv/ii, 55)
ELSE ELSE
FMT(vowel/i_7, 90)
FMT(vwl_lv/ii, 88)
ENDIF ENDIF
endphoneme endphoneme


vowel starttype #o endtype #o vowel starttype #o endtype #o
length 120 length 120
IF thisPh(isStressed) THEN IF thisPh(isStressed) THEN
FMT(vowel/oo_2, 100)
FMT(vwl_lv/o, 90)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/oo_2, 50)
FMT(vwl_lv/o, 45)
ELSE ELSE
FMT(vowel/oo_2, 75)
FMT(vwl_lv/o, 68)
ENDIF ENDIF
endphoneme endphoneme


vowel starttype #o endtype #o vowel starttype #o endtype #o
length 300 length 300
IF thisPh(isStressed) THEN IF thisPh(isStressed) THEN
FMT(vowel/oo_1, 90)
FMT(vwl_lv/oo, 80)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/oo_1, 45)
FMT(vwl_lv/oo, 40)
ELSE ELSE
FMT(vowel/oo_1, 68)
FMT(vwl_lv/oo, 60)
ENDIF ENDIF
endphoneme endphoneme


vowel starttype #u endtype #u vowel starttype #u endtype #u
length 120 length 120
IF thisPh(isMaxStress) THEN IF thisPh(isMaxStress) THEN
FMT(vowel/u, 140)
FMT(vwl_lv/u, 140)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/u, 70)
FMT(vwl_lv/u, 70)
ELSE ELSE
FMT(vowel/u, 105)
FMT(vwl_lv/u, 105)
ENDIF ENDIF
endphoneme endphoneme


vowel starttype #u endtype #u vowel starttype #u endtype #u
length 300 length 300
IF thisPh(isMaxStress) THEN IF thisPh(isMaxStress) THEN
FMT(vowel/u_3, 120)
FMT(vwl_lv/uu, 120)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/u_3, 60)
FMT(vwl_lv/uu, 60)
ELSE ELSE
FMT(vowel/u_3, 90)
FMT(vwl_lv/uu, 90)
ENDIF ENDIF
endphoneme endphoneme


ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph/aai, 50) FMT(vdiph/aai, 50)
ELSE ELSE
FMT(vdiph/aai, 75)
FMT(vdiph/aai, 80)
ENDIF ENDIF
endphoneme endphoneme


ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph/aau, 50) FMT(vdiph/aau, 50)
ELSE ELSE
FMT(vdiph/aau, 75)
FMT(vdiph/aau, 80)
ENDIF ENDIF
endphoneme endphoneme


ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph/eei_2, 50) FMT(vdiph/eei_2, 50)
ELSE ELSE
FMT(vdiph/eei_2, 75)
FMT(vdiph/eei_2, 80)
ENDIF ENDIF
endphoneme endphoneme


ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph2/ie_2, 50) FMT(vdiph2/ie_2, 50)
ELSE ELSE
FMT(vdiph2/ie_2, 75)
FMT(vdiph2/ie_2, 80)
ENDIF ENDIF
endphoneme endphoneme


ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph2/iu_2, 50) FMT(vdiph2/iu_2, 50)
ELSE ELSE
FMT(vdiph2/iu_2, 75)
FMT(vdiph2/iu_2, 80)
ENDIF ENDIF
endphoneme endphoneme


ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph/ui, 50) FMT(vdiph/ui, 50)
ELSE ELSE
FMT(vdiph/ui, 75)
FMT(vdiph/ui, 80)
ENDIF ENDIF
endphoneme endphoneme


length 200 length 200
//long //long
IF thisPh(isMaxStress) THEN IF thisPh(isMaxStress) THEN
FMT(vdiph2/uaa, 100)
FMT(vdiph2/uaa 100)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph2/uaa, 50)
FMT(vdiph2/uaa 50)
ELSE ELSE
FMT(vdiph2/uaa, 75)
FMT(vdiph2/uaa 80)
ENDIF ENDIF
endphoneme endphoneme


ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph/ooi, 50) FMT(vdiph/ooi, 50)
ELSE ELSE
FMT(vdiph/ooi, 75)
FMT(vdiph/ooi, 80)
ENDIF ENDIF
endphoneme endphoneme



BIN
phsource/vwl_lv/E View File


BIN
phsource/vwl_lv/EE View File


BIN
phsource/vwl_lv/a View File


BIN
phsource/vwl_lv/aa View File


BIN
phsource/vwl_lv/e View File


BIN
phsource/vwl_lv/ee View File


BIN
phsource/vwl_lv/i View File


BIN
phsource/vwl_lv/ii View File


BIN
phsource/vwl_lv/o View File


BIN
phsource/vwl_lv/oo View File


BIN
phsource/vwl_lv/u View File


BIN
phsource/vwl_lv/uu View File


BIN
phsource/vwl_lv/vowelchart.png View File


Loading…
Cancel
Save