Browse Source

Latvian language improvements.

Adjustments of vowels and consonants.
master
Valdis Vitolins 9 years ago
parent
commit
92ff37370d
5 changed files with 211 additions and 136 deletions
  1. 3
    3
      dictsource/lv_list
  2. 1
    1
      espeak-data/voices/europe/lv
  3. 199
    122
      phsource/ph_latvian
  4. 8
    10
      phsource/vowelcharts/lv
  5. BIN
      phsource/vowelcharts/lv.png

+ 3
- 3
dictsource/lv_list View File

@@ -157,9 +157,9 @@ _¿ 'apgRiezta:||j'auta:jumzi:me
_‒ duomuzi:me
_‖ d'ubultsta:st,a:vsvi:tRa

= _viena:ds_ $max3
* zvaigzni:te $max3
% pRotsenti $max3
= _viena:ds_! $max3
* zvaigzni:te_! $max3
% pRotsenti_! $max3
+ pluss $max3
@ at_:
& _!%un

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

@@ -5,4 +5,4 @@ gender male

//intonation 2

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

+ 199
- 122
phsource/ph_latvian View File

@@ -1,195 +1,262 @@
phoneme i
vowel starttype #i endtype #i
length 100
FMT(vowel/i_6)
endphoneme

phoneme i2
vowel starttype #i endtype #i
length 100
IfNextVowelAppend(;)
FMT(vowel/i_2)
endphoneme


phoneme i3
vowel starttype #i endtype #i
length 100
IfNextVowelAppend(;)
FMT(vowel/i_3)
endphoneme

phoneme i4
vowel starttype #i endtype #i
length 100
IfNextVowelAppend(;)
FMT(vowel/i_4)
endphoneme
// IF thisPh(isStressed) THEN
// FMT(vowel/..., 100)
// ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
// FMT(vowel/..., 50)
// ELSE
// FMT(vowel/..., 75)
// ENDIF

phoneme i5
vowel starttype #i endtype #i
length 100
IfNextVowelAppend(;)
FMT(vowel/i_5)
endphoneme

phoneme i6
vowel starttype #i endtype #i
length 100
IfNextVowelAppend(;)
FMT(vowel/i_6)
endphoneme

phoneme i7
vowel starttype #i endtype #i
length 100
IfNextVowelAppend(;)
FMT(vowel/i_7)
endphoneme

phoneme i8
vowel starttype #i endtype #i
length 100
IfNextVowelAppend(;)
FMT(vowel/i_8)
phoneme a
vowel starttype #a endtype #a
length 120
IF thisPh(isStressed) THEN
FMT(vowel/aa_7, 90) // other possible variants: a_3, a_5 or aa_7
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/aa_7, 45)
ELSE
FMT(vowel/aa_7, 68)
ENDIF
endphoneme

phoneme i:
vowel starttype #i endtype #i
length 250
FMT(vowel/i_7)
phoneme a:
vowel starttype #a endtype #a
length 300
long
IF thisPh(isStressed) THEN
FMT(vowel/aa_9, 80) // other possible variants: a_3
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/aa_9, 40)
ELSE
FMT(vowel/aa_9, 60)
ENDIF
endphoneme

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

phoneme E:
vowel starttype #e endtype #e
length 250
FMT(vowel/e_mid)
length 300
IF thisPh(isStressed) THEN
FMT(vowel/ee_5, 60)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/ee_5, 30)
ELSE
FMT(vowel/ee_5, 45)
ENDIF
endphoneme

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

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


phoneme a
vowel starttype #a endtype #a
length 100
FMT(vowel/aa_7) // possible variants: a_3, a_5 or aa_7
phoneme i
vowel starttype #i endtype #i
length 120
IF thisPh(isStressed) THEN
FMT(vowel/i_6, 140)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/i_6, 70)
ELSE
FMT(vowel/i_6, 105)
ENDIF
endphoneme

phoneme a:
vowel starttype #a endtype #a
phoneme i:
vowel starttype #i endtype #i
length 300
long
FMT(vowel/aa_9) // was a_3 or aa_9
IF thisPh(isStressed) THEN
FMT(vowel/i_7, 120)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/i_7, 60)
ELSE
FMT(vowel/i_7, 90)
ENDIF
endphoneme

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

phoneme o:
vowel starttype #o endtype #o
length 200
FMT(vowel/oo_1)
length 300
IF thisPh(isStressed) THEN
FMT(vowel/oo_1, 90)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vowel/oo_1, 45)
ELSE
FMT(vowel/oo_1, 68)
ENDIF
endphoneme

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

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


phoneme ai
vowel starttype #a endtype #i
length 230
long
IF thisPh(isMaxStress) THEN
FMT(vdiph/aai, 100)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph/aai, 50)
ELSE
FMT(vdiph/aai, 75)
ENDIF
endphoneme

phoneme au
vowel starttype #a endtype #u
length 250
long
FMT(vdiph/aai)
IF thisPh(isMaxStress) THEN
FMT(vdiph/aau, 100)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph/aau, 50)
ELSE
FMT(vdiph/aau, 75)
ENDIF
endphoneme

phoneme ei
vowel starttype #e endtype #i
length 250
long
FMT(vdiph/eei_2)
IF thisPh(isMaxStress) THEN
FMT(vdiph/eei_2, 100)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph/eei_2, 50)
ELSE
FMT(vdiph/eei_2, 75)
ENDIF
endphoneme

phoneme au
vowel starttype #a endtype #u
phoneme ie
vowel starttype #i endtype #e
length 250
long
FMT(vdiph/aau)
endphoneme

phoneme uo
vowel starttype #u endtype #a
length 200
//long
FMT(vdiph2/uaa)
IF thisPh(isMaxStress) THEN
FMT(vdiph2/ie_2, 100)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph2/ie_2, 50)
ELSE
FMT(vdiph2/ie_2, 75)
ENDIF
endphoneme

phoneme oi
vowel starttype #o endtype #i
phoneme iu
vowel starttype #i endtype #u
length 250
long
FMT(vdiph/ooi)
IF thisPh(isMaxStress) THEN
FMT(vdiph2/iu_2, 100)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph2/iu_2, 50)
ELSE
FMT(vdiph2/iu_2, 75)
ENDIF
endphoneme

phoneme ui
vowel starttype #u endtype #i
length 250
long
FMT(vdiph/ui)
IF thisPh(isMaxStress) THEN
FMT(vdiph/ui, 100)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph/ui, 50)
ELSE
FMT(vdiph/ui, 75)
ENDIF
endphoneme

phoneme ie
vowel starttype #i endtype #e
length 250
long
FMT(vdiph2/ie_2)
phoneme uo
vowel starttype #u endtype #a
length 200
//long
IF thisPh(isMaxStress) THEN
FMT(vdiph2/uaa, 100)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph2/uaa, 50)
ELSE
FMT(vdiph2/uaa, 75)
ENDIF
endphoneme

phoneme iu
vowel starttype #i endtype #u
phoneme oi
vowel starttype #o endtype #i
length 250
long
FMT(vdiph2/iu_2)
endphoneme

phoneme R
liquid
trill
lengthmod 6
Vowelin f1=0 f2=1700 -300 300 f3=-300 80
Vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk
FMT(r3/r_trill) addWav(r3/r_trill.wav, 50)
IF thisPh(isMaxStress) THEN
FMT(vdiph/ooi, 100)
ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
FMT(vdiph/ooi, 50)
ELSE
FMT(vdiph/ooi, 75)
ENDIF
endphoneme

phoneme ts
vls alv afr nolink
vls alv afr nolink
voicingswitch J
length 55
lengthmod 1
@@ -204,12 +271,21 @@ phoneme tS
WAV(ustop/tsh,40)
endphoneme

phoneme t
phoneme R
liquid
trill
lengthmod 6
Vowelin f1=0 f2=1700 -300 300 f3=-300 80
Vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk
FMT(r3/r_trill) addWav(r3/r_trill.wav, 50)
endphoneme

phoneme t
vls alv stop //lengthenstop
lengthmod 1
voicingswitch d
IF nextPh(isPause2) THEN
WAV(ustop/t_dnt, 20)
WAV(ustop/t_dnt, 40)
ENDIF
WAV(ustop/t_dnt, 50)
endphoneme
@@ -254,7 +330,7 @@ phoneme c
WAV(ustop/c, 90)
endphoneme

phoneme l
phoneme l
liquid
unstressed
dnt
@@ -262,11 +338,12 @@ phoneme l
FMT(vwl_hi/l-voc)
endphoneme

phoneme s2 // second part of long [s:]
phoneme s
vls alv frc sibilant
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
WAV(ufric/s_continue)
WAV(ufric/s,40)
endphoneme


+ 8
- 10
phsource/vowelcharts/lv View File

@@ -1,17 +1,15 @@
@ 0 448 1220 2260 448 1220 2260
a 0 784 1180 2680 776 1200 2680
e 0 584 1820 2560 584 1820 2560
a 0 762 1120 2840 762 1120 2840
e 0 545 1888 2552 545 1888 2552
i 0 296 2220 2880 288 2260 2900
o 0 512 860 2648 512 860 2648
u 0 320 860 2360 320 860 2460
i: 0 296 2220 2880 288 2260 2900
e: 0 584 1820 2560 584 1820 2560
& 0 736 1540 2500 752 1540 2500
&: 0 736 1540 2500 752 1540 2500
a# 0 632 1300 2600 616 1340 2600
a: 0 784 1180 2680 776 1200 2680
i: 0 264 2340 2880 240 2339 2860
E 0 735 1760 2420 675 1738 2420
E: 0 646 1780 2500 646 1780 2500
e: 0 504 1900 2540 504 1900 2540
a: 0 712 1160 2780 696 1160 2780
o: 0 512 860 2648 512 860 2648
u: 0 320 860 2360 320 860 2460
u: 0 256 740 2400 256 740 2400
ai 0 752 1140 2820 424 2000 2500
ei 0 547 1855 2536 320 2300 2740
au 0 688 1060 2580 368 900 2540

BIN
phsource/vowelcharts/lv.png View File


Loading…
Cancel
Save