diff --git a/dictsource/lv_list b/dictsource/lv_list index f653c36e..4567de78 100644 --- a/dictsource/lv_list +++ b/dictsource/lv_list @@ -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 diff --git a/espeak-data/voices/europe/lv b/espeak-data/voices/europe/lv index a0a9f430..8c5a104a 100644 --- a/espeak-data/voices/europe/lv +++ b/espeak-data/voices/europe/lv @@ -5,4 +5,4 @@ gender male //intonation 2 -tunes s5 c5 q5 e5 +//tunes s5 c5 q5 e5 diff --git a/phsource/ph_latvian b/phsource/ph_latvian index 5371f7d1..97f012c7 100644 --- a/phsource/ph_latvian +++ b/phsource/ph_latvian @@ -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 - -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) -endphoneme - -phoneme i: - vowel starttype #i endtype #i - length 250 - FMT(vowel/i_7) -endphoneme - -phoneme E - vowel starttype #e endtype #e - length 100 - FMT(vowel/ee_5) -endphoneme - -phoneme E: - vowel starttype #e endtype #e - length 250 - FMT(vowel/e_mid) -endphoneme - -phoneme e - vowel starttype #e endtype #e - length 150 - FMT(vowel/e_mid) -endphoneme - -phoneme e: - vowel starttype #e endtype #e - length 250 - FMT(vowel/e_mid) -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 a vowel starttype #a endtype #a - length 100 - FMT(vowel/aa_7) // possible variants: a_3, a_5 or aa_7 + 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 a: vowel starttype #a endtype #a length 300 long - FMT(vowel/aa_9) // was a_3 or aa_9 + 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 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 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 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 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 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 i: + vowel starttype #i endtype #i + length 300 + 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 250 + length 230 long - FMT(vdiph/aai) -endphoneme - -phoneme ei - vowel starttype #e endtype #i - length 250 - long - FMT(vdiph/eei_2) + 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/aau) + 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 uo - vowel starttype #u endtype #a - length 200 - //long - FMT(vdiph2/uaa) -endphoneme - -phoneme oi - vowel starttype #o endtype #i +phoneme ei + vowel starttype #e endtype #i length 250 long - FMT(vdiph/ooi) -endphoneme - -phoneme ui - vowel starttype #u endtype #i - length 250 - long - FMT(vdiph/ui) + 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 ie vowel starttype #i endtype #e length 250 long - FMT(vdiph2/ie_2) + 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 iu vowel starttype #i endtype #u length 250 long - FMT(vdiph2/iu_2) + 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 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) +phoneme ui + vowel starttype #u endtype #i + length 250 + long + 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 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 oi + vowel starttype #o endtype #i + length 250 + long + 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 diff --git a/phsource/vowelcharts/lv b/phsource/vowelcharts/lv index 10d660b1..7a062c40 100644 --- a/phsource/vowelcharts/lv +++ b/phsource/vowelcharts/lv @@ -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 diff --git a/phsource/vowelcharts/lv.png b/phsource/vowelcharts/lv.png index 24be4b44..57e40137 100644 Binary files a/phsource/vowelcharts/lv.png and b/phsource/vowelcharts/lv.png differ