Merge branch #593

This commit is contained in:
Valdis Vitolins
2019-03-17 15:33:32 +02:00
6 changed files with 342 additions and 89 deletions
+38 -21
View File
@@ -84,6 +84,7 @@ ỵ ỵ
.L03 ch nh
.L04 a u ă â o ô á à ả ã ạ ù ú ủ ũ ụ ắ ằ ẳ ẵ ặ ấ ầ ẩ ẫ ậ ó ò ỏ õ ọ ố ồ ổ ỗ ộ ư ứ ừ ử ữ ự ơ ớ ờ ở ỡ ợ
.L05 o ó ò ỏ õ ọ ô ố ồ ộ ỗ ổ
.group b
b b
_) b _b
@@ -267,7 +268,13 @@ ỵ ỵ
.group q
q k
q (_ k
qu kw //kw
qu kw //kw
quô ku@
quồ ku@2
quố ku@3
quổ ku@4
quỗ ku@5
quộ ku@6
@@ -389,7 +396,7 @@ ỵ ỵ
a (L01 _^_EN
ai (L02 _^_EN
a (@ _^_EN
a (L03 a
a (L03 e-
.group à
@@ -397,7 +404,7 @@ ỵ ỵ
ài a:I2
ày aI2
?2 ày a:I2
à (L03 e-2
@@ -419,7 +426,8 @@ ỵ ỵ
áu aU3
?2 áu a:U3
?2 áy a:I3
á (L03 e-3
.group ả
ả a:4
ải a:I4
@@ -428,6 +436,7 @@ ỵ ỵ
ảu aU4
?2 ảu a:U4
?2 ảy a:I4
ả (L03 e-4
.group ã
ã a:5
@@ -437,6 +446,7 @@ ỵ ỵ
ãu aU5
?2 ãu a:U5
?2 ãy a:I5
ã (L03 e-5
.group ạ
ạ a:6
@@ -446,6 +456,7 @@ ỵ ỵ
ạu aU6
?2 ạu a:U6
?2 ạy a:I6
ạ (L03 e-6
//================================
@@ -784,14 +795,14 @@ ỵ ỵ
oĩ OI5
oị OI6
ong O#
oe o& // Adding oe sound example: lóe sáng,toét mắt
oai Oi // oai sound
oe wE // Adding oe sound example: lóe sáng,toét mắt
oai wa:I // oai sound
o (@ _^_EN
oại Oi6
oài Oi2
oái Oi3
oải Oi4
oãi Oi5
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
@@ -799,13 +810,19 @@ ỵ ỵ
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
.group ò
ò O2
òi OI2
òa o@2 //ò (A w2
òng O#2
òe o&2
òe wE2
@@ -818,7 +835,7 @@ ỵ ỵ
ói OI3
óa o@3 //ó (A w3
óng O#3
óe o&3
óe wE3
óc O#3k
@@ -831,7 +848,7 @@ ỵ ỵ
ỏi OI4
ỏa o@4 //ỏ (A w4
ỏng O#4
ỏe o&4
ỏe wE4
@@ -844,7 +861,7 @@ ỵ ỵ
õi OI5
õa o@5 //õ (A w5
õng O#5
õe o&5
õe wE5
@@ -857,7 +874,7 @@ ỵ ỵ
ọi OI6
ọa o@6 //ọ (A w6
ọng O#6
ọe o&6
ọe wE6
ọc O#6k
@@ -873,7 +890,7 @@ ỵ ỵ
ôi oI
ông o# // ông sound
?2 ôi O- //south dialect
ôc o#k
.group ồ
@@ -891,7 +908,7 @@ ỵ ỵ
ối oI3
ống o#3
?2 ối O-3
ốc o#3k
@@ -921,7 +938,7 @@ ỵ ỵ
ội oI6
// ộng o#6
?2 ội O-6
ộc o#6k
@@ -994,8 +1011,9 @@ ỵ ỵ
.group u
u u
u (A u
u (A w
A) u w
gi) u u
ui uI
uì uI2
uí uI3
@@ -1025,7 +1043,6 @@ ỵ ỵ
u (@ _^_EN
// ua (L01 _^_EN
?2 u u-
.group ù
+1 -1
View File
@@ -2,4 +2,4 @@ name Vietnamese (Northern)
language vi
words 1
pitch 100 180
pitch 90 170
+16
View File
@@ -0,0 +1,16 @@
language variant
name Nguyen
pitch 95 175
formant 0 100 125 100
formant 1 96 90 80
formant 2 97 70 90
formant 3 97 60 90
formant 4 97 60 90
formant 5 75 50 90
formant 6 90 50 100
formant 7 100 50 100
formant 8 100 50 100
tone 100 200 600 150 800 100 2400 80 3600 95 5400 100
+286 -66
View File
@@ -54,85 +54,189 @@ endphoneme
phoneme a
vwl starttype #@ endtype #@
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
IF nextPhW(p) THEN
length 142
ELIF nextPhW(t[) THEN
length 126
ELIF nextPhW(c) THEN
length 136
ELIF nextPhW(m) THEN
length 155
ELIF nextPhW(n) THEN
length 185
ELIF nextPhW(N) THEN
length 173
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 180
ENDIF
ENDIF
IF nextPh(N) OR nextPh(c) THEN
FMT(vnasal/a_n)
ELSE
//FMT(vietnam/a) //a_4)
FMT(vietnam/a_x)
FMT(vietnam/a, 60) //a_4)
ENDIF
endphoneme
phoneme a:
vwl starttype #a endtype #a
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd)THEN
IF nextPhW(p) THEN
length 142
ELIF nextPhW(t[) THEN
length 126
ELIF nextPhW(c) THEN
length 136
ELIF nextPhW(m) THEN
length 155
ELIF nextPhW(n) THEN
length 185
ELIF nextPhW(N) THEN
length 173
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 280
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELIF nextPh(n^) OR nextPh(c) THEN
length 100
ELIF nextPh(N) THEN
length 200
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
length 333
ELSE
length 180 //200
length 180
ENDIF
// FMT(vowel/a_8)
FMT(vietnam/a_2)
FMT(vowel/a_8)
//FMT(vietnam/a_2)
endphoneme
phoneme E
vwl starttype #e endtype #e
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
IF nextPhW(p) THEN
length 143
ELIF nextPhW(t[) THEN
length 107
ELIF nextPhW(c) THEN
length 141
ELIF nextPhW(m) THEN
length 128
ELIF nextPhW(n) THEN
length 160
ELIF nextPhW(N) THEN
length 187
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
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
length 352
ELSE
length 180
ENDIF
ENDIF
FMT(vowel/e_e) //ee_3)
endphoneme
phoneme e
vwl starttype #e 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 thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 270
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELSE
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
length 324
ELSE
length 180
ENDIF
// FMT(vowel/e)
ENDIF
IF nextPh(n^) THEN
FMT(vowel/e)
ELSE
FMT(vietnam/e)
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)
endphoneme
phoneme i
vwl starttype #i endtype #i
IfNextVowelAppend(;)
IF prevPhW(w) THEN
VowelStart(w/wi)
ENDIF
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
IF nextPhW(p) THEN
length 131
ELIF nextPhW(t[) THEN
length 113
ELIF nextPhW(c) OR nextPhW(n^) THEN
length 72
ELIF nextPhW(m) THEN
length 120
ELIF nextPhW(n) THEN
length 128
ELIF nextPhW(N) THEN
length 97
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 310
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
length 363
ELSE
length 180
ENDIF
IF nextPh(n^) OR nextPh(c) THEN
length 100
FMT(vnasal/ii_n)
ELSE
length 180
FMT(vowel/i_4)
FMT(vowel/i_4)
ENDIF
endphoneme
phoneme O
vwl starttype #o endtype #o
IF nextPh(kh) OR nextPh(N) THEN
IF nextPhW(p) THEN
length 129
ELIF nextPhW(t[) THEN
length 125
ELIF nextPhW(c) THEN
length 80
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
ELIF nextPhW(m) THEN
length 133
ELIF nextPhW(n) THEN
length 158
ELIF nextPhW(N) THEN
length 102
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 280
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELSE
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
length 331
ELSE
length 180
ENDIF
ENDIF
FMT(vdiph2/o_oo) //vowel/oo)
endphoneme
@@ -150,38 +254,81 @@ endphoneme
phoneme o
vwl starttype #o endtype #o
IF nextPh(kh) OR nextPh(N) THEN
length 110
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
IF nextPhW(p) THEN
length 140
ELIF nextPhW(t[) THEN
length 113
ELIF nextPhW(c) THEN
length 88
ELIF nextPhW(m) THEN
length 134
ELIF nextPhW(n) THEN
length 168
ELIF nextPhW(N) THEN
length 99
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 310
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELSE
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
length 363
ELSE
length 180
ENDIF
ENDIF
FMT(vowel/o) // o_2)
endphoneme
phoneme u
vwl starttype #u endtype #u
IF nextPh(kh) OR nextPh(N) THEN // hear as ung sound
length 120
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
IF nextPhW(p) THEN
length 110
ELIF nextPhW(t[) THEN
length 94
ELIF nextPhW(c) THEN
length 83
ELIF nextPhW(m) THEN
length 141
ELIF nextPhW(n) THEN
length 177
ELIF nextPhW(N) THEN
length 80
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 280
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELSE
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
length 333
ELSE
length 180
ENDIF
FMT(vnasal/u_n,60) //vowel/u_5)
ENDIF
FMT(vnasal/u_n) //vowel/u_5)
endphoneme
phoneme y
vwl starttype #u endtype #u
IF nextPh(kh) OR nextPh(N) THEN
length 120
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
IF nextPhW(p) THEN
length 102
ELIF nextPhW(t[) THEN
length 76
ELIF nextPhW(c) THEN
length 70
ELIF nextPhW(m) THEN
length 143
ELIF nextPhW(n) THEN
length 136
ELIF nextPhW(N) THEN
length 101
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 270
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELSE
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
length 328
ELSE
length 180
ENDIF
ENDIF
FMT(vowel/u#_5)
endphoneme
@@ -189,13 +336,25 @@ endphoneme
phoneme @
vwl starttype #@ endtype #a
IF nextPh(kh) OR nextPh(N) OR nextPh(n^) OR nextPh(c) THEN
length 120
ELIF 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 240
ELSE
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELSE
length 180
ENDIF
ENDIF
// FMT(vowel/V) //vowel/@_2)
FMT(vietnam/V)
endphoneme
@@ -203,11 +362,27 @@ endphoneme
phoneme @:
vwl starttype #@ 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 280
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN
length 240
ELSE
ELIF thisPh(isWordStart) AND thisPh(isWordEnd) THEN
length 333
ELSE
length 180
ENDIF
ENDIF
FMT(vowel/@_2)
endphoneme
@@ -408,7 +583,9 @@ endphoneme
phoneme o# // ông
vwl starttype #o endtype #o
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
IF nextPhW(k) THEN
length 120
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 200
@@ -521,9 +698,7 @@ phoneme N // si**ng**
vcd lbv nas
Vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
lengthmod 12 // longer than 'n'
IF prevPhW(isVowel) AND prev2PhW(isVowel) THEN
length 160
ENDIF
FMT(n/nm)
endphoneme
@@ -573,7 +748,7 @@ WAV(vietnam/dd)
vls pal stp pzd
//voicingswitch J
lengthmod 2
length 2
length 50
Vowelin f1=0 f2=2700 400 600 f3=300 80 len=15 brk
Vowelout f1=1 f2=2700 400 600 f3=200 70 len=15 colr=1
@@ -593,16 +768,61 @@ phoneme p
endphoneme
phoneme t[ // dental variant of /t/
vls dnt 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
IF thisPh(isWordEnd) THEN
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)
ELSE
vls dnt 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
IF nextPh(isPause2) THEN
WAV(ustop/t_unasp2, 5)
IF nextPh(isPause2) THEN
WAV(ustop/t_unasp2, 5)
ENDIF
WAV(ustop/t_hi, 70)
ENDIF
WAV(ustop/t_hi, 70)
endphoneme
phoneme w
liquid
length 20
starttype #u
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 nextPh(isVowel) AND prevPhW(t[) THEN
FMT(vnasal/u_n, 60)
ENDIF
IF prevPhW(isNasal) THEN
FMT(w/w)
ELSEIF prevPhW(h) THEN
// none, [hw]
ELSE
FMT(w/_w)
ENDIF
ELSE
// no vowel follows
Vowelout len=50
IF prevPh(#i) THEN
FMT(w/iw_)
ENDIF
FMT(w/w_)
ENDIF
endphoneme
Binary file not shown.
+1 -1
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'Vr.@cr.e:\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^_| 'a1n^_| '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,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."
##### Fallback to other languages in different scripts (language switch).