Browse Source

Merge pull request #607

master
Valdis Vitolins 6 years ago
parent
commit
15f8741bce

+ 157
- 192
dictsource/vi_rules View File

@@ -364,35 +364,35 @@ ỵ ỵ
.group a
a a:
ai a:I
aì a:I2
aí a:I3
aỉ a:I4
aĩ a:I5
aị a:I6
ay aI
ai a:j
aì a:j2
aí a:j3
aỉ a:j4
aĩ a:j5
aị a:j6
ay aj
?2 ay a:I
aý aI3
aỷ aI4
aỹ aI5
aỵ aI6
ao a:U
aò a:U2
aó a:U3
aỏ a:U4
aõ a:U5
aọ a:U6
au aU
aý aj3
aỷ aj4
aỹ aj5
aỵ aj6
ao a:w
aò a:w2
aó a:w3
aỏ a:w4
aõ a:w5
aọ a:w6
au aw
?2 au a:U
aù aU2
aú aU3
aủ aU4
aũ aU5
aụ aU6
aù aw2
aú aw3
aủ aw4
aũ aw5
aụ aw6
a (L01 _^_EN
ai (L02 _^_EN
a (@ _^_EN
@@ -401,8 +401,8 @@ ỵ ỵ
.group à
à a:2
ài a:I2
ày aI2
ài a:j2
ày aj2
?2 ày a:I2
à (L03 e-2
@@ -412,48 +412,48 @@ ỵ ỵ
ào a:U2
àu aU2
ào a:w2
àu aw2
?2 àu a:U2
.group á
á a:3
ái a:I3
áy aI3
áo a:U3
áu aU3
ái a:j3
áy aj3
áo a:w3
áu aw3
?2 áu a:U3
?2 áy a:I3
á (L03 e-3
.group ả
ả a:4
ải a:I4
ảy aI4
ảo a:U4
ảu aU4
ải a:j4
ảy aj4
ảo a:w4
ảu aw4
?2 ảu a:U4
?2 ảy a:I4
ả (L03 e-4
.group ã
ã a:5
ãi a:I5
ãy aI5
ão a:U5
ãu aU5
ãi a:j5
ãy aj5
ão a:w5
ãu aw5
?2 ãu a:U5
?2 ãy a:I5
ã (L03 e-5
.group ạ
ạ a:6
ại a:I6
ạy aI6
ạo a:U6
ạu aU6
ại a:j6
ạy aj6
ạo a:w6
ạu aw6
?2 ạu a:U6
?2 ạy a:I6
ạ (L03 e-6
@@ -515,7 +515,7 @@ ỵ ỵ
.group â
â @
ây @I
âu @U1
âu @w1
?2 â (L03 a
?1 â (L03 a
@@ -526,7 +526,7 @@ ỵ ỵ
.group ầ
ầ @2
ầy @I2
ầu @U2
ầu @w2
?2 ầ (L03 a2
?1 ầ (L03 a2
@@ -537,7 +537,7 @@ ỵ ỵ
.group ấ
ấ @3
ấy @I3
ấu @U3
ấu @w3
?2 ấ (L03 a3
?1 ấ (L03 a3
@@ -548,7 +548,7 @@ ỵ ỵ
.group ẩ
ẩ @4
ẩy @I4
ẩu @U4
ẩu @w4
@@ -559,7 +559,7 @@ ỵ ỵ
.group ẫ
ẫ @5
ẫy @I5
ẫu @U5
ẫu @w5
@@ -570,7 +570,7 @@ ỵ ỵ
.group ậ
ậ @6
ậy @I6
ậu @U6
ậu @w6
?2 ậ (L03 a6
?1 ậ (L03 a6
@@ -578,12 +578,12 @@ ỵ ỵ
//===========================
.group e
e E
eo EU
eò EU2
eó EU3
eỏ EU4
eỗ EU5
eọ EU6
eo Ew
eò Ew2
eó Ew3
eỏ Ew4
eỗ Ew5
eọ Ew6
e (L01 _^_EN
ey (_ _^_EN
e (@ _^_EN
@@ -592,7 +592,7 @@ ỵ ỵ
.group è
è E2
èo EU2
èo Ew2
@@ -602,7 +602,7 @@ ỵ ỵ
.group é
é E3
éo EU3
éo Ew3
@@ -612,7 +612,7 @@ ỵ ỵ
.group ẻ
ẻ E4
ẻo EU4
ẻo Ew4
@@ -622,7 +622,7 @@ ỵ ỵ
.group ẽ
ẽ E5
ẽo EU5
ẽo Ew5
@@ -632,7 +632,7 @@ ỵ ỵ
.group ẹ
ẹ E6
ẹo EU6
ẹo Ew6
@@ -643,7 +643,7 @@ ỵ ỵ
.group ê
ê e
êu eU1
êu ew1
?2 ê (L03 @:
?2 ê (L02 @:
@@ -651,7 +651,7 @@ ỵ ỵ
.group ề
ề e2
ều eU2
ều ew2
?2 ề (L03 @:2
?2 ề (L02 @:2
@@ -659,7 +659,7 @@ ỵ ỵ
.group ế
ế e3
ếu eU3
ếu ew3
?2 ế (L03 @:3
@@ -667,7 +667,7 @@ ỵ ỵ
.group ể
ể e4
ểu eU4
ểu ew4
?2 ể (L03 @:4
?2 ể (L02 @:4
@@ -675,7 +675,7 @@ ỵ ỵ
.group ễ
ễ e5
ễu eU5
ễu ew5
?2 ễ (L03 @:5
?2 ễ (L02 @:5
@@ -683,7 +683,7 @@ ỵ ỵ
.group ệ
ệ e6
ệu eU6
ệu ew6
?2 ệ (L03 @:6
?2 ệ (L02 @:6
@@ -694,7 +694,7 @@ ỵ ỵ
.group i
i i
//i (A j
A) i j
ia i@
ià i@2
iá i@3
@@ -707,18 +707,18 @@ ỵ ỵ
iể iE4
iễ iE5
iệ iE6
iu iU
iù iU2
iú iU3
iủ iU4
iũ iU5
iụ iU6
iêu iU
iều iU2
iếu iU3
iểu iU4
iễu iU5
iệu iU6
iu iw
iù iw2
iú iw3
iủ iw4
iũ iw5
iụ iw6
iêu iEw
iều iEw2
iếu iEw3
iểu iEw4
iễu iEw5
iệu iEw6
i (L01 _^_EN
i (@ _^_EN
?2 i (L03 @
@@ -729,7 +729,7 @@ ỵ ỵ
ì i2
ì (A j2
ìa i@2
ìu iU2
ìu iw2
?2 ì (L03 @2
?1 ì (L03 @2
?2 ì (L02 @2
@@ -738,7 +738,7 @@ ỵ ỵ
í i3
í (A j3
ía i@3
íu iU3
íu iw3
?2 í (L03 @3
?1 í (L03 @3
?2 í (L02 @3
@@ -747,7 +747,7 @@ ỵ ỵ
ỉ i4
ỉ (A j4
ỉa i@4
ỉu iU4
ỉu iw4
?2 ỉ (L03 @4
?1 ỉ (L03 @4
?2 ỉ (L02 @4
@@ -758,7 +758,7 @@ ỵ ỵ
ĩ i5
ĩ (A j5
ĩa i@5
ĩu iU5
ĩu iw5
?2 ĩ (L03 @5
?1 ĩ (L03 @5
?2 ĩ (L02 @5
@@ -769,7 +769,7 @@ ỵ ỵ
ị i6
ị (A j6
ịa i@6
ịu iU6
ịu iw6
?2 ị (L03 @6
?1 ị (L03 @6
?2 ị (L02 @6
@@ -781,47 +781,17 @@ ỵ ỵ
.group o
o O
oa o@ // modify oa sound example: hoa,khoa // o (A w
oà o@2
oá o@3
oả o@4
oã o@5
oạ o@6
o (A w
oi Oj
oo O
oi OI
oì OI2
oí OI3
oỉ OI4
oĩ OI5
oị OI6
ong O#
oe wE // Adding oe sound example: lóe sáng,toét mắt
oai wa:I // oai sound
o (@ _^_EN
oại wa:I6
oài wa:I2
oái wa:I3
oải wa:I4
oãi wa:I5
oă o@1
oằ o@2
oắ o@3
oẳ o@4
oẵ o@5
oặ o@6
oc O#k
oanh we-n^
oành we-n^2
oánh we-n^3
oảnh we-n^4
oãnh we-n^5
oạnh we-n^6
ong O#N
oc O#k
.group ò
ò O2
òi OI2
òa o@2 //ò (A w2
òng O#2
òa wa:2 //ò (A w2
òng O#N2
òe wE2
@@ -832,9 +802,8 @@ ỵ ỵ
.group ó
ó O3
ói OI3
óa o@3 //ó (A w3
óng O#3
óa wa:3 //ó (A w3
óng O#N3
óe wE3
óc O#3k
@@ -845,9 +814,8 @@ ỵ ỵ
.group ỏ
ỏ O4
ỏi OI4
ỏa o@4 //ỏ (A w4
ỏng O#4
ỏa wa:4 //ỏ (A w4
ỏng O#N4
ỏe wE4
@@ -858,9 +826,8 @@ ỵ ỵ
.group õ
õ O5
õi OI5
õa o@5 //õ (A w5
õng O#5
õa wa:5 //õ (A w5
õng O#N5
õe wE5
@@ -871,9 +838,8 @@ ỵ ỵ
.group ọ
ọ O6
ọi OI6
ọa o@6 //ọ (A w6
ọng O#6
ọa oa:6 //ọ (A w6
ọng O#N6
ọe wE6
ọc O#6k
@@ -887,16 +853,16 @@ ỵ ỵ
.group ô
ô o
ôi oI
ông o# // ông sound
ôi oj
ông o#N // ông sound
?2 ôi O- //south dialect
ôc o#k
.group ồ
ồ o2
ồi oI2
ồng o#2
ồi oj2
ồng o#N2
?2 ồi O-2
@@ -905,8 +871,8 @@ ỵ ỵ
.group ố
ố o3
ối oI3
ống o#3
ối oj3
ống o#N3
?2 ối O-3
ốc o#3k
@@ -915,8 +881,8 @@ ỵ ỵ
.group ổ
ổ o4
ổi oI4
ổng o#4
ổi oj4
ổng o#N4
?2 ổi O-4
@@ -925,8 +891,8 @@ ỵ ỵ
.group ỗ
ỗ o5
ỗi oI5
ỗng o#5
ỗi oj5
ỗng o#N5
?2 ỗi O-5
@@ -935,8 +901,8 @@ ỵ ỵ
.group ộ
ộ o6
ội oI6
// ộng o#6
ội oj6
ộng o#N6
?2 ội O-6
ộc o#6k
@@ -948,7 +914,7 @@ ỵ ỵ
.group ơ
ơ @:
ơi @:I
ơi @:j
ơu @:U
?2 ơi @- //south dialect
@@ -958,7 +924,7 @@ ỵ ỵ
.group ờ
ờ @:2
ời @:I2
ời @:j2
ờu @:U2
?2 ời @-2
@@ -968,7 +934,7 @@ ỵ ỵ
.group ớ
ớ @:3
ới @:I3
ới @:j3
ớu @:U3
?2 ới @-3
@@ -978,7 +944,7 @@ ỵ ỵ
.group ở
ở @:4
ởi @:I4
ởi @:j4
ởu @:U4
?2 ởi @-4
@@ -988,7 +954,7 @@ ỵ ỵ
.group ỡ
ỡ @:5
ỡi @:I5
ỡi @:j5
ỡu @:U5
?2 ỡi @-5
@@ -998,7 +964,7 @@ ỵ ỵ
.group ợ
ợ @:6
ợi @:I6
ợi @:j6
ợu @:U6
?2 ợi @-6
@@ -1014,12 +980,12 @@ ỵ ỵ
u (A w
A) u w
gi) u u
ui uI
uì uI2
uí uI3
uỉ uI4
uĩ uI5
uị uI6
ui uj
uì uj2
uí uj3
uỉ uj4
uĩ uj5
uị uj6
ua u@
uà u@2
uá u@3
@@ -1042,14 +1008,19 @@ ỵ ỵ
u (L01 _^_EN
u (@ _^_EN
// ua (L01 _^_EN
?2 u u-
?2 u u-
uyu wiw
uỳu wiw2
uýu wiw3
uỷu wiw4
uỹu wiw5
uỵu wiw6
.group ù
ù u2
ù (A u2
ùy ui2
ùi uI2
ù (A w2
ùy wi2
ùi uj2
ùa u@2
//ùng u#2
@@ -1060,9 +1031,9 @@ ỵ ỵ
.group ú
ú u3
ú (A u3
úy ui3
úi uI3
ú (A w3
úy wi3
úi uj3
úa u@3
//úng u#3
?2 ú u-3
@@ -1073,9 +1044,9 @@ ỵ ỵ
.group ủ
ủ u4
ủ (A u4
ủy ui4
ủi uI4
ủ (A w4
ủy wi4
ủi uj4
ủa u@4
//ủng u#4
@@ -1086,9 +1057,9 @@ ỵ ỵ
.group ũ
ũ u5
ũ (A u5
ũy ui5
ũi uI5
ũ (A w5
ũy wi5
ũi uj5
ũa u@5
//ũng u#5
?2 ũ u-5
@@ -1099,9 +1070,9 @@ ỵ ỵ
.group ụ
ụ u6
ụ (A u6
ụy ui6
ụi uI6
ụ (A w6
ụy wi6
ụi uj6
ụa u@6
//ụng u#6
?2 ụ u-6
@@ -1113,7 +1084,6 @@ ỵ ỵ
.group ư
ư y
ưi yI
ưa y@
ươ y@
ườ y@2
@@ -1121,7 +1091,7 @@ ỵ ỵ
ưở y@4
ưỡ y@5
ượ y@6
ưu yw
ưu iw
ươi y@j
ười y@j2
ưới y@j3
@@ -1143,9 +1113,8 @@ ỵ ỵ
.group ừ
ừ y2
ừi yI2
ừa y@2
ừu y2w2
ừu iw2
@@ -1155,9 +1124,8 @@ ỵ ỵ
.group ứ
ứ y3
ứi yI3
ứa y@3
ứu y3w3
ứu iw3
@@ -1167,9 +1135,8 @@ ỵ ỵ
.group ử
ử y4
ửi yI4
ửa y@4
ửu y4w4
ửu iw4
@@ -1179,9 +1146,8 @@ ỵ ỵ
.group ữ
ữ y5
ữi yI5
ữa y@5
ữu y5w5
ữu iw5
@@ -1191,9 +1157,8 @@ ỵ ỵ
.group ự
ự y6
ựi yI6
ựa y@6
ựu y6w6
ựu iw6
@@ -1211,12 +1176,12 @@ ỵ ỵ
yả i@4
yã i@5
yạ i@6
yê i@
yề i@2
yế i@3
yể i@4
yễ i@5
yệ i@6
yê iE
yề iE2
yế iE3
yể iE4
yễ iE5
yệ iE6
// yêu i@U
y (L01 _^_EN
bu) y _^_EN

+ 5
- 2
espeak-ng-data/lang/aav/vi View File

@@ -1,5 +1,8 @@
name Vietnamese (Northern)
language vi

words 1
pitch 90 170
words 1 2
pitch 95 175


tone 100 225 800 100 2000 50 5400 75 8000 200

BIN
phsource/n/nm View File


+ 249
- 84
phsource/ph_vietnam View File

@@ -6,7 +6,7 @@

phoneme 1 // ngang tone: level
stress
Tone(30, 28, envelope/p_level, NULL) // 28 29
Tone(27, 25, envelope/p_level, NULL) // 28 29
endphoneme


@@ -18,7 +18,7 @@ endphoneme

phoneme 3 // sắc Tone(rising
stress
Tone(30, 55, envelope/p_rise, NULL) // 30 60
Tone(20, 50, envelope/p_rise, NULL) // 30 60
endphoneme


@@ -55,30 +55,27 @@ endphoneme
phoneme a
vwl starttype #@ endtype #@
IF nextPhW(p) THEN
length 142
length 78
ELIF nextPhW(t[) THEN
length 126
length 84
ELIF nextPhW(c) THEN
length 136
length 82
ELIF nextPhW(m) THEN
length 155
length 90
ELIF nextPhW(n) THEN
length 185
length 100
ELIF nextPhW(N) THEN
length 173
length 90
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
length 140
ELSE
length 180
length 100
ENDIF
IF nextPh(N) OR nextPh(c) THEN
FMT(vnasal/a_n)
ELSE
FMT(vietnam/a, 60) //a_4)
ENDIF
FMT(vietnam/a_2) //a_4)
endphoneme

phoneme a:
@@ -94,9 +91,9 @@ phoneme a:
ELIF nextPhW(n) THEN
length 185
ELIF nextPhW(N) THEN
length 173
length 200
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 280
length 300
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
@@ -104,8 +101,8 @@ phoneme a:
ELSE
length 180
ENDIF
FMT(vowel/a_8)
//FMT(vietnam/a_2)
//FMT(vowel/a_8)
FMT(vietnam/aa)
endphoneme


@@ -133,7 +130,8 @@ phoneme E
ELSE
length 180
ENDIF
FMT(vowel/e_e) //ee_3)
//FMT(vowel/e_e) //ee_3)
FMT(vietnam/e_e_2)
endphoneme

phoneme e
@@ -153,7 +151,7 @@ phoneme e
ELIF nextPhW(N) THEN
length 115
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 270
length 300
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
@@ -164,19 +162,16 @@ phoneme e
IF nextPh(n^) THEN
FMT(vowel/e)
ELSE
FMT(vietnam/e)
FMT(vietnam/e, 150)
ENDIF
endphoneme


phoneme e-
vwl starttype #e endtype #a
IF nextPhW(c) THEN
length 70
ELIF nextPhW(n^) THEN
length 100
ENDIF
FMT(vietnam/e_short_2)
length 140
FMT(vietnam/e_short_1)
//FMT(vdiph/aai_3)
endphoneme

phoneme i
@@ -207,9 +202,11 @@ phoneme i
length 180
ENDIF
IF nextPh(n^) OR nextPh(c) THEN
FMT(vnasal/ii_n)
//FMT(vnasal/ii_n)
FMT(vietnam/i)
ELSE
FMT(vowel/i_4)
//FMT(vowel/i_4)
FMT(vietnam/i_2, 100)
ENDIF
endphoneme

@@ -229,7 +226,7 @@ phoneme O
ELIF nextPhW(N) THEN
length 102
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 280
length 300
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
@@ -237,7 +234,8 @@ phoneme O
ELSE
length 180
ENDIF
FMT(vdiph2/o_oo) //vowel/oo)
//FMT(vdiph2/o_oo) //vowel/oo)
FMT(vietnam/oo)
endphoneme

phoneme O+
@@ -275,7 +273,8 @@ phoneme o
ELSE
length 180
ENDIF
FMT(vowel/o) // o_2)
//FMT(vowel/o) // o_2)
FMT(vietnam/o_2)
endphoneme


@@ -295,7 +294,7 @@ phoneme u
ELIF nextPhW(N) THEN
length 80
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 280
length 300
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
@@ -303,7 +302,8 @@ phoneme u
ELSE
length 180
ENDIF
FMT(vnasal/u_n) //vowel/u_5)
//FMT(vnasal/u_n) //vowel/u_5)
FMT(vietnam/u)
endphoneme

phoneme y
@@ -313,15 +313,17 @@ phoneme y
ELIF nextPhW(t[) THEN
length 76
ELIF nextPhW(c) THEN
length 70
length 90
ELIF nextPhW(m) THEN
length 143
ELIF nextPhW(n) THEN
length 136
ELIF nextPhW(N) THEN
length 101
ELIF nextPhW(w) OR nextPhW(j) THEN
length 110
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 270
length 300
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
@@ -329,7 +331,8 @@ phoneme y
ELSE
length 180
ENDIF
FMT(vowel/u#_5)
//FMT(vowel/u#_5)
FMT(vietnam/y_2, 60)
endphoneme


@@ -356,7 +359,7 @@ phoneme @
length 180
ENDIF
// FMT(vowel/V) //vowel/@_2)
FMT(vietnam/V)
FMT(vietnam/V_2)
endphoneme


@@ -375,7 +378,7 @@ phoneme @:
ELIF nextPhW(N) THEN
length 156
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 280
length 300
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
@@ -383,7 +386,8 @@ phoneme @:
ELSE
length 180
ENDIF
FMT(vowel/@_2)
//FMT(vowel/@_2)
FMT(vietnam/@_2)
endphoneme


@@ -561,22 +565,54 @@ endphoneme

phoneme y@
vwl starttype #i endtype #@
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
IF nextPhW(p) THEN
length 123
ELIF nextPhW(t[) THEN
length 123
ELIF nextPhW(c) THEN
length 139
ELIF nextPhW(m) THEN
length 127
ELIF nextPhW(n) THEN
length 180
ELIF nextPhW(N) THEN
length 156
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELSE
length 200
ENDIF
FMT(vdiph2/y-y#)
ENDIF
//FMT(vdiph2/y-y#)
FMT(vietnam/y@)
endphoneme

phoneme u@
vwl starttype #u endtype #@
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
IF nextPhW(p) THEN
length 123
ELIF nextPhW(t[) THEN
length 123
ELIF nextPhW(c) THEN
length 139
ELIF nextPhW(m) THEN
length 127
ELIF nextPhW(n) THEN
length 160
ELIF nextPhW(N) THEN
length 156
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 300
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELSE
length 200
ENDIF
FMT(vdiph2/uu@)
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
length 333
ELSE
length 240
ENDIF
//FMT(vdiph2/uu@)-
FMT(vietnam/u@)
endphoneme

// Addition Dipthongs
@@ -586,11 +622,16 @@ phoneme o# // ông
IF nextPhW(k) THEN
length 120
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
length 360
ELIF nextPhW(N) THEN
length 99
ELIF nextPhW(k) THEN
length 88
ELSE
length 200
ENDIF
FMT(vnasal/a#u_n)
//FMT(vnasal/a#u_n)
FMT(vietnam/o#)
endphoneme

phoneme O# // ong
@@ -599,10 +640,13 @@ phoneme O# // ong
length 240
ELIF nextPh(k) THEN
length 140
ELIF nextPh(N) THEN
length 102
ELSE
length 200
ENDIF
FMT(vnasal/&u_n)
//FMT(vnasal/&u_n)
FMT(vietnam/O_short_2)
endphoneme


@@ -628,12 +672,32 @@ endphoneme

phoneme iE // iê : viết, giệc
vwl starttype #i endtype #e
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
IF nextPhW(p) THEN
length 114
ELIF nextPhW(t[) THEN
length 126
ELIF nextPhW(c) THEN
length 140
ELIF nextPhW(n^) THEN
length 120
ELIF nextPhW(m) THEN
length 148
ELIF nextPhW(n) THEN
length 163
ELIF nextPhW(N) THEN
length 115
ELIF nextPhW(w) THEN
length 100
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 300
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELSE
length 200
ENDIF
FMT(vietnam/ie_2)
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
length 324
ELSE
length 180
ENDIF
FMT(vietnam/ie)
endphoneme

phoneme Oi // oai sound
@@ -687,19 +751,36 @@ phoneme kh
endphoneme

phoneme k
vls vel frc
vls vel stp
lengthmod 3
IF nextPhW(#u) THEN
Vowelin f1=1 f2=600 -200 -400 f3=-200 80 amp=200 len=30 rms=200
WAV(vietnam/c_2, 255)
ELSE
Vowelin f1=0 f2=2300 200 400 f3=200 80 len=30
WAV(vietnam/c)
ENDIF
Vowelout f1=0 f2=2300 300 400 f3=200 80 rms=20
WAV(ustop/c)
//WAV(ustop/c)
endphoneme

phoneme N // si**ng**
vcd lbv nas
IF prevPhW(u@) THEN
// do nothing
ELSE
Vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
ENDIF
lengthmod 12 // longer than 'n'
FMT(n/nm)
IF thisPh(isWordEnd) THEN
length 163
ENDIF
IF thisPh(isWordEnd) THEN
FMT(n/nm, 50)
ELSE
FMT(nn/_nn)
ENDIF
endphoneme

phoneme l
@@ -738,10 +819,11 @@ phoneme d_
vcd alv stp
// lengthmod 5
ipa ɗ
length 50
Vowelin f1=1 f2=1700 -300 300 f3=-100 80 len=15
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk len=30
WAV(vietnam/dd)
length 70
Vowelin f1=1 f2=1500 -300 300 f3=-100 80 len=15
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk len=30
WAV(vietnam/dda_2, 200)
endphoneme
phoneme c
@@ -760,11 +842,15 @@ endphoneme
phoneme p
vls blb stp
lengthmod 2
length 15
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(ustop/p_unasp_,10)
IF thisPh(isWordEnd) THEN
WAV(ustop/p_unasp_, 10)
ELSE
WAV(ustop/p)
ENDIF
endphoneme

phoneme t[ // dental variant of /t/
@@ -772,16 +858,41 @@ phoneme t[ // dental variant of /t/
vls alv stp
voicingswitch d
lengthmod 2
length 5
Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16 len=15
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 len=15
WAV(ustop/t, 50)
length 15
IF prevPhW(#@) THEN
Vowelout f1=0 f2=1200 -50 50 f3=50 80 rms=20 len=15
ELIF prevPhW(y@) THEN
Vowelout f1=2 f2=1200 -100 150 f3=150 80 rms=20 len=15
ELIF prevPhW(#i) THEN
Vowelout f1=0 f2=2000 -300 250 f3=-50 80 rms=20 len=15
ELIF prevPhW(E) THEN
Vowelout f1=0 f2=1900 -200 200 f3=-100 80 rms=20 len=15
ELIF prevPhW(e) OR prevPhW(iE) THEN
Vowelout f1=2 f2=1800 -400 250 f3=-200 80 rms=20 len=15
ELIF prevPhW(u) THEN
Vowelout f1=2 f2=1000 -1000 250 f3=-400 80 rms=20 len=15
ELIF prevPhW(y) THEN
Vowelout f1=1 f2=1500 -300 250 f3=-400 80 rms=20 len=15
ELIF prevPhW(#a) THEN
Vowelout f1=2 f2=1500 -300 250 f3=-500 80 rms=20 len=15
ELIF prevPhW(o) THEN
Vowelout f1=2 f2=1000 -100 250 f3=-200 80 rms=20 len=15
ELIF prevPhW(O) THEN
Vowelout f1=1 f2=1000 -300 200 f3=-100 80 rms=20 len=15
ELSE
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 len=15
ENDIF
WAV(ustop/t_, 25)
ELSE
vls dnt stp
voicingswitch d[
lengthmod 2
length 5
Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16 len=15
IF nextPhW(#u) THEN
length 30
ELSE
length 15
ENDIF
Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16 len=35
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 len=15

IF nextPh(isPause2) THEN
@@ -793,10 +904,11 @@ endphoneme

phoneme w
liquid
length 20
starttype #u
IF nextPh(isVowel) THEN
length 20
NextVowelStarts
VowelStart(w/w@)
VowelStart(w/wa)
@@ -808,21 +920,74 @@ phoneme w

VowelEnding(w/xw, -30)
IF nextPh(isVowel) AND prevPhW(t[) THEN
FMT(vnasal/u_n, 60)
ENDIF
IF prevPhW(isNasal) THEN
FMT(vnasal/u_n, 60) addWav(vietnam/w, 50)
ELIF prevPhW(isNasal) THEN
FMT(w/w)
ELSEIF prevPhW(h) THEN
// none, [hw]
ELSE
FMT(w/_w)
//FMT(w/_w) addWav(vietnam/w)
FMT(vietnam/_w)
ENDIF
ELSE
// no vowel follows
Vowelout len=50
IF prevPh(#i) THEN
FMT(w/iw_)
length 80
Vowelout len=20 rms=20
//FMT(w/w_)
FMT(vietnam/w_, 150)
ENDIF
endphoneme

phoneme n^ // (a)nh
vcd pal nas pzd
ipa ɲ
Vowelout f1=3 f2=2500 300 500 f3=100 80 len=45 brk rate
lengthmod 4

IF KlattSynth THEN
VowelStart(klatt/n^@)
FMT(klatt/n^)
ENDIF

NextVowelStarts
VowelStart(n^/n^@)
VowelStart(n^/n^a)
VowelStart(n^/n^e)
VowelStart(n^/n^i)
VowelStart(n^/n^o)
VowelStart(n^/n^u)
EndSwitch

IF thisPh(isWordEnd) THEN
IF nextPhW(n^) THEN
length 75
ELIF prevPhW(n^) THEN
length 100
ENDIF
FMT(w/w_)
FMT(vietnam/n^_)
ELSE
FMT(n^/_n^)
ENDIF
endphoneme

phoneme h
vls glt frc
lengthmod 3
ipa h
IF nextPh(#@) THEN
WAV(h/h@)
ELIF nextPh(#a) THEN
WAV(h/ha)
ELIF nextPh(#e) THEN
WAV(h/he)
ELIF nextPh(#i) THEN
WAV(vietnam/hi)
ELIF nextPh(#o) THEN
WAV(h/ho)
ELIF nextPh(#u) THEN
WAV(vietnam/hu, 25)
ENDIF
endphoneme
WAV(h/h_, 70) // no vowel following
endphoneme

BIN
phsource/vietnam/@_2 View File


BIN
phsource/vietnam/O_short View File


BIN
phsource/vietnam/O_short_2 View File


BIN
phsource/vietnam/V_2 View File


BIN
phsource/vietnam/_w View File


BIN
phsource/vietnam/a_2 View File


BIN
phsource/vietnam/aa View File


BIN
phsource/vietnam/c.wav View File


BIN
phsource/vietnam/c_2.wav View File


BIN
phsource/vietnam/dd_2.wav View File


BIN
phsource/vietnam/dda.wav View File


BIN
phsource/vietnam/dda_2.wav View File


BIN
phsource/vietnam/e View File


BIN
phsource/vietnam/e_2 View File


BIN
phsource/vietnam/e_e View File


BIN
phsource/vietnam/e_e_2 View File


BIN
phsource/vietnam/e_short_1 View File


BIN
phsource/vietnam/hi.wav View File


BIN
phsource/vietnam/hu.wav View File


BIN
phsource/vietnam/i View File


BIN
phsource/vietnam/i_2 View File


BIN
phsource/vietnam/ie View File


BIN
phsource/vietnam/n^_ View File


BIN
phsource/vietnam/o# View File


BIN
phsource/vietnam/o_2 View File


BIN
phsource/vietnam/oo View File


BIN
phsource/vietnam/u View File


BIN
phsource/vietnam/u@ View File


BIN
phsource/vietnam/w.wav View File


BIN
phsource/vietnam/w_ View File


BIN
phsource/vietnam/y View File


BIN
phsource/vietnam/y@ View File


BIN
phsource/vietnam/y_2 View File


BIN
src/windows/Debug/[email protected] View File


BIN
src/windows/Debug/output_e.wav View File


BIN
src/windows/Debug/output_i.wav View File


+ 1
- 1
tests/language-pronunciation.test View File

@@ -111,7 +111,7 @@ test_phonemes tn "Latn" "B'aTU B'oKl B'a ts'i:tswl B'a g,olUl,os-'igill_:_: ll g
test_phonemes tr "Latn" "piZ'amaL@ hast'a j'a:@z SofW*'E tSabudZ'ak Jyv&nd'I\nSISlid'E byj'Yk tS'Wp j@:@nLa*'@" "Pijamalı hasta yağız şoföre çabucak güvendi. Şişli’de büyük çöp yığınları."
test_phonemes tt "Cyrl" "b0rL'Vq keSel'&r d'& 0z'0t h'&m 'yz 0brujLAr'V h'&m xoquqLAr'V jAGVnn'An t'iN bup'Vp tuAp'Ar\n0L0rG'A 0q'VL h'&m wWZ;d'An birelQ'&n h'&m b'&rb&rsen'& q0r0t'A tuGAnnArS;'A mWnAs&b&tt'& buLVrG'A tieSl'&r" "Барлык кешеләр дә азат һәм үз абруйлары һәм хокуклары ягыннан тиң бупып туапар. Аларга акыл һәм вөҗдан бирелгән һәм бәр-бәрсенә карата туганнарча мөнасәбәттә булырга тиешләр."
test_phonemes ur "Arab" "t.#'Vnd. m'e~\n'e:k q'VH@t z'Vda ga:'o:n se: g'Vz@Rte: v'aqt 'e:k c'[email protected]:\nb'a:s@R 'o: f'a:RIQ S'axs. k'o: b'a:z J'Vl p'VRi n'Uma: 'aZ@dHe: naz.'aR 'a:e:" "ٹھنڈ میں، ایک قحط زدہ گاؤں سے گذرتے وقت ایک چڑچڑے، باأثر و فارغ شخص کو بعض جل پری نما اژدہے نظر آئے۔"
test_phonemes vi "Latn" "t['@3t[_| k'a:4_| m,OI6_| N'y@2j_| s'i1n^_| z'a:1_| d_'eU2_| d_,y@6c_| t['y6_| z'O1_| v,a:2_| _b'i2n^_| d_'a4N_| v'e2_| n^'@1n_| f'@4m_| v,a:2_| kw'i@2n_| l'@:I6_|\nm,OI6_| k,O1n_| N'y@2j_| d_'eU2_| d_,y@6c_| t['a:U6_| h'o@3_| _b'a:1n_| tS,O1_| l'i3_| tS'i3_| v,a:2_| l'y@1N_| t['@1m_| v,a:2_| k'@2n_| f,a:I4_| d_'oI3_| s'y4_| v,@:I3_| n^'aU1_| tS'O#1_| t['i2n^_| 'e-1n^_| 'E7m_|" "Tất cả mọi người sinh ra đều được tự do và bình đẳng về nhân phẩm và quyền lợi. Mọi con người đều được tạo hóa ban cho lý trí và lương tâm và cần phải đối xử với nhau trong tình anh em."
test_phonemes vi "Latn" "t['@3t[_| k'a:4_| m,O6j_| N'y@2j_| s'i1n^_| z'a:1_| d_'e2w_| d_,y@6c_| t['y6_| z'O1_| v,a:2_| _b'i2n^_| d_'a4N_| v'e2_| n^'@1n_| f'@4m_| v,a:2_| kw'iE2n_| l'@:6j_|\nm,O6j_| k,O1n_| N'y@2j_| d_'e2w_| d_,y@6c_| t['a:6w_| hw'a:3_| _b'a:1n_| tS,O1_| l'i3_| tS'i3_| v,a:2_| l'y@1N_| t['@1m_| v,a:2_| k'@2n_| f,a:4j_| d_'o3j_| s'y4_| v,@:3j_| n^'a1w_| tS'O#1N_| t['i2n^_| 'e-1n^_| 'E7m_|" "Tất cả mọi người sinh ra đều được tự do và bình đẳng về nhân phẩm và quyền lợi. Mọi con người đều được tạo hóa ban cho lý trí và lương tâm và cần phải đối xử với nhau trong tình anh em."

##### Fallback to other languages in different scripts (language switch).


Loading…
Cancel
Save