diff --git a/dictsource/lv_list b/dictsource/lv_list index 8c872513..1db2bc96 100644 --- a/dictsource/lv_list +++ b/dictsource/lv_list @@ -505,6 +505,7 @@ lvu $abbrev na $abbrev nra $abbrev nr $abbrev +oecd $abbrev $allcaps pctvl $abbrev $pause prks $abbrev psrs $abbrev @@ -549,6 +550,7 @@ bruno $alt bruto $alt bufalo $alt burkinafaso $alt $4 +covid $alt čello $alt dekoltē $alt $3 depo $alt @@ -581,6 +583,7 @@ info $alt inkognito $alt $3 intermeco $alt $3 ivo $alt +(joko ono) j'oko:||'ono: kakao $alt $2 kanapē $3 kastro $alt @@ -598,6 +601,7 @@ lego $alt leo $alt leporello $alt lesoto $alt +limbo $alt logo $alt loto $alt lumbago $alt @@ -613,6 +617,7 @@ mono $alt montekarlo $alt $3 montevideo $alt $3 moto $alt +mož $alt nato $alt odo $alt odoo $alt @@ -675,6 +680,7 @@ uno $alt ūdenspolo $alt veto $alt video $alt +vienmēr v'ienme::R vivo $alt volvo $alt žabo $alt diff --git a/dictsource/lv_rules b/dictsource/lv_rules index 4da89eb1..d03fc592 100644 --- a/dictsource/lv_rules +++ b/dictsource/lv_rules @@ -38,8 +38,11 @@ .L17 ai ais am ā ām ās ie iem o os // suffixes of certain adjectives finishing with ..ējais .L18 am āk i u ot ēt os // suffixes of adverbs (apstākļa vārdi) -.L10 ~ at ie iz jā jā jāat jāie jāiz jāno jāsa ne no pa pār pie pie sa vis // optional verb prefixes -.L20 ~ ne // optional negation prefix +.L30 ~ at ie iz jā jā jāat jāie jāiz jāno jāsa ne no pa pār pie sa vis // optional verb prefixes +.L31 ~ ne // optional negation prefix +.L32 ~ ie ne sa vis visne // optional prefixes for adjectives +.L33 ~ ār iekš civil ie eks komerc kop liel līdz nam pār pārpa pie privāt sa uz valsts māj // optional prefixes for nouns + // +---------------------------+ // | Pronunciation of e and ē | @@ -140,6 +143,9 @@ ai ai aie a_!ie // a-ie is more frequent than ai-e au au + _L32v) aja a`ja` + _L33v) aja a`ja` + _v) aj a`j .group ā ā a: @@ -159,7 +165,9 @@ .group d d d dz Dz` + dz (L57 Dz`_| dž DZ` + dž (L57 DZ`_| dž (L61 DZ .group e @@ -220,11 +228,13 @@ // specific words ----------------------------------------------------------------- // b) e (dL82L05_ e // bedre + b) e (nzīnL01_ e // benzīns _b) e (t_ e _b) e (z_ e _b) e (z+ e _C) e (_ e // re, te, ve c) e (nL83+ e + c) e (nL88+ e c) e (tur e č) e (tr e d) ebe (L83 ebe @@ -260,11 +270,11 @@ _j) e (l_ e kur) e (n e _ķ) eme (rL01_ eme // Ķemeri - _L20) e (sam_+ _!e // esam - _L20) e (sat_+ _!e // esat - _L20) e (si_ _!e // esi - _L20) e (smu_ _!e // esmu - _L20) e (sot_ _!e // esot + _L31) e (sam_+ _!e // esam + _L31) e (sat_+ _!e // esat + _L31) e (si_ _!e // esi + _L31) e (smu_ _!e // esmu + _L31) e (sot_ _!e // esot _m) e (dūzL04_ e _m) e (kL04_ e // Meka m) e (L86+ e @@ -406,7 +416,7 @@ konstat) ē e: kr) ē (t+ e: ķ) ē (dL05_ e: // ķēde - L10) ē (du_< e: + L30) ē (du_< e: L76) ē (tu_ e: _l) ē (L83+ e: // lēst m) ē (L77L05+ e: // mēle @@ -433,7 +443,9 @@ sp) ē (kL01 E: // ..spēks sp) ē (L65 e: // spēt sp) ē (L77+ e: // ..spēl.. + sv) ē (t e: sv) ē (tk E: + sv) ē (tL01_ E: // svēts šķ) ē (L77L05_ e: // šķēle šķ) ē (L82L05_ e: // šķēre _tāp) ē (c_ e: // tāpēc @@ -470,6 +482,7 @@ _) i (kkuL82 %i // ikkurš _) i (kvien %i // ikviens iu iu + v) ientie (s ientie: .group ī ī i: @@ -483,25 +496,24 @@ k k _) kaut (_ k,aut // secondary stress as average between verb and particle _) klāt (_ kl,a:t // ... and similarly - k (ļ k} // tiny pause between k and ļ + k (ļ k_| // tiny pause between k and ļ .group ķ ķ c - ķ (L55 c} // tiny pause for sharper sound before short vowels + ķ (L55 c_| // tiny pause for sharper sound before short vowels .group l l l C) l (C l- // more voiced variant between consonants _lie) l (@ l> - l (L60@+ l: - l (L60+ l> - l (L61@+ l> + l (L60A+ l: ll (++ ll - + l (n l: + l (zC++ l .group ļ ļ l^ - ļ (ķ l^} + ļ (ķ l^_| .group m m m @@ -683,6 +695,7 @@ L46L45L45) o (<< uo kontr) o (JL56 o: konv) o o kript) o o + kr) o (L80L02_+ uo // ..kronis kr) o (L80 uo _kr) o (nL04_ o: // krona kum) o (L65 uo @@ -708,6 +721,7 @@ L46L45L45) o (<< uo mar) o o maž) o o mec) o o + merit) o o met) o (L72 o: metr) o (@ o mez) o o @@ -766,6 +780,7 @@ L46L45L45) o (<< uo ring) o o rip) o uo rmat) o o + _r) odže (r oDZ`e r) o (L90L05_ uo // roze r) o (z o rtr) o o @@ -776,6 +791,7 @@ L46L45L45) o (<< uo sink) o o: skal) o (+ uo skarb) o (_ uo + skart) o uo skler) o o: slav) o o slog) o uo @@ -885,11 +901,15 @@ L46L45L45) o (<< uo n) od (L05_ o:d // ..node n) od uod n) odz uo`dz + _) od (ai_ o:d + _) od (as_ o:d + _) od (ām_ o:d _) od (ek od od (erL51 uod _) od (esL04_ od // Odesa od (ia od _) odio odio: + _) odo (@ odo _) odo (s_ uoduo // odos par) od od p) od (e od @@ -921,6 +941,7 @@ L46L45L45) o (<< uo ogo uoguo osm) og og pr) og (L68 og + pr) ogno (L90L05_ ogno: // ..prognoze sl) og (L01_ uog // slogs sl) og (o uog // slogot _sm) og (L01_ o:g // smogs @@ -945,6 +966,7 @@ L46L45L45) o (<< uo _) oj (ārL01_ oj // Ojārs oj (is_ uoj _pr) oj (ām_ uoj + pr) oj (ek o`j pr) oj (L42 oj _tr) oj (L04_ oj // Troja z) oj (L01_+ oj // ..zojs @@ -996,7 +1018,7 @@ L46L45L45) o (<< uo r) ok (L04_ uok // ..roka r) ok (a_ uo`k // _roka_ r) ok (m ok - r) okope oko:p + r) okope oko:pe r) ok (tu uok sm) ok uok s) ok (o ok @@ -1043,6 +1065,7 @@ L46L45L45) o (<< uo k) ol (o ol k) ol (p ol k) ol (s ol + L33p) ol (it ol _l) ol (itL04_ ol // Lolita l) oloj (L13_ uoluoj l) olo (L12_ uoluo // lolot @@ -1066,6 +1089,7 @@ L46L45L45) o (<< uo _p) ol (ie uol _p) ol (ijL04_+ uol // Polija _p) ol (kL04_ ol // polka + _p) ol (L01_+ o:l // pols p) ol (L01_ o:l // ..pols p) ol (L05_ o:l // ..pole p) ol (L50 ol @@ -1124,6 +1148,8 @@ L46L45L45) o (<< uo d) om (nL04_ om // domna dr) om (L01_ o:m // ..droms gl) om om + k) om (iL67 o:m + k) om (isk o:m k) om (L04_+ o:m // koma k) om om k) omo omo @@ -1150,8 +1176,10 @@ L46L45L45) o (<< uo p) om (er om p) om (p om _pr) om (b uom // prombūtne + _pr) omejo uomejuo _pr) om (es uom // promesošs pr) om om + _pr) omo omo: _pr) om (_ uom // prom pt) om (L01_ o:m // ..ptoms pt) om o>m @@ -1183,6 +1211,7 @@ L46L45L45) o (<< uo b) on (us on br) on on cens) on uon + cēl) on (L02 uon daig) on uon dail) on uon dalt) on o:n @@ -1195,12 +1224,14 @@ L46L45L45) o (<< uo egl) on uon ek) ono ono: em) on on + f) on (dL01_ oN> // ..fonds f) on (i o:n furg) on o:n g) on on harm) on o:n hr) on o:n hr) on (o on + ik) on (L04_ o:n // ikona ikr) on (+ o:n im) on o>n ir) on (i< o:n @@ -1259,6 +1290,7 @@ L46L45L45) o (<< uo _ram) on (L04_ o:n // Ramona rez) on on rib) on (uk on + _r) on (aldL01_ on // Ronalds s) on on sp) on on t) on (edēļ uon @@ -1296,9 +1328,11 @@ L46L45L45) o (<< uo k) op (ējL04_ uop // ..kopēja _k) op (ējo_ uop // kopējo k) op (ē_ op // ..kopē + k) op (fond uop k) op (ij op // ..kopij.. k) op (j uop // ..kopj.. k) op (L04_+ uop // ..kopa + k) op (L05_ uop // ..kope k) op (L65+ uop // ..kuop.. k) opo uopuo k) op (pr uop // ..koppr.. @@ -1429,6 +1463,7 @@ L46L45L45) o (<< uo p) orno oRno p) or (o oR p) or (t oR + profes) or (L05_ o:R // profesore r) or oR s) or (L01_+ o:R // ..sors s) or oR @@ -1442,6 +1477,7 @@ L46L45L45) o (<< uo _t) or (eiz_ uoR // toreiz _t) or (e oR // toreadors _t) or (ijL01_ o:R // torijs + t) or (ikL04_ o:R // ..torika t) or (L05_+ o:R // ..tore t) or (L80+ uoR t) or (o oR @@ -1529,7 +1565,7 @@ L46L45L45) o (<< uo k) ot (L51 ot k) ot (l ot kv) ot (L04 o:t - _L10pr) ot (L13_ uot // (ne|sa..)prot(i|u) + _L30pr) ot (L13_ uot // (ne|sa..)prot(i|u) lin) ot (ip ot l) ot (er ot _l) ot (iņL04 ot // Lotiņa @@ -1584,13 +1620,14 @@ L46L45L45) o (<< uo n) ov (ad uov n) ov (at ov n) ov (āci ov + n) ov (āc uov n) ov (elL05_ ov // novele _n) ov (emb ov // novembris n) ov (ēr uov n) ov (it ov n) ov (L04_ ov // nova n) ov (o ov - _) ov (āc ov + ov (āc ov _pl) ov (L01_ ov // plovs pr) ov (an ov pr) ov (in ov @@ -1643,7 +1680,7 @@ L46L45L45) o (<< uo .group p p p - _) pie (A pie} + _) pie (A pie_| _) pie (e+ pie_! _) pus (vien p%us // pus..number stress on next syllable _) pus (div p%us @@ -1729,6 +1766,7 @@ L46L45L45) o (<< uo .group z z z + i) z (v z z (n z- z (v z- diff --git a/phsource/h/h-lv.wav b/phsource/h/h-lv.wav index 4425ec6e..b1e5cf74 100644 Binary files a/phsource/h/h-lv.wav and b/phsource/h/h-lv.wav differ diff --git a/phsource/ph_latvian b/phsource/ph_latvian index 18d82b4a..3ce3aa4c 100644 --- a/phsource/ph_latvian +++ b/phsource/ph_latvian @@ -4,6 +4,12 @@ phoneme a FMT(vwl_lv/a, 100) // adjusted from aa_3 endphoneme +phoneme a` // shorter variant of a + vwl starttype #a endtype #a + length 60 + FMT(vwl_lv/a, 100) +endphoneme + phoneme a: vwl starttype #a endtype #a length 310 @@ -67,6 +73,12 @@ phoneme o FMT(vwl_lv/o, 90) endphoneme +phoneme o` // shorter version of o + vwl starttype #o endtype #o + length 60 + FMT(vwl_lv/o, 90) +endphoneme + phoneme o: vwl starttype #o endtype #o length 300 @@ -94,7 +106,7 @@ endphoneme phoneme au vwl starttype #a endtype #u - length 300 + length 280 lng FMT(vdiph/aau, 100) endphoneme @@ -193,19 +205,19 @@ phoneme h // more quiet version of standard h ipa h IF nextPh(#a) THEN - WAV(h/h-lv, 10) + WAV(h/h-lv, 20) ELIF nextPh(#e) THEN - WAV(h/h-lv, 10) + WAV(h/h-lv, 20) ELIF nextPh(#i) THEN - WAV(h/h-lv, 10) + WAV(h/h-lv, 20) ELIF nextPh(#o) THEN - WAV(h/h-lv, 10) + WAV(h/h-lv, 20) ELIF nextPh(#u) THEN - WAV(h/h-lv, 10) + WAV(h/h-lv, 20) ELIF nextPh(isPause) THEN WAV(h/h-lv, 20) ENDIF - WAV(h/h-lv, 10) // no vowel following + WAV(h/h-lv, 20) // no vowel following endphoneme phoneme j // **y**es @@ -299,7 +311,7 @@ phoneme l^ // Latvian ļ, customized from standard l^ ipa ʎ lengthmod 7 Vowelout len=60 lenadd rate - length 100 + length 80 NextVowelStarts VowelStart(l^/j2@) @@ -313,6 +325,7 @@ phoneme l^ // Latvian ļ, customized from standard l^ IF prevPh(isPause) THEN FMT(l^/_l^) ELSEIF nextPh(isPause) THEN + length 100 FMT(l^/l^_) ENDIF @@ -459,7 +472,7 @@ phoneme z` // Shortest version of z for diphthong dz vcd alv frc sib ipa z voicingswitch s - length 8 + length 10 Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50 IF KlattSynth THEN @@ -499,16 +512,6 @@ endphoneme phoneme > // lengthen previous vowel less than using ":" ipa ː virtual - length 20 // it actually seems working shorter, but anyway... + length 30 // it actually seems working shorter, but anyway... endphoneme -phoneme } // Tiny, 5ms non-linked pause (used between phonemes in word) - ipa ʔ - pause - nolink - length 5 -endphoneme - - - - diff --git a/phsource/vwl_lv/ui b/phsource/vwl_lv/ui new file mode 100644 index 00000000..472b55c9 Binary files /dev/null and b/phsource/vwl_lv/ui differ diff --git a/tests/language-phonemes.test b/tests/language-phonemes.test index 1cf3c3d6..ea9d6137 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 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 lv b20e6cc99cd96551294060eecd7d199f9fe446ae "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" diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 825917a9..565e8b8d 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -149,7 +149,7 @@ los es don'ada **az'ona e k,onsi;'ensa e d'ebe 'ata la 'un a la 'ot**a en 'un sp test_phonemes lfn "Latn" "t'ota um'anes n'ase l'ib**e e eg'al en d'inja e di**'etos los es don'ada **az'ona e k,onsi;'ensa e d'ebe 'ata la 'un a la 'ot**a en 'un spi**'ito de f**'ati;,a" "Tota umanes nase libre e egal en dinia e diretos. Los es donada razona e consiensa e debe ata la un a la otra en un spirito de fratia." test_phonemes lt "Latn" "i:l;ingd'ama fext'Uoto:jo: Sp'aga subl;i:ktS;;o:j'us;i p@-rag@-r;'eAZee apv'alu: arb'u:za:" "Įlinkdama fechtuotojo špaga sublykčiojusi pragręžė apvalų arbūzą." -test_phonemes lv "Latn" "gl'a:ZScu:n^a R'u:ci:Si Dz\`'E:Ruma: tS'iepj b'aha k'ontsERtfli:Jel^u v'a::kus" "Glāžšķūņa rūķīši dzērumā čiepj Baha koncertflīģeļu vākus." +test_phonemes lv "Latn" "gl'a:ZScu:n^a R'u:ci:Si Dz\`_|'E:Ruma: tS'iepj b'aha k'ontsERtfli:Jel^u v'a::kus" "Glāžšķūņa rūķīši dzērumā čiepj Baha koncertflīģeļu vākus." test_phonemes mi "Latn" "k'o_| t'e_| kat'oa_ 'o_| N'a_| taN'ata_ 'i_| t'e_| f,ana,uNat'aNa_| m'ai_ 'e_| wat'ea_ 'ana_ 'i_| N'a_| h'ere_| kat'oa_| 'e_| t,aur,iter'ite_ 'ana_| h'oki_| N'a_| m'ana_| m'e_| N'a_| t'ika_| 'e_| f,akafif'ia_ 'ana_| h'oki_| k'i_ 'a_| rat'ou_| t'e_| Nak'au_| f'ai_| f,aka'aro_| m'e_| t'e_| h,ineN'aro_| moh'io_| k'i_| t'e_| t'ika_| m'e_| t'e_| h'e_| diff --git a/tests/translate.test b/tests/translate.test index fbcca3c0..1f60d23b 100755 --- a/tests/translate.test +++ b/tests/translate.test @@ -20,7 +20,7 @@ test_phonemes en "s'VmTIN Imp'o@t@nt" "something important" # suffix rules test_phonemes lv \ - "nev'ie:na nuo\`_ 'eiRo:pas v'al>sti:m nek,ad nav p'a:Rga:jusi nuo\`_ 'univERsa:la:s_:_: nuo\` v'ispa:Re:jiem n'uoduok}l^iem f'inanse:tas_:_: s'iste:mas uz 'obliga:ta:s 'apdRuoSina:Sanas s'iste:mu b'eigas" \ + "nev'ie:na nuo\`_ 'eiRo:pas v'alsti:m nek,ad nav p'a:Rga:jusi nuo\`_ 'univERsa:la:s_:_: nuo\` v'ispa:Re:jiem n'uoduok_|l^iem f'inanse:tas_:_: s'iste:mas uz 'obliga:ta:s 'apdRuoSina:Sanas s'iste:mu b'eigas" \ "Neviena no Eiropas valstīm nekad nav pārgājusi no universālās (no vispārējiem nodokļiem finansētas) sistēmas uz obligātās apdrošināšanas sistēmu Beigas." # A list entry that uses '$text' to map to another list entry crashes 1.49.2 multi-word support: