Browse Source

Merge remote-tracking branch 'valdisvi/master'

master
Reece H. Dunn 7 years ago
parent
commit
2720a524c8
94 changed files with 918 additions and 66 deletions
  1. 1
    1
      Makefile.am
  2. 2
    0
      dictsource/en_list
  3. 3
    0
      dictsource/lv_list
  4. 42
    16
      dictsource/lv_rules
  5. 20
    18
      dictsource/my_rules
  6. 2
    2
      docs/dictionary.md
  7. 8
    7
      docs/voices.md
  8. 2
    2
      espeak-ng-data/lang/bat/lv
  9. 2
    0
      espeak-ng-data/voices/sit/my
  10. BIN
      phsource/myanmar/a
  11. BIN
      phsource/myanmar/a01
  12. BIN
      phsource/myanmar/a02
  13. BIN
      phsource/myanmar/a03
  14. BIN
      phsource/myanmar/a04
  15. BIN
      phsource/myanmar/a05
  16. BIN
      phsource/myanmar/a06
  17. BIN
      phsource/myanmar/a07
  18. BIN
      phsource/myanmar/a07_
  19. BIN
      phsource/myanmar/a08
  20. BIN
      phsource/myanmar/a09
  21. BIN
      phsource/myanmar/a10
  22. BIN
      phsource/myanmar/a11
  23. BIN
      phsource/myanmar/a12
  24. BIN
      phsource/myanmar/a13
  25. BIN
      phsource/myanmar/a14
  26. BIN
      phsource/myanmar/a15
  27. BIN
      phsource/myanmar/a16
  28. BIN
      phsource/myanmar/a17
  29. BIN
      phsource/myanmar/a18
  30. BIN
      phsource/myanmar/a19
  31. BIN
      phsource/myanmar/a2
  32. BIN
      phsource/myanmar/a20
  33. BIN
      phsource/myanmar/a21
  34. BIN
      phsource/myanmar/a22
  35. BIN
      phsource/myanmar/a23
  36. BIN
      phsource/myanmar/a24
  37. BIN
      phsource/myanmar/a25
  38. BIN
      phsource/myanmar/a26
  39. BIN
      phsource/myanmar/a27
  40. BIN
      phsource/myanmar/a28
  41. BIN
      phsource/myanmar/a29
  42. BIN
      phsource/myanmar/a30
  43. BIN
      phsource/myanmar/a31
  44. BIN
      phsource/myanmar/a32
  45. BIN
      phsource/myanmar/a33
  46. BIN
      phsource/myanmar/a34
  47. BIN
      phsource/myanmar/a35
  48. BIN
      phsource/myanmar/a36
  49. BIN
      phsource/myanmar/a37
  50. BIN
      phsource/myanmar/a38
  51. BIN
      phsource/myanmar/a39
  52. BIN
      phsource/myanmar/a40
  53. BIN
      phsource/myanmar/a41
  54. BIN
      phsource/myanmar/a42
  55. BIN
      phsource/myanmar/a43
  56. BIN
      phsource/myanmar/a44
  57. BIN
      phsource/myanmar/a45
  58. BIN
      phsource/myanmar/a46
  59. BIN
      phsource/myanmar/a47
  60. BIN
      phsource/myanmar/a48
  61. BIN
      phsource/myanmar/a49
  62. BIN
      phsource/myanmar/a50
  63. BIN
      phsource/myanmar/by.wav
  64. BIN
      phsource/myanmar/ch.wav
  65. BIN
      phsource/myanmar/d.wav
  66. BIN
      phsource/myanmar/dya.wav
  67. BIN
      phsource/myanmar/g.wav
  68. BIN
      phsource/myanmar/gya.wav
  69. BIN
      phsource/myanmar/h.wav
  70. BIN
      phsource/myanmar/hs.wav
  71. BIN
      phsource/myanmar/ht.wav
  72. BIN
      phsource/myanmar/htya.wav
  73. BIN
      phsource/myanmar/k.wav
  74. BIN
      phsource/myanmar/kh.wav
  75. BIN
      phsource/myanmar/ky
  76. BIN
      phsource/myanmar/ny
  77. BIN
      phsource/myanmar/p.wav
  78. BIN
      phsource/myanmar/phya.wav
  79. BIN
      phsource/myanmar/pya.wav
  80. BIN
      phsource/myanmar/r.wav
  81. BIN
      phsource/myanmar/s.wav
  82. BIN
      phsource/myanmar/sh.wav
  83. BIN
      phsource/myanmar/t_hi.wav
  84. BIN
      phsource/myanmar/t_short.wav
  85. BIN
      phsource/myanmar/ty.wav
  86. BIN
      phsource/myanmar/yy
  87. BIN
      phsource/myanmar/z.wav
  88. 55
    18
      phsource/ph_latvian
  89. 779
    0
      phsource/ph_myanmar
  90. 1
    1
      phsource/phonemes
  91. BIN
      phsource/vwl_lv/vowelchart.png
  92. BIN
      phsource/vwl_lv/y
  93. BIN
      phsource/vwl_lv/yy
  94. 1
    1
      tests/phoneme-output.test

+ 1
- 1
Makefile.am View File

@@ -275,7 +275,7 @@ phsource/phonemes.stamp: \
phsource/ph_basque \
phsource/ph_bengali \
phsource/ph_bulgarian \
phsource/ph_burmese \
phsource/ph_myanmar \
phsource/ph_catalan \
phsource/ph_consonants \
phsource/ph_croatian \

+ 2
- 0
dictsource/en_list View File

@@ -584,6 +584,8 @@ awol eIw0l
bsod $abbrev
bvld bUl@vA@d
byod $abbrev
c $abbrev $allcaps
c# $abbrev $allcaps
ceo $abbrev
ces $abbrev
cet $abbrev

+ 3
- 0
dictsource/lv_list View File

@@ -285,6 +285,7 @@ tiklab $u $brk
tomēr $u $pause
turpretim $u $2 $pause
turpretī $u $2 $pause
tur $u+
un $u
uz $u
vai $u+ $brk
@@ -615,6 +616,7 @@ porto $alt
positivus $alt
protežē $alt $3
puertoriko $alt $4
radio $alt
raivo $alt
rančo $alt
retro $alt
@@ -669,6 +671,7 @@ heksadecimālo $alt2
humāno $alt2
informatīvo $alt2
mehānisko $alt2
nekompetento $alt2
neoficiālo $alt2
oficiālo $alt2
psiho $alt2

+ 42
- 16
dictsource/lv_rules View File

@@ -38,7 +38,7 @@
.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 no pa pār pie pie sa vis // optional verb prefixes
.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

// +---------------------------+
@@ -136,7 +136,7 @@

.group a
a a
a (a a_!
a (A a_|
ai ai
aie a_!ie // a-ie is more frequent than ai-e
au au
@@ -147,6 +147,7 @@

.group b
b b
l) b >b

.group c
c ts
@@ -156,6 +157,7 @@
č tS

.group d
l) d >d
d d
dz Dz`
dž DZ`
@@ -398,11 +400,14 @@
t) ē (L90 e:
t) ē (mL04_ e: // ..tēma
t) ērē e:Re:
t) ē (tL02_ e:
t) ē (zL05_ e: // ..tēze
v) ē (L90L02_ e: // vēzis
_v) ē (l_ e: // vēl
_v) ē (lL01_ E: // vēls
_v) ē (rā_ e: // vērā
v) ērtē e:Rte:
v) ē (stur e:

.group f
f f
@@ -418,7 +423,7 @@

.group i
i i
i (A i_!
i (A i_|
ie ie
_) i (kkat %i // ikkatrs
_) i (kkuL82 %i // ikkurš
@@ -433,6 +438,7 @@
_) jebk j%ebk // stress on 2nd syllable

.group k
l) k >k
k k
k (ļ k} // tiny pause between k and ļ

@@ -463,17 +469,19 @@
L59) n (@ :n
n (d N
ne (vienl+ n'e // nevienlīdzība
ne (vienmērīg n'e // nevienmērīgi
_) ne (vien n%e // stress on 2nd syllable
n (g N
n (k N
nn n:
_) no (i nuo

.group ņ
ņ n^

.group o
// default policy rules
_C) o (_+ o` // shorter version of uo for particles
_C) o (_+ uo` // shorter version of uo for particles
o) o o: // in ..oo.. second o is spelled as ō
o ($w_alt++ o // $alt words in lv_list are spelled as o
o (_$w_alt1++ o: // o at the end of internationalisms ($alt1) words is spelled as ō
@@ -494,7 +502,7 @@ L46L45L45) o (<< uo
o (L44+ uo // uo postfixes

// Prefixes
_n) o o` // shorter uo for prefix
_n) o uo` // shorter uo for prefix

// international prefixes
_femt) o o
@@ -587,7 +595,7 @@ L46L45L45) o (<< uo
ept) o (@ o
eur) o o
ez) o o>
gen) o o
gen) o (++ o:
get) o o
glik) o o
gn) o o
@@ -617,15 +625,16 @@ L46L45L45) o (<< uo
kart) o o
_kastr) o (L77L02_ uo // kastrolis
kin) o o:
klib) o (+ uo
k) o (ķ o
kol) o o
kons) o o
kontr) o (JL56 o:
konv) o o
tr) o (L77L77 o // trollis
kript) o o
kr) o (L80 uo
_kr) o (nL04_ o: // krona
tr) o (L77L77 o // trollis
kv) o o
lab) o (L65+ uo
laip) o (L65 uo
@@ -679,11 +688,13 @@ L46L45L45) o (<< uo
orat) o o:
ort) o (@ o
osm) o o:
o (šanL04_+ uo
pant) o o
paran) o o
pērk) o (L80+ uo
pils) o (L80 uo // pilson
pir) o o
plēs) o (L80 uo
pneim) o o:
p) o (L51 o
_p) o (L77L02_+ uo // polis
@@ -776,6 +787,7 @@ L46L45L45) o (<< uo
r) ob (ež uob
r) obo (t+++ obo
_r) obo (t_+++ uobuo // robot
r) ob (ust ob
v) ob ob

.group oc
@@ -792,6 +804,7 @@ L46L45L45) o (<< uo
atm) od uod
čem) od od
d) od (ek od
g) od (pr uod
j) od (e od
j) odo odo
_kl) od (L01_ o:d // Klods
@@ -852,6 +865,7 @@ L46L45L45) o (<< uo
spr) og uog
sten) og og
šl) og (L01_ uog // (iekš)log
_vl) og (L01_ og // vlogs

.group oi
_b) oikot oikot
@@ -859,9 +873,12 @@ L46L45L45) o (<< uo

.group oj
_bar) oj (L13_ uoj // todo barot should be handled better
b) oj (L04_ oj // ..boja
b) oj (ā uoj
_b) oj (L04_ uo`j // boja with short uo because of ambiguity
_enkurb) oj (L04_ oj // enkurboja
_k) oj (L04 oj // koja
l) oj (L50 oj
_ob) oj (L04_ oj // oboja
_) oj (ārL01_ oj // Ojārs
pr) oj (L42 oj
_tr) oj (L04_ oj // Troja
@@ -885,7 +902,7 @@ L46L45L45) o (<< uo
gl) ok (sīn ok
g) ok ok
_k) okako (lL04_ okako: // kokakola
k) ok (L01 uok // koks
k) ok (L01 uo`k // koks with short uo, because of ambiguity
k) ok (og uok
k) okosL01 okos
k) ok (tēl uok
@@ -949,7 +966,7 @@ L46L45L45) o (<< uo
ev) ol ol
_f) ol (ijL04_ o:l // folija
gond) ol o:l
iz) ol ol
iz) ol (+ ol
k) ol (ab ol
k) ol (ā ol
_k) ol (L01_ o:l // kols
@@ -1091,7 +1108,7 @@ L46L45L45) o (<< uo
ant) on on
astr) on on
aug) on uon
_aut) ono (mL04_ o:nuo // todo autonoma vs autonōma
_aut) ono (mL04_ o:n>o // because of ambiguity of autonoma vs autonōma
beg) on (i o:n
bl) on on
b) on (ē on
@@ -1248,6 +1265,7 @@ L46L45L45) o (<< uo
s) op (r op
st) opo (s_ uopuo // ..stopos
_str) op (L01_ uop // strops
_t) op uo`p // top with short uo because of ambiguity
_t) op (āzL01_ op // topāzs
_t) op (b op // topbura
_t) op (inam op // topinambūrs
@@ -1436,26 +1454,29 @@ L46L45L45) o (<< uo
k) ot (an ot
k) ot (L51 ot
k) ot (l ot
_L10pr) ot (L13_ uot // (ne|sa..)prot(i|u)
_L10pr) ot (L13_ uot // (ne|sa..)prot(i|u)
lin) ot (ip ot
l) ot (er ot
_l) ot (iņL04 ot // Lotiņa
l) ot (L05_ ot // ..lote
_l) oto (sL01_ oto // lotoss
mel) ot uot
m) ot (L52 ot
m) oto oto:
m) otō oto:
nepr) ot uot
_n) ot (L04_ ot // nota
n) ot (L50r ot
ot (āj uot
ot (k ot
m) otō oto:
ot (L01_+ uot
_) oto (C< oto
pil) ot ot
_p) ot (ašL04 ot // potaša
p) ot (eL68 ot
pr) ot (am uot
pr) ot (e ot
pr) ot (est+ ot
pr) ot (o ot
pr) oto (š uotuo // protoš..
pr) otot (ip otot
@@ -1465,14 +1486,16 @@ L46L45L45) o (<< uo
r) ot (b ot
r) ot (er ot
r) ot (ē ot
r) ot (kaL77 o`t
r) ot (kaL77 uo`t
sab) ot ot
sk) ot (ijL04_ ot
sk) ot (L01_ ot
sl) ot (L04_ uot // slota
sp) ot (+ ot
t) ot (ēm ot
t) ot (L50l ot
_v) ot (_++++++ ot // vot
zem) ot uot
zig) ot (L01_ ot // ..zigots
zig) ot (L04_ ot // ..zigota

@@ -1515,6 +1538,7 @@ L46L45L45) o (<< uo
kl) oz (et oz
k) ozlov ozlov
_m) oz (L03_ o:z // Mozus
_n) oz uoz
oz (L01_ o:z // ..ozs
@@) oz (L05_ o:z // ..oze
ozo (lL01_ uozuo // ..ozols
@@ -1536,6 +1560,7 @@ L46L45L45) o (<< uo

.group p
p p
l) p >p
_) pus (vien p%us // pus..number stress on next syllable
_) pus (div p%us
_) pus (otr p%us
@@ -1569,12 +1594,13 @@ L46L45L45) o (<< uo

.group t
t t
l) t >t

.group u
u u
ui ui
u (u u_!
L41J) uo u_!o
u (u u_|
L41J) uo u_|o
uo uo
.group ū
ū u:

+ 20
- 18
dictsource/my_rules View File

@@ -15,12 +15,12 @@

.group က
က k
က (် ɛ
// _) က (_ kə3
// က (ျ tɕ
က (် e //vv ɛ
_) က (_ ke //vv kə3
က (ျ te //vv

.group ျ
ျ tɕ
ျ t //vvɕ

.group ွ
ွ w
@@ -39,7 +39,7 @@
ဃ g

.group င
င ŋ
n //vv ŋ
င် n

.group စ
@@ -55,10 +55,10 @@
ဈ z

.group ည
ည ɲ
n //vv ɲ

.group ဉ
ဉ ɲ
n //vv ɲ

.group ဋ
ဋ t
@@ -118,7 +118,7 @@
ဝ w

.group သ
သ θ
t //vv θ

.group ဟ
ဟ h
@@ -127,7 +127,7 @@
ဠ l

.group အ
အ ə3
e // vv ə3

////

@@ -150,19 +150,21 @@
.group ို
ို o

.group ာ
ာ ə
ါ ə
.group
ာ ts
ာ e // vv ə
ါ e // vv ə

.group း
း 2

.group ော
ော ɔ2
ော (် ɔ1
ော (့ ɔ3
ောင် ɔɴ4
ောက် ɔ4
.group ော
ော a:
// ော (် ɔ1
// ော (့ ɔ3
// ောင် ɔɴ4
// ောက် ɔ4

//.group ော
// ော au2

+ 2
- 2
docs/dictionary.md View File

@@ -379,8 +379,8 @@ instead of, or as well as, the phonetic translation.
| `$hasdot` | Use this pronunciation if the word is followed by a dot. (This attribute also implies `$dot`). |
| `$max3` | Limit to 3 repetitions in pronunciation.|
| `$text` | Word translates to replacement text, not phonemes.|
| `$verbf` | The following word is probably is a verb. |
| `$verbsf` | The following word is probably is a if it has an "s" suffix. |
| `$verbf` | The following word is probably a verb. |
| `$verbsf` | The following word is probably a verb if it has an "s" suffix. |
| `$nounf` | The following word is probably not a verb. |
| `$pastf` | The following word is probably past tense. |
| `$verb` | Use this pronunciation if it's a verb, i.e. previously processed word had `$verbf` or `$verbsf` set.|

+ 8
- 7
docs/voices.md View File

@@ -379,16 +379,17 @@ listed in [Phonemes](phonemes.md).
Eight integer parameters. These control the relative lengths of the
vowels in stressed and unstressed syllables.

* 0 unstressed
* 0 unstressed. Unstressed syllable in word
(syllable with `%` mark or without any stress mark).
* 1 diminished. Its use depends on the language. In English it's used for
unstressed syllables within multisyllabic words. In Spanish it's used
for unstressed final syllables.
* 2 secondary stress
* 3 words marked as "unstressed" in the dictionary
unstressed syllables (marked with `%%`) within multisyllabic words.
In other languages it is final unstressed syllable.
* 2 secondary stress (syllable with marked with `,`).
* 3 words marked as "unstressed" in the dictionary.
* 4 not currently used
* 5 not currently used
* 6 stressed syllable (the main syllable in stressed words)
* 7 tonic syllable (by default, the last stressed syllable in the clause)
* 6 stressed syllable (the main syllable in stressed words marked with `'`).
* 7 tonic syllable (by default, the last stressed syllable in the clause).

### stressAdd


+ 2
- 2
espeak-ng-data/lang/bat/lv View File

@@ -9,5 +9,5 @@ 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 10 8 0 0 20 15
stressLength 180 180 180 160 0 0 250 180
stressAmp 12 10 8 8 0 0 18 15
stressLength 160 140 200 140 0 0 240 180

+ 2
- 0
espeak-ng-data/voices/sit/my View File

@@ -0,0 +1,2 @@
name myanmar
language my

BIN
phsource/myanmar/a View File


BIN
phsource/myanmar/a01 View File


BIN
phsource/myanmar/a02 View File


BIN
phsource/myanmar/a03 View File


BIN
phsource/myanmar/a04 View File


BIN
phsource/myanmar/a05 View File


BIN
phsource/myanmar/a06 View File


BIN
phsource/myanmar/a07 View File


BIN
phsource/myanmar/a07_ View File


BIN
phsource/myanmar/a08 View File


BIN
phsource/myanmar/a09 View File


BIN
phsource/myanmar/a10 View File


BIN
phsource/myanmar/a11 View File


BIN
phsource/myanmar/a12 View File


BIN
phsource/myanmar/a13 View File


BIN
phsource/myanmar/a14 View File


BIN
phsource/myanmar/a15 View File


BIN
phsource/myanmar/a16 View File


BIN
phsource/myanmar/a17 View File


BIN
phsource/myanmar/a18 View File


BIN
phsource/myanmar/a19 View File


BIN
phsource/myanmar/a2 View File


BIN
phsource/myanmar/a20 View File


BIN
phsource/myanmar/a21 View File


BIN
phsource/myanmar/a22 View File


BIN
phsource/myanmar/a23 View File


BIN
phsource/myanmar/a24 View File


BIN
phsource/myanmar/a25 View File


BIN
phsource/myanmar/a26 View File


BIN
phsource/myanmar/a27 View File


BIN
phsource/myanmar/a28 View File


BIN
phsource/myanmar/a29 View File


BIN
phsource/myanmar/a30 View File


BIN
phsource/myanmar/a31 View File


BIN
phsource/myanmar/a32 View File


BIN
phsource/myanmar/a33 View File


BIN
phsource/myanmar/a34 View File


BIN
phsource/myanmar/a35 View File


BIN
phsource/myanmar/a36 View File


BIN
phsource/myanmar/a37 View File


BIN
phsource/myanmar/a38 View File


BIN
phsource/myanmar/a39 View File


BIN
phsource/myanmar/a40 View File


BIN
phsource/myanmar/a41 View File


BIN
phsource/myanmar/a42 View File


BIN
phsource/myanmar/a43 View File


BIN
phsource/myanmar/a44 View File


BIN
phsource/myanmar/a45 View File


BIN
phsource/myanmar/a46 View File


BIN
phsource/myanmar/a47 View File


BIN
phsource/myanmar/a48 View File


BIN
phsource/myanmar/a49 View File


BIN
phsource/myanmar/a50 View File


BIN
phsource/myanmar/by.wav View File


BIN
phsource/myanmar/ch.wav View File


BIN
phsource/myanmar/d.wav View File


BIN
phsource/myanmar/dya.wav View File


BIN
phsource/myanmar/g.wav View File


BIN
phsource/myanmar/gya.wav View File


BIN
phsource/myanmar/h.wav View File


BIN
phsource/myanmar/hs.wav View File


BIN
phsource/myanmar/ht.wav View File


BIN
phsource/myanmar/htya.wav View File


BIN
phsource/myanmar/k.wav View File


BIN
phsource/myanmar/kh.wav View File


BIN
phsource/myanmar/ky View File


BIN
phsource/myanmar/ny View File


BIN
phsource/myanmar/p.wav View File


BIN
phsource/myanmar/phya.wav View File


BIN
phsource/myanmar/pya.wav View File


BIN
phsource/myanmar/r.wav View File


BIN
phsource/myanmar/s.wav View File


BIN
phsource/myanmar/sh.wav View File


BIN
phsource/myanmar/t_hi.wav View File


BIN
phsource/myanmar/t_short.wav View File


BIN
phsource/myanmar/ty.wav View File


BIN
phsource/myanmar/yy View File


BIN
phsource/myanmar/z.wav View File


+ 55
- 18
phsource/ph_latvian View File

@@ -8,13 +8,13 @@

phoneme a
vwl starttype #a endtype #a
length 120
length 130
FMT(vwl_lv/a, 100) // adjusted from aa_3
endphoneme

phoneme a:
vwl starttype #a endtype #a
length 300
length 310
lng
FMT(vwl_lv/aa, 90)
endphoneme
@@ -51,7 +51,7 @@ endphoneme

phoneme i:
vwl starttype #i endtype #i
length 300
length 280
FMT(vwl_lv/ii, 90) // was i_7
endphoneme

@@ -59,13 +59,13 @@ endphoneme
phoneme y // English y, short Latgalian "hard i"
vwl starttype #i endtype #i
length 120
FMT(vowel/y_2)
FMT(vwl_lv/y)
endphoneme

phoneme y: // Long Latgalian "hard i"
vwl starttype #i endtype #i
length 300
FMT(vowel/y_2)
FMT(vwl_lv/yy)
endphoneme

phoneme o
@@ -94,21 +94,21 @@ endphoneme

phoneme ai
vwl starttype #a endtype #i
length 250
length 280
lng
FMT(vdiph/aai, 100)
endphoneme

phoneme au
vwl starttype #a endtype #u
length 275
length 300
lng
FMT(vdiph/aau, 100)
endphoneme

phoneme ei
vwl starttype #e endtype #i
length 250
length 280
lng
FMT(vdiph/eei_2, 100)
endphoneme
@@ -141,9 +141,9 @@ phoneme uo
FMT(vdiph2/uaa, 100)
endphoneme

phoneme o` // shorter version of uo
phoneme uo` // shorter version of uo
vwl starttype #u endtype #a
length 180
length 150
lng
FMT(vdiph2/uaa, 100)
endphoneme
@@ -368,12 +368,49 @@ phoneme j // **y**es
ENDIF
endphoneme

// TODO should use this with correct lengthening
//phoneme l
// liquid
// unstressed
// dnt
// length 150
// FMT(vwl_hi/l-voc)
//endphoneme
phoneme l
liquid

IF nextPh(isNotVowel) THEN
ChangePhoneme(l/)
ENDIF

IF nextPh(isNotVowel) THEN
PrevVowelEndings
VowelEnding(l/L1_@L)
VowelEnding(l/L1_aL)
VowelEnding(l/L1_eL)
VowelEnding(l/L1_iL)
VowelEnding(l/L1_oL)
VowelEnding(l/L1_uL)
EndSwitch

FMT(l/l_)
RETURN
ENDIF

CALL vowelstart_l

IF prevPh(a) OR prevPh(a:) THEN
VowelEnding(l/xl, 30) // FIXME
ELSEIF prevPh(isVowel) THEN
VowelEnding(l/xl, 10)
ENDIF

IF prevPh(isPause) THEN
FMT(l/_l)
ENDIF

IF prevPh(t) THEN
FMT(l/tl)
ENDIF

IF prevPh(l/) THEN
FMT(l/l_long) // double l, make it longer
ENDIF

FMT(l/l)
endphoneme




+ 779
- 0
phsource/ph_myanmar View File

@@ -0,0 +1,779 @@
//===========
// TONES
//===========


phoneme 1 //low tone
stress
Tone(20,35, envelope/i_risefall,NULL)
endphoneme

phoneme 2 //high tone
stress
Tone(45,80, envelope/p_rise,NULL)
endphoneme

phoneme 3 //creaky tone
stress
Tone(30,75, envelope/p_214, NULL)
endphoneme

phoneme 4 //checked tone
stress
Tone(20,35, envelope/i_risefall,NULL)
endphoneme



//====================================================
// Consonants
//====================================================

phoneme k
vls uvl stp
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(myanmar/k, 150)
endphoneme

phoneme kh
vls uvl stp
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(myanmar/kh, 150)
endphoneme

phoneme g
vls glt stp
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(myanmar/g.wav,150)
endphoneme

phoneme ng
vcd pal nas pal
lengthmod 1
Vowelin f1=1 f2=1000 0 200 f3=-300 80 f4
Vowelout f1=1 f2=200 0 300 f3=200 80 len=50 rms=10
FMT(myanmar/ny,130) //addWav(r3/r_trill.wav, 50) //ng_1)
endphoneme

phoneme s
vls alv frc sib
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(myanmar/s, 150)
endphoneme

phoneme hs
vls alv frc sib
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(myanmar/hs, 150)
endphoneme

phoneme z
vls uvl stp
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(myanmar/z, 150)
endphoneme

//vv
// phoneme f
//
// import_phoneme base/N
//
// endphoneme

phoneme t // voiceless /ㅈ//

vls blb stp
lengthmod 2
WAV(myanmar/t_short,150)

endphoneme


phoneme ht
vls uvl stp
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(myanmar/ht, 150 )
endphoneme

phoneme d
vls uvl stp
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(myanmar/d, 150 )
endphoneme

phoneme p
vls blb stp
lengthmod 2
WAV(myanmar/p, 150)
endphoneme

phoneme ph
vls blb stp
voicingswitch b
lengthmod 2
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22

IF nextPh(isPause2) THEN
WAV(ustop/p_)
ELIF nextPh(r) THEN
WAV(ustop/pr, 70)
ELIF nextPh(R) OR nextPh(R2) THEN
WAV(ustop/pr)
ELIF nextPh(@-) THEN
WAV(ustop/p_unasp)
ELIF nextPh(l) THEN
WAV(ustop/pl)
ENDIF
WAV(ustop/p)

endphoneme

phoneme x
liquid
lengthmod 7

IF nextPh(isNotVowel) THEN
ChangePhoneme(l/)
ENDIF

IF nextPh(isNotVowel) THEN
PrevVowelEndings
VowelEnding(l/L1_@L, -60)
VowelEnding(l/L1_aL, -40)
VowelEnding(l/L1_eL, -30)
VowelEnding(l/L1_iL, -30)
VowelEnding(l/L1_oL, -40)
VowelEnding(l/L1_uL, -40)
EndSwitch

FMT(l/l_)
RETURN
ENDIF

CALL vowelstart_l

IF prevPh(#@) THEN
VowelEnding(l/xl, -50)
ELIF prevPh(isVowel) THEN
VowelEnding(l/xl, -40)
ENDIF

IF prevPh(isPause) THEN
FMT(l/_l)
ENDIF

IF prevPh(t) THEN
FMT(l/tl)
ENDIF

IF prevPh(l/) THEN
FMT(l/l_long) // double l, make it longer
ENDIF

FMT(l/l)

endphoneme

phoneme w
liquid
lengthmod 7

IF nextPh(isVowel) THEN
NextVowelStarts
VowelStart(w/w@)
VowelStart(w/wa)
VowelStart(w/we)
VowelStart(w/wi)
VowelStart(w/wo)
VowelStart(w/wu)
EndSwitch

VowelEnding(w/xw, -30)

IF prevPhW(isNasal) THEN
FMT(w/w)
ELSE
FMT(w/_w)
ENDIF
ELSE
Vowelout len=50
IF prevPh(#i) THEN
FMT(w/iw_)
ENDIF
FMT(w/w_)
ENDIF
endphoneme

phoneme th
vls dnt frc
voicingswitch t
lengthmod 1
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20

WAV(myanmar/t_hi,200)
endphoneme

phoneme h
vls blb stp
lengthmod 2
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
WAV(myanmar/h, 150)
endphoneme




phoneme j
vcd pal afr sib pal
voicingswitch c
lengthmod 5
Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
Vowelout f1=2 f2=2700 400 600 f3=300 80 colr=1
FMT(myanmar/yy)

endphoneme

phoneme v
vls blb stp
lengthmod 2
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
FMT(myanmar/a)
endphoneme


phoneme ky
vcd pal afr sib pal
lengthmod 5
Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
Vowelout f1=2 f2=2700 400 600 f3=300 80 colr=1
FMT(myanmar/ky)
endphoneme

////////////////////////////
phoneme q0
vls uvl stp
lengthmod 1
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(myanmar/by.wav,10)
endphoneme


phoneme q1
vls uvl stp
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=3
WAV(myanmar/ch.wav,100)
endphoneme

phoneme q3
vls uvl stp
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(myanmar/gya.wav, 150)
endphoneme

phoneme q4
vls uvl stp
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(myanmar/htya.wav, 150)
endphoneme

phoneme q7
vls uvl stp
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(myanmar/phya.wav, 150)
endphoneme


phoneme q8
vls uvl stp
lengthmod 2
WAV(myanmar/pya.wav, 10)
endphoneme

phoneme q9
vls uvl stp
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(myanmar/ty.wav, 100)
endphoneme

///////////////////////////////////////////////////////

phoneme q46
vls uvl stp
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(myanmar/sh.wav, 150)
endphoneme


//====================================================
// Vowels and Diphtnongs
//====================================================
phoneme @ //အ
vwl starttype #@ endtype #@
unstressed
length 194
FMT(myanmar/a01)
endphoneme

phoneme a01 //အ
vwl starttype #a endtype a
length 194
FMT(myanmar/a01)
endphoneme

phoneme a02 //အာ
vwl starttype #a endtype r
length 180
FMT(myanmar/a02) //ar_1)
endphoneme

phoneme a03 //အား
vwl starttype #a endtype r
length 200
FMT(myanmar/a03)
endphoneme

///////////////////////////////////////////////////////////////////////////////////////

phoneme a04 //အိ
vwl starttype #i endtype #i
IF nextPh(3) THEN //creaky tone
length 168
ELIF nextPh(1) THEN //low tone
length 408
ELIF nextPh(2) THEN //high tone
length 312
ELIF nextPh(4) THEN //checked tone
length 218
ENDIF
FMT(myanmar/a04)
endphoneme


phoneme a05 //အီ
vwl starttype #a endtype e
length 180
FMT(myanmar/a05)
endphoneme

phoneme a06 //အီး
vwl starttype #a endtype e
length 200
FMT(myanmar/a06)
endphoneme
///////////////////////////////////////////////////////////////////////////////////////////////

phoneme a07 //အု
vwl starttype #a endtype u
length 130
FMT(myanmar/a07)
endphoneme

phoneme a08 //အူ
vwl starttype #u endtype #u
IF nextPh(3) THEN //creaky tone
length 200
ELIF nextPh(1) THEN //low tone
length 461
ELIF nextPh(2) THEN //high tone
length 302
// ELIF nextPh(4) THEN //checked tone
// length
ENDIF
FMT(myanmar/a08)
endphoneme

phoneme a09 //အူး
vwl starttype #a endtype u
length 200
FMT(myanmar/a09)
endphoneme

//////////////////////////////////////////////////////////////////////////////////////

phoneme a11 //အေ့
vwl starttype #a endtype a
length 130
FMT(myanmar/a11)
endphoneme

phoneme a10 //အေ
vwl starttype #e endtype #e
IF nextPh(3) THEN //creaky tone
length 197
ELIF nextPh(1) THEN //low tone
length 436
ELIF nextPh(2) THEN //high tone
length 336
ELIF nextPh(4) THEN //checked tone
length 219
ENDIF
FMT(vowel/e)

endphoneme

phoneme a12 //အေး
vwl starttype #a endtype a
length 200
FMT(myanmar/a12)
endphoneme

//////////////////////////////////////////////////////////////////////////////////////

phoneme a14 //အဲ့
vwl starttype #a endtype e
length 120
FMT(myanmar/a14)
endphoneme

phoneme a13 //အယ်
vwl starttype #a endtype e
length 180
FMT(myanmar/a13)
endphoneme

phoneme a15 //အဲ
vwl starttype #e endtype #e
IF nextPh(3) THEN //creaky tone
length 203
ELIF nextPh(1) THEN //low tone
length 412
ELIF nextPh(2) THEN //high tone
length 317
ELIF nextPh(4) THEN //checked tone
length 209
ENDIF
FMT(vowel/e_mid) //chosen at random

endphoneme

///////////////////////////////////////////////////////////////////////////////////////////////

phoneme a17 //အော့
vwl starttype #a endtype a
length 130
FMT(myanmar/a17)
endphoneme

phoneme a18 //အော်
vwl starttype #o endtype #o
IF nextPh(3) THEN //creaky tone
length 236
ELIF nextPh(1) THEN //low tone
length 471
ELIF nextPh(2) THEN //high tone
length 345
ELIF nextPh(4) THEN //checked tone
length 202
ENDIF
FMT(vowel/oo)
endphoneme

phoneme a16 //အော
vwl starttype #a endtype e
length 200
FMT(myanmar/a16)
endphoneme

//////////////////////////////////////////////////////////////////////////////////////////////////
phoneme a20 //အံ့
vwl starttype #a endtype e
length 130
FMT(myanmar/a20)
endphoneme

phoneme a19 //အံ
vwl starttype #a endtype e
length 180
FMT(myanmar/a19)
endphoneme

phoneme a21 //အန်း
vwl starttype #a endtype e
length 200
FMT(myanmar/a21)//myanmar/an1)
endphoneme

///////////////////////////////////////////////////////////////////////////////////////////////////////

phoneme a23 //အို့
vwl starttype #a endtype e
length 130
FMT(myanmar/a23)
endphoneme

phoneme a22 //အို
vwl starttype #a endtype e
length 180
FMT(myanmar/a22)
endphoneme

phoneme a24 //အိုး
vwl starttype #a endtype e
length 200
FMT(myanmar/a24)
endphoneme

/////////////////////////////////////////////////////////////////////////////////////////////////
phoneme a29 //အင့်
vwl starttype #a endtype e
length 130
FMT(myanmar/a29)
endphoneme

phoneme a28 //အင်
vwl starttype #a endtype e
length 180
FMT(myanmar/a28)
endphoneme

phoneme a30 //အင်း
vwl starttype #a endtype e
length 200
FMT(myanmar/a30)
endphoneme


phoneme a32 //အိုင့်
vwl starttype #a endtype e
length 130
FMT(myanmar/a32)
endphoneme

phoneme a31 //အိုင်
vwl starttype #a endtype e
length 180
FMT(myanmar/a31)
endphoneme

phoneme a33 //အိုင်း
vwl starttype #a endtype e
length 200
FMT(myanmar/a33)
endphoneme

/////////////////////////////////////////////////////////

phoneme a35 //အောင့်
vwl starttype #a endtype e
length 130
FMT(myanmar/a35)
endphoneme

phoneme a34 //အောင်
vwl starttype #a endtype e
length 180
FMT(myanmar/a34)
endphoneme

phoneme a36 //အောင်း
vwl starttype #a endtype e
length 200
FMT(myanmar/a36)
endphoneme

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
phoneme a43 //အိန့်
vwl starttype #a endtype e
length 130
FMT(myanmar/a43)
endphoneme

phoneme a42 //အိန်
vwl starttype #a endtype e
length 180
FMT(myanmar/a42)
endphoneme

phoneme a44 //အိန်း
vwl starttype #a endtype e
length 200
FMT(myanmar/a44)
endphoneme

/////////////////////////////////////////////////////////////////////////////////////////////////
phoneme a20 //အန့်
vwl starttype #a endtype e
length 130
FMT(myanmar/a20)
endphoneme

phoneme a19 //အန်
vwl starttype #a endtype e
length 180
FMT(myanmar/a19)
endphoneme

phoneme a21 //အန်း
vwl starttype #a endtype e
length 200
FMT(myanmar/a21)
endphoneme

///////////////////////////////////////////////////////

phoneme a49 //အွန့်
vwl starttype #a endtype e
length 130
FMT(myanmar/a49)
endphoneme

phoneme a48 //အွန်
vwl
IF nextPh(4) THEN //diphthong with checked ton
starttype #o endtype #u
ELSE
starttype #o endtype #o
ENDIF
IF nextPh(3) THEN //creaky tone
length 266
ELIF nextPh(1) THEN //low tone
length 458
ELIF nextPh(2) THEN //high tone
length 325
ELIF nextPh(4) THEN //checked tone
length 202
ENDIF
FMT(vowel/oo_en) //formant

endphoneme

phoneme a50 //အွန်း
vwl starttype #a endtype e
length 200
FMT(myanmar/a50)
endphoneme



/////////////////////////////////////////////////////////////////////////////////////////////////////////////
phoneme a46 //အုန့်
vwl starttype #a endtype e
length 130
FMT(myanmar/a46)
endphoneme

phoneme a45 //အုန်
vwl starttype #a endtype e
length 180
FMT(myanmar/a45)
endphoneme

phoneme a47 //အုန်း
vwl starttype #a endtype e
length 200
FMT(myanmar/a47)
endphoneme

/////////////////////////////////////////////////////////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////
phoneme a25 //အက်
vwl starttype #a endtype e
length 130
FMT(myanmar/a25)
endphoneme

phoneme a26 //အောက်
vwl starttype #a endtype e
length 130
FMT(myanmar/a26)
endphoneme

phoneme a27 //အိုက်
vwl starttype #a endtype e
length 130
FMT(myanmar/a27)
endphoneme

phoneme a37 //အစ်
vwl starttype #a endtype e
length 130
FMT(myanmar/a37)
endphoneme

phoneme a38 //အတ်
vwl starttype #a endtype e
length 130
FMT(myanmar/a38)
endphoneme

phoneme a39 //အိတ်
vwl starttype #a endtype e
length 130
FMT(myanmar/a39)
endphoneme

phoneme a40 //အုတ်
vwl starttype #a endtype e
length 130
FMT(myanmar/a40)
endphoneme

phoneme a41 //အွတ်
vwl starttype #a endtype e
length 130
FMT(myanmar/a41)
endphoneme





























+ 1
- 1
phsource/phonemes View File

@@ -1980,7 +1980,7 @@ phonemetable om base1
include ph_oromo

phonemetable my base1
include ph_burmese
include ph_myanmar

phonemetable gn base1
include ph_guarani

BIN
phsource/vwl_lv/vowelchart.png View File


BIN
phsource/vwl_lv/y View File


BIN
phsource/vwl_lv/yy View File


+ 1
- 1
tests/phoneme-output.test View File

@@ -19,7 +19,7 @@ test_phonemes en " h@l'oU" "hello"
test_phonemes en " s'VmTIN Imp'o@t@nt" "something important"

# spelling rules for suffices (-mas, -mu)
test_phonemes lv " nev'ie:na no\`_ 'eiRo:pas v'a>lsti:m nek,ad nav p'a:Rga:jusi no\`_ 'univERsa::la:s_:_: no\` visp'aRe: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 visparējiem nodokļiem finansētas) sistēmas uz obligātās apdrošināšanas sistēmu Beigas."
test_phonemes lv " nev'ie:na nuo\`_ 'eiRo:pas v'a>lsti:m nek,ad nav p'a:Rga:jusi nuo\`_ 'univERsa::la:s_:_: nuo\` visp'aRe: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 visparējiem nodokļiem finansētas) sistēmas uz obligātās apdrošināšanas sistēmu Beigas."

# Emoji


Loading…
Cancel
Save