diff --git a/dictsource/lv_list b/dictsource/lv_list index 4a890cbf..8c872513 100644 --- a/dictsource/lv_list +++ b/dictsource/lv_list @@ -31,7 +31,7 @@ p pe:_: q ku:_: r eR::_! ŗ er::_! -s es::_! +s es:_! š eS::_! t te:_: u u>_: @@ -693,6 +693,7 @@ grafisko $alt2 heksadecimālo $alt2 humāno $alt2 informatīvo $alt2 +inteliģento $alt2 mehānisko $alt2 nekompetento $alt2 neoficiālo $alt2 diff --git a/dictsource/lv_rules b/dictsource/lv_rules index 57a7e1de..4da89eb1 100644 --- a/dictsource/lv_rules +++ b/dictsource/lv_rules @@ -298,6 +298,7 @@ s) e (cA+ e _s) e (n_ e // sen _s) e (p e + _s) eptem (bL82L01_ eptem // Septembris _s) evastopo (lL05_ evastopo: // Sevastopole _s) e (v_ e // sev _s) e (vi_ e @@ -447,6 +448,7 @@ _v) ē (rā_ e: // vērā v) ērtē e:Rte: v) ē (stur e: + ž) ē (l E: .group f f f @@ -491,8 +493,9 @@ l l C) l (C l- // more voiced variant between consonants _lie) l (@ l> - l (L60+ l: - l (L61+ l> + l (L60@+ l: + l (L60+ l> + l (L61@+ l> ll (++ ll @@ -503,6 +506,7 @@ .group m m m C) m (C m- // more voiced variant between consonants + m (j+ m mm >m> .group n @@ -771,6 +775,7 @@ L46L45L45) o (<< uo sērf) o uo sink) o o: skal) o (+ uo + skarb) o (_ uo skler) o o: slav) o o slog) o uo @@ -789,6 +794,7 @@ L46L45L45) o (<< uo šalk) o uo // ..šalko.. šan) o uo _špr) o (L88L05_ o // šprote + taks) o o tav) o uo tēl) o (L65+ uo _tikk) o (_ uo // tikko @@ -805,6 +811,7 @@ L46L45L45) o (<< uo turb) o o vab) o (L77L05_ uo // ..vabole vair) o (+ uo + valent) o (_ uo vann) o uo var) o (L80 uo vask) o uo @@ -814,7 +821,7 @@ L46L45L45) o (<< uo viegl) o (+ uo vizm) o uo zil) o (L80+ uo - žēl) o (L65+ uo + žēl) o (L65++ uo žir) o o .group oa @@ -873,6 +880,7 @@ L46L45L45) o (<< uo _m) od (L05_ uod // mode TODO should think how to handle mōda m) od (L50l od m) od (u od + m) od (us uod m) od (uš uod n) od (L05_ o:d // ..node n) od uod @@ -927,6 +935,7 @@ L46L45L45) o (<< uo .group oj _bar) oj (L13_ uoj // todo barot should be handled better + _b) oj (a_+ oj // _boja_ b) oj (ā uoj _b) oj (L04_ uo`j // boja with short uo because of ambiguity _enkurb) oj (L04_ oj // enkurboja @@ -934,6 +943,7 @@ L46L45L45) o (<< uo l) oj (L50 oj _ob) oj (L04_ oj // oboja _) oj (ārL01_ oj // Ojārs + oj (is_ uoj _pr) oj (ām_ uoj pr) oj (L42 oj _tr) oj (L04_ oj // Troja @@ -984,6 +994,7 @@ L46L45L45) o (<< uo prot) oko oko: _r) ok (ādL05_ ok // rokāde r) ok (L04_ uok // ..roka + r) ok (a_ uo`k // _roka_ r) ok (m ok r) okope oko:p r) ok (tu uok @@ -1500,8 +1511,10 @@ L46L45L45) o (<< uo _bal) ot (ē ot bankr) ot ot b) ot (ān ot + _b) ot (u_ ot d) ot (āc ot d) ot (ē ot + _d) ot (s_ uo`t er) ot (iL67 o:t er) ot (is o:t _er) ot (L01_ ot // Erots @@ -1587,7 +1600,9 @@ L46L45L45) o (<< uo r) ov ov sl) ov ov s) ov ov + _š) ov (biz ov _š) ov (L01_ ov // šovs + _š) ov (vin ov tet) ov ov .group oz @@ -1603,6 +1618,7 @@ L46L45L45) o (<< uo kl) oz (et oz k) ozlov ozlov l) oz (ung oz + maijr) oz (īL88 uoz m) oz (aī oz _m) oz (L03_ o:z // Mozus _n) oz uoz @@ -1627,6 +1643,8 @@ L46L45L45) o (<< uo .group p p p + _) pie (A pie} + _) pie (e+ pie_! _) pus (vien p%us // pus..number stress on next syllable _) pus (div p%us _) pus (otr p%us @@ -1695,7 +1713,6 @@ L46L45L45) o (<< uo visvis v%isv%is (P6 // visvis.. _) vi (szinL02_ v'i // viszinis _) vi (szinL05_ v'i // viszine - z) v v` .group w w v @@ -1712,6 +1729,8 @@ L46L45L45) o (<< uo .group z z z + z (n z- + z (v z- .group ž ž Z diff --git a/espeak-ng-data/lang/bat/lv b/espeak-ng-data/lang/bat/lv index 50dcfe46..2921f466 100644 --- a/espeak-ng-data/lang/bat/lv +++ b/espeak-ng-data/lang/bat/lv @@ -4,10 +4,8 @@ maintainer Valdis Vitolins status mature words 0 2 pitch 64 118 -breath 10 2 1 0 0 0 -breathw 20 42 85 200 500 1200 -formant 0 95 100 100 -5 -//tunes s5 c5 q5 e5 -tone 150 220 450 255 750 20 3500 255 -stressAmp 12 10 8 8 0 0 16 17 +breath 10 2 1 0 0 0 0 0 +breathw 20 42 85 200 500 1000 +tone 60 80 450 255 750 10 3000 255 +stressAmp 12 10 8 8 0 0 15 16 stressLength 160 140 200 140 0 0 240 160 diff --git a/phsource/h/h-lv.wav b/phsource/h/h-lv.wav new file mode 100644 index 00000000..4425ec6e Binary files /dev/null and b/phsource/h/h-lv.wav differ diff --git a/phsource/ph_latvian b/phsource/ph_latvian index 75e7cd71..18d82b4a 100644 --- a/phsource/ph_latvian +++ b/phsource/ph_latvian @@ -49,17 +49,16 @@ phoneme i: FMT(vwl_lv/ii, 90) // was i_7 endphoneme - phoneme y // English y, short Latgalian "hard i" vwl starttype #i endtype #i length 120 - FMT(vwl_lv/y) + FMT(vwl_lv/y, 100) endphoneme phoneme y: // Long Latgalian "hard i" vwl starttype #i endtype #i length 300 - FMT(vwl_lv/yy) + FMT(vwl_lv/yy, 90) endphoneme phoneme o @@ -77,13 +76,13 @@ endphoneme phoneme u vwl starttype #u endtype #u length 120 - FMT(vwl_lv/u, 140) + FMT(vwl_lv/u, 100) endphoneme phoneme u: vwl starttype #u endtype #u length 300 - FMT(vwl_lv/uu, 120) + FMT(vwl_lv/uu, 90) endphoneme phoneme ai @@ -130,9 +129,9 @@ endphoneme phoneme uo vwl starttype #u endtype #a - length 270 + length 280 lng - FMT(vdiph2/ua, 100) + FMT(vdiph2/ua, 110) endphoneme phoneme uo` // shorter version of uo @@ -140,7 +139,7 @@ phoneme uo` // shorter version of uo ipa uo length 150 lng - FMT(vdiph2/ua, 100) + FMT(vdiph2/ua, 90) endphoneme phoneme oi @@ -172,7 +171,7 @@ phoneme D // louder and shorter version of d vcd alv stp ipa d voicingswitch t - length 10 + length 8 lengthmod 5 Vowelin f1=1 f2=1700 -300 300 f3=-100 80 Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk @@ -194,24 +193,23 @@ phoneme h // more quiet version of standard h ipa h IF nextPh(#a) THEN - WAV(h/ha, 20) + WAV(h/h-lv, 10) ELIF nextPh(#e) THEN - WAV(h/he, 20) + WAV(h/h-lv, 10) ELIF nextPh(#i) THEN - WAV(h/hi, 20) + WAV(h/h-lv, 10) ELIF nextPh(#o) THEN - WAV(h/ho, 20) + WAV(h/h-lv, 10) ELIF nextPh(#u) THEN - WAV(h/hu, 20) + WAV(h/h-lv, 10) ELIF nextPh(isPause) THEN - WAV(h/h_, 40) // louder for foreign words + WAV(h/h-lv, 20) ENDIF - WAV(h/h_, 20) // no vowel following + WAV(h/h-lv, 10) // no vowel following endphoneme phoneme j // **y**es liquid pal starttype #i - IF nextPhW(isVowel) THEN NextVowelStarts VowelStart(j/j@) @@ -221,7 +219,7 @@ phoneme j // **y**es VowelStart(j/jo) VowelStart(j/ju) EndSwitch - VowelEnding(j/xj, 70) // In difference with English, vowel is lengthened, not shortened + VowelEnding(j/xj, 127) // In difference with English, vowel is lengthened, not shortened ELSE Vowelout len=127 // no vowel follows FMT(j/xj) @@ -259,10 +257,6 @@ endphoneme phoneme l liquid -// IF nextPh(isNotVowel) THEN -// ChangePhoneme(l/) -// ENDIF - IF nextPh(isNotVowel) THEN PrevVowelEndings VowelEnding(l/L1_@L) @@ -326,9 +320,6 @@ phoneme l^ // Latvian ļ, customized from standard l^ endphoneme - - - phoneme m // copied from standard m phoneme with rule for 'mm' vcd blb nas Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk @@ -446,12 +437,29 @@ phoneme v` // shortened v FMT(voc/v#_) endphoneme -phoneme z` // Shortened version of z for diphthong dz +phoneme z- // Shorter version of z + vcd alv frc sib + length 30 + voicingswitch s + Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50 + + IF KlattSynth THEN + Vowelin f1=0 f2=1390 -300 300 f3=0 0 + Vowelout f1=1 f2=1390 -300 300 f3=-100 60 len=50 brk + ENDIF + + IF nextPh(isPause2) THEN + FMT(voc/z_) addWav(ufric/s_, 70) + ENDIF + FMT(voc/z) addWav(ufric/s_, 85) +endphoneme + + +phoneme z` // Shortest version of z for diphthong dz vcd alv frc sib ipa z voicingswitch s length 8 - lengthmod 6 Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50 IF KlattSynth THEN diff --git a/phsource/vwl_lv/a b/phsource/vwl_lv/a index d6dd625f..3187f93c 100644 Binary files a/phsource/vwl_lv/a and b/phsource/vwl_lv/a differ diff --git a/phsource/vwl_lv/aa b/phsource/vwl_lv/aa index 467a7cea..5aecbce6 100644 Binary files a/phsource/vwl_lv/aa and b/phsource/vwl_lv/aa differ diff --git a/phsource/vwl_lv/e b/phsource/vwl_lv/e index c9c58297..49c27508 100644 Binary files a/phsource/vwl_lv/e and b/phsource/vwl_lv/e differ diff --git a/phsource/vwl_lv/e2 b/phsource/vwl_lv/e2 index 83415a13..459aa80c 100644 Binary files a/phsource/vwl_lv/e2 and b/phsource/vwl_lv/e2 differ diff --git a/phsource/vwl_lv/ee b/phsource/vwl_lv/ee index 711e3520..e147411c 100644 Binary files a/phsource/vwl_lv/ee and b/phsource/vwl_lv/ee differ diff --git a/phsource/vwl_lv/ee2 b/phsource/vwl_lv/ee2 index 025206fb..2a636eba 100644 Binary files a/phsource/vwl_lv/ee2 and b/phsource/vwl_lv/ee2 differ diff --git a/phsource/vwl_lv/i b/phsource/vwl_lv/i index 87eed9cb..5788b887 100644 Binary files a/phsource/vwl_lv/i and b/phsource/vwl_lv/i differ diff --git a/phsource/vwl_lv/ii b/phsource/vwl_lv/ii index 5ab9fb16..22734478 100644 Binary files a/phsource/vwl_lv/ii and b/phsource/vwl_lv/ii differ diff --git a/phsource/vwl_lv/o b/phsource/vwl_lv/o index 9f3b31b9..3e0fab22 100644 Binary files a/phsource/vwl_lv/o and b/phsource/vwl_lv/o differ diff --git a/phsource/vwl_lv/oo b/phsource/vwl_lv/oo index 38573c5c..98cadf2e 100644 Binary files a/phsource/vwl_lv/oo and b/phsource/vwl_lv/oo differ diff --git a/phsource/vwl_lv/u b/phsource/vwl_lv/u index 2e49524f..5a7b4a83 100644 Binary files a/phsource/vwl_lv/u and b/phsource/vwl_lv/u differ diff --git a/phsource/vwl_lv/uu b/phsource/vwl_lv/uu index 4f623e54..b67ab91d 100644 Binary files a/phsource/vwl_lv/uu and b/phsource/vwl_lv/uu differ diff --git a/phsource/vwl_lv/y b/phsource/vwl_lv/y index 143ddc15..c2998c17 100644 Binary files a/phsource/vwl_lv/y and b/phsource/vwl_lv/y differ diff --git a/phsource/vwl_lv/yy b/phsource/vwl_lv/yy index 5615179c..725b5178 100644 Binary files a/phsource/vwl_lv/yy and b/phsource/vwl_lv/yy differ diff --git a/tests/language-phonemes.test b/tests/language-phonemes.test index 61dd39c8..eb9d7709 100755 --- a/tests/language-phonemes.test +++ b/tests/language-phonemes.test @@ -95,7 +95,7 @@ test_lang ky bee9e683218b0c53c29a89709501f8a2486b71b2 "ma na Na pa ba ta da ka g test_lang la 080bd53c20991eae7baec73b8c735eacc8aae076 "ma na Na pa pa ba ta ta da ka ka ga fa sa za ha Ra la ja wa _:_ ma mE mI mO mU ma: me: mi: mo: mu: my my: maU maI meI mEU mOI" test_lang lfn 044e27a5100528760a185e0773dccaca504b5bd4 "ma na Na pa ba ta da ka ga fa va sa za Sa Za ha la ja R2a **a wa _:_ ma me mi mo mu maI maU meU moI" test_lang lt 615e503b996ea5f7b267ebd77b91e77c5b874e18 "ma m;a na n;a pa p;a ta t;a ka k;a ba b;a da d;a ga g;a tsa ts;a tSa tS;a dza dz;a dZa dZ;a fa f;a sa s;a Sa S;a xa x;a va v;a za z;a Za Z;a la l;a ra r;a ja _:_ m@ ma mA ma: me mE me: mee meA mi mI mi: mo mO mo: mu mU mu: mw mW mai mei mau muo moi mui mie maU meU moU maI meI" -test_lang lv ebd5378940b27e39ac35cda90e027ee0fa625fde "ma na n^a Na pa ba ta da ca Ja ka ga tsa dza Dz\`a tSa dZa DZ\`a fa va sa za Sa Za xa ha ja la l^a Ra ra _:_ mi my mu mE me mo ma mi: my: mu: mE: me: mo: ma: mai mau mei mie miu mui muo muo\` moi" +test_lang lv 060b6f94cd505e5c3e649d94c41856d801c0c695 "ma na n^a Na pa ba ta da ca Ja ka ga tsa dza Dz\`a tSa dZa DZ\`a fa va sa za Sa Za xa ha ja la l^a Ra ra _:_ mi my mu mE me mo ma mi: my: mu: mE: me: mo: ma: mai mau mei mie miu mui muo muo\` moi" test_lang mi b6e622de46c33181cdfea351b907f932da9a0a1a "ma na Na pa ta ka fa ha ra wa _:_ ma ma: me me: mi mi: mo mo: mu mu:" test_lang mk 072d0a74acf54bea528e7dde427eb04808d38364 "ma na n^a Na pa ta xa k^a ka ba da Ja ga tsa tSa tS;a dza dZa dZ;a fa sa Sa xa va za Za l^a la ja Ra @-*a ra _:_ ma me mi mo mu mA mE ma: me: mi: mo: mu: moU" test_lang shn e568aca66c2f58fdaf5dda8a67f4d21f05710234 "ma na Ja Na pa p_ha ba ta t_ha da ka k_ha ga ?a fa sa za Ta ha tS;a Ra ja wa la _:_ mi mI mW mu me m@ mo mE ma ma: mO miu meu mEu mau ma:u mWi mui m@i moi mai ma:i mOi maW _:_ ma1 ma2 ma3 ma4 ma5 ma6"