Browse Source

Latvian language improvements. Dz, dž diphthongs, few other fixes

master
Valdis Vitolins 8 years ago
parent
commit
a60a394ff8
2 changed files with 77 additions and 8 deletions
  1. 17
    8
      dictsource/lv_rules
  2. 60
    0
      phsource/ph_latvian

+ 17
- 8
dictsource/lv_rules View File

@@ -29,7 +29,7 @@
// | Other suffixes |
// +---------------------------+

.L18 li ni ti // suffixes of adverbs
.L18 am āk i u // suffixes of adverbs

// +---------------------------+
// | Pronunciation of e and ē |
@@ -73,10 +73,10 @@
.L52 i ī
.L53 u ū
.L54 o ō

.L55 a e i u o // short vowels icluding o
.L56 a e i u // short vowels without o
.L57 ā ē ī ū ō // long vowels including ō
.L58 ā ē ī ū // long vowels without ō

// +---------------------------+
// | Consonant groups |
@@ -151,10 +151,13 @@

.group d
d d
dz Dz-
dž dZ-
dž (L61 DZ

.group e
e e // Default as narrow e
ei ei
e e // Default as narrow e
ei ei

// narrow e ---------------------------------------------------------------------- //
a) e (ro e // internationalsms
@@ -241,6 +244,7 @@ L41L10L10L10) e e
_pr) e (t e
pr) etē ete:
r) ecep (L88L05_ etsep // recepte
r) et (L18_ et // reti
r) eze (rL89L05_ eze // rezerve
_s) e (n_ e // sen
_s) e (p e
@@ -386,6 +390,7 @@ L41L10L10L10) ē e:

.group n
_) ne (vien ne' // stress on 2nd syllable
n (d N
n (g N
n (k N
n n
@@ -1013,6 +1018,7 @@ L41L10L10L10sk) o (pL01_ o: // ...skops
_d) on (L04_ uon // dona
d) on (n onn
d) ono ono:
dž) on (L01_ on // Džons
egl) on uon
ek) ono ono:
em) on on
@@ -1072,6 +1078,7 @@ L41L10L10L10sk) o (pL01_ o: // ...skops
_p) on (ijL01_ on // ponijs
pont) on o:n
_ram) on (L04_ o:n // Ramona
rez) on on
rib) on (uk on
_sk) onto (_ onto: // Skonto
s) on (o on
@@ -1331,6 +1338,7 @@ L41L10L10L10sk) o (pL01_ o: // ...skops
pr) otot (ip otot
pr) oto (t uotuo // ..protot
pr) ot (u_ uot
sk) ot (L01_ ot
r) ot (āc ot
r) ot (er ot
r) ot (ē ot
@@ -1384,6 +1392,7 @@ L41L10L10L10sk) o (pL01_ o: // ...skops
@@) oz (L05_ o:z // ..oze
ozo (lL01_ uozuo // ..ozols
oz (on oz
ozo (_ o:zuo
p) oz oz
_r) oz (eL88L05_ oz // rozete
_r) oz (īL80L05_ oz // rozīne
@@ -1421,9 +1430,8 @@ L41L10L10L10sk) o (pL01_ o: // ...skops
ŗ r

.group s
sh s_!h_! // probably no need to make distinct in other places
_) s (L61 s_ // make s distinct at start of the word before unvocied consonants
// probably no need to make distinct in other places
sh s_!h_!
s s

.group š
@@ -1442,7 +1450,7 @@ L41L10L10L10sk) o (pL01_ o: // ...skops

.group v
v v
_) vis v,is (P3 // unstressed if starts as vis.. prefix
// unstressed if starts as vis.. prefix
// except for words where vis.. is part of root
_) vi (sād v'i // visād
_) vi (sēd v'i // visēd
@@ -1459,6 +1467,7 @@ L41L10L10L10sk) o (pL01_ o: // ...skops
_) vi (sur_ v'i // visur
_) vi (sval v'i // Visval..
_) vi (svar v'i // Visvar..
_) vis v,is (P3
visvis visv,is (P6 // visvis..
_) vi (szinL02_ v'i // viszinis
_) vi (szinL05_ v'i // viszine
@@ -1497,7 +1506,7 @@ L41L10L10L10sk) o (pL01_ o: // ...skops
__) - (_D mi:nus
$ dola:rs
! _:izsaukumzi:me_:
: kols
: ko:ls
>= l'iela:ks||,vai||v'iena:ds
<= maza:ks||,vai||v'iena:ds
!= nav||viena:ds

+ 60
- 0
phsource/ph_latvian View File

@@ -216,6 +216,66 @@ phoneme c
WAV(ustop/c, 80)
endphoneme

phoneme D // louder and shorter version of d
vcd alv stop
voicingswitch t
length 10
lengthmod 5
Vowelin f1=1 f2=1700 -300 300 f3=-100 80
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk

IF PreVoicing THEN
FMT(d/xd, 110)
ENDIF

IF nextPh(isPause2) THEN
FMT(d/d_, 120) addWav(x/d_,110)
ENDIF

FMT(d/d, 110) addWav(x/d,110)
endphoneme


phoneme z- // Shortened version of z for diphthong dz
vcd alv frc sibilant
voicingswitch s
length 10
lengthmod 6
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
length 20
FMT(voc/z_, 120) addWav(ufric/s_, 95)
ENDIF
FMT(voc/z, 110) addWav(ufric/s_, 100)
endphoneme

phoneme Z- // Shortened version of Z for diphthong dZ
vcd pla frc sibilant
voicingswitch S
length 30
lengthmod 6
Vowelin f1=0 f2=2000 0 300 f3=-200 80
Vowelout f1=2 f2=2000 0 300 f3=-200 80 brk

IF KlattSynth THEN
IF nextPh(isPause2) THEN
FMT(klatt/zh_, 70) addWav(vocw/zh, 70)
ENDIF
FMT(klatt/zh) addWav(vocw/zh, 130)
ENDIF

IF nextPh(isPause2) THEN
FMT(voc/zh_, 80) addWav(vocw/zh, 70)
ENDIF
FMT(voc/zh) addWav(vocw/zh, 130)
endphoneme

phoneme > // lengthen previous vowel by only 10ms
virtual
length 10

Loading…
Cancel
Save