Browse Source

vi: modify Vietnamese phoneme rules and tone

master
Anh Hoang Nguyen 6 years ago
parent
commit
a3865a54b0
5 changed files with 207 additions and 86 deletions
  1. 18
    18
      dictsource/vi_list
  2. 13
    12
      dictsource/vi_rules
  3. 1
    1
      espeak-ng-data/lang/aav/vi
  4. BIN
      phsource/envelopes.png
  5. 175
    55
      phsource/ph_vietnam

+ 18
- 18
dictsource/vi_list View File

_3 _b'a: // ba _3 _b'a: // ba
_4 _b'o3n // bốn _4 _b'o3n // bốn
_5 n'am // năm _5 n'am // năm
_6 s.'aU3 // sáu
_6 s'aU3 // sáu
_7 _b'aI4 // bảy _7 _b'aI4 // bảy
_8 t['a:3m // tám _8 t['a:3m // tám
_9 c'i3n // chín
_9 tSi3n // chín
_1X m'y@2j // mười _1X m'y@2j // mười
_2X h'a:I||m'y@7j // hai mươi _2X h'a:I||m'y@7j // hai mươi
_3X _b'a:||m'y@7j // ba mươi _3X _b'a:||m'y@7j // ba mươi
_4X _b'o3n||m'y@7j // bốn mươi _4X _b'o3n||m'y@7j // bốn mươi
_5X n'am||m'y@7j // năm mươi _5X n'am||m'y@7j // năm mươi
_6X s.'aU3||m'y@7j // sáu mươi
_6X s'aU3||m'y@7j // sáu mươi
_7X _b'aI4||m'y@7j // bảy mươi _7X _b'aI4||m'y@7j // bảy mươi
_8X t['a:3m||m'y@7j // tám mươi _8X t['a:3m||m'y@7j // tám mươi
_9X c'i3n||m'y@7j // chín mươi
_9X tSi3n||m'y@7j // chín mươi


_21 h'a:I||m'y@7j||m'o3t[ _21 h'a:I||m'y@7j||m'o3t[
_31 _b'a:||m'y@7j||m'o3t[ _31 _b'a:||m'y@7j||m'o3t[
_41 _b'o3n||m'y@7j||m'o3t[ _41 _b'o3n||m'y@7j||m'o3t[
_51 n'am||m'y@7j||m'o3t[ _51 n'am||m'y@7j||m'o3t[
_61 s.'aU3||m'y@7j||m'o3t[
_61 s'aU3||m'y@7j||m'o3t[
_71 _b'aI4||m'y@7j||m'o3t[ _71 _b'aI4||m'y@7j||m'o3t[
_81 t['a:3m||m'y@7j||m'o3t[ _81 t['a:3m||m'y@7j||m'o3t[
_91 c'i3n||m'y@7j||m'o3t[
_91 tSi3n||m'y@7j||m'o3t[


_25 h'a:I||m'y@7j||l'a7m _25 h'a:I||m'y@7j||l'a7m
_35 _b'a:||m'y@7j||l'a7m _35 _b'a:||m'y@7j||l'a7m
_45 _b'o3n||m'y@7j||l'a7m _45 _b'o3n||m'y@7j||l'a7m
_55 n'am||m'y@7j||l'a7m _55 n'am||m'y@7j||l'a7m
_65 s.'aU3||m'y@7j||l'a7m
_65 s'aU3||m'y@7j||l'a7m
_75 _b'aI4||m'y@7j||l'a7m _75 _b'aI4||m'y@7j||l'a7m
_85 t['a:3m||m'y@7j||l'a7m _85 t['a:3m||m'y@7j||l'a7m
_95 c'i3n||m'y@7j||l'a7m
_95 tSi3n||m'y@7j||l'a7m


_0C cr'am // trăm
_0C tS'am // trăm
_0M1 N'a:2n // ngàn _0M1 N'a:2n // ngàn
_0M2 cr'i@6w // triệu
_0M2 tS'i@6w // triệu
_0M3 t['i4 // tỷ _0M3 t['i4 // tỷ
_0and l,in^ // linh _0and l,in^ // linh
_dpt _f,@I4_ _dpt _f,@I4_
// kí hiệu - symbols // kí hiệu - symbols
~ J'@U3N'a:5 ~ J'@U3N'a:5
` J'@U3hw'i@2n ` J'@U3hw'i@2n
_! J'@U3c'@3mt'a:7n
_! J'@U3tS@3mt'a:7n
@ a:1k'O2N @ a:1k'O2N
# J'@U3t'a7N $max3 # J'@U3t'a7N $max3
$ J'@U3_d'o1l'a:7 $ J'@U3_d'o1l'a:7
% f'@2ncr'a7m
% f'@2ntS'a7m
^ J'@U3m'u5 ^ J'@U3m'u5
& J'@U3v,a:2 & J'@U3v,a:2
* J'@U3s.'a:U7 $max3
* J'@U3s'a:U7 $max3
_( m'@:4Nw'a6kh _( m'@:4Nw'a6kh
_) _d'O3NNw'a6kh _) _d'O3NNw'a6kh
_- Q'a:6cN'a:7N _- Q'a:6cN'a:7N
_] _d'O3NNw'a6khv'u@7N _] _d'O3NNw'a6khv'u@7N
_| s'o4t'a4N _| s'o4t'a4N
_\ s'o4f,a:I4 _\ s'o4f,a:I4
_: h'a:I1c'@3m
_; c'@3mf'@I4
_: h'a:I1tS@3m
_; tS@3mf'@I4
_' Nw'a6kh_d'@:7n _' Nw'a6kh_d'@:7n
_“ Nw'a6khk'E3p _“ Nw'a6khk'E3p
_, f'@I4 _, f'@I4
_. c'@3m
_/ s'o4cr'a:I3
_. tS@3m
_/ s'o4tS'a:I3
_< n^'O4h'@:7n _< n^'O4h'@:7n
_> l'@:3nh'@:7n _> l'@:3nh'@:7n
_? h'OI4c'@3m
_? h'OI4tS@3m


// ?? found in festival wow_vi_ptn_phrasing.scm // ?? found in festival wow_vi_ptn_phrasing.scm
bị $u bị $u

+ 13
- 12
dictsource/vi_rules View File

//================================ //================================
.L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve ge r .L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve ge r
.L02 n a .L02 n a
.L03 t ch nh
.L03 ch nh
.L04 a u ă â o ô á à ả ã ạ ù ú ủ ũ ụ ắ ằ ẳ ẵ ặ ấ ầ ẩ ẫ ậ ó ò ỏ õ ọ ố ồ ổ ỗ ộ ư ứ ừ ử ữ ự ơ ớ ờ ở ỡ ợ .L04 a u ă â o ô á à ả ã ạ ù ú ủ ũ ụ ắ ằ ẳ ẵ ặ ấ ầ ẩ ẫ ậ ó ò ỏ õ ọ ố ồ ổ ỗ ộ ư ứ ừ ử ữ ự ơ ớ ờ ở ỡ ợ
.group b .group b
b b b b
.group c .group c
c g //k c g //k
c (C _^_EN c (C _^_EN
c (_ kh
_) ch tS; // try [tS;] [tS] [c] c
c (_ c
_) ch tS // try [tS;] [tS] [c] c
?2 _) ch c ?2 _) ch c
?1 _) ch c ?1 _) ch c
ch (_ c ch (_ c
.group k .group k
_) k k
_) k g
_) kh x _) kh x
//kh x //kh x
k (_ _^_EN k (_ _^_EN
.group q .group q
q k
q g
q (_ kh q (_ kh
qu w //kw
qu gw //kw
.group s .group s
s s. // try [s.] [s] [S]
s s // try [s.] [s] [S]
_) sh _^_EN _) sh _^_EN
a (L01 _^_EN a (L01 _^_EN
ai (L02 _^_EN ai (L02 _^_EN
a (@ _^_EN a (@ _^_EN
a (L03 a
.group à .group à
.group ắ .group ắ
ắ a3 ắ a3
ắk a3c
oả o@4 oả o@4
oã o@5 oã o@5
oạ o@6 oạ o@6
oo o@
oo O
oi OI oi OI
oì OI2 oì OI2
oí OI3 oí OI3
oẳ o@4 oẳ o@4
oẵ o@5 oẵ o@5
oặ o@6 oặ o@6
oc O#c
.group ò .group ò
ò O2 ò O2
óa o@3 //ó (A w3 óa o@3 //ó (A w3
óng O#3 óng O#3
óe o&3 óe o&3
óc O#3c
ọa o@6 //ọ (A w6 ọa o@6 //ọ (A w6
ọng O#6 ọng O#6
ọe o&6 ọe o&6
ọc O#6c

+ 1
- 1
espeak-ng-data/lang/aav/vi View File

language vi language vi


words 1 words 1
pitch 80 118
pitch 100 180

BIN
phsource/envelopes.png View File


+ 175
- 55
phsource/ph_vietnam View File



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




phoneme 2 // huyền tone: low falling phoneme 2 // huyền tone: low falling
stress stress
Tone(30, 8, envelope/p_fall, NULL) //20 8
Tone(20, 8, envelope/p_fall, NULL) //20 8
endphoneme endphoneme




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




phoneme 4 // hỏi Tone(curve (dipping rising) phoneme 4 // hỏi Tone(curve (dipping rising)
stress stress
Tone(10, 55, envelope/p_fallrise, NULL) //33 31
Tone(10, 31, envelope/p_fallrise, NULL) //33 31
endphoneme endphoneme




phoneme 5 // ngã tone: broken (creaking rising) phoneme 5 // ngã tone: broken (creaking rising)
stress stress
Tone(28,58,envelope/p_214, envelope/vi_5amp) // 28,58 20 80
Tone(34, 60,envelope/p_214, envelope/vi_5amp) // 28,58 20 80
endphoneme endphoneme




phoneme 6 // nặng Tone(drop (constricted) phoneme 6 // nặng Tone(drop (constricted)
stress stress
//length 150 // ignore because it make too short sound 75 // reduce the length of the vowel //length 150 // ignore because it make too short sound 75 // reduce the length of the vowel
Tone(25, 60, envelope/p_512, envelope/vi_6amp) //40 20
Tone(34, 10, envelope/p_512, envelope/vi_6amp) //40 20
endphoneme endphoneme




phoneme 7 // Tone(1 (ngang) at end of clause phoneme 7 // Tone(1 (ngang) at end of clause
stress stress
Tone(40, 35, envelope/p_fall, NULL) //40 20
Tone(30, 28, envelope/p_fall, NULL) //40 20
endphoneme endphoneme






phoneme a phoneme a
vwl starttype #@ endtype #@ vwl starttype #@ endtype #@
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vowel/a_4) //a_4) FMT(vowel/a_4) //a_4)
endphoneme endphoneme


phoneme a: phoneme a:
vwl starttype #a endtype #a vwl starttype #a endtype #a
IF nextPh(n^) OR nextPh(c) THEN
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd)THEN
length 240
ELIF nextPh(n^) OR nextPh(c) THEN
length 100 length 100
ELSE ELSE
length 140 //280
length 140 //200
ENDIF ENDIF
FMT(vowel/a_8) FMT(vowel/a_8)
endphoneme endphoneme


phoneme E phoneme E
vwl starttype #e endtype #e vwl starttype #e endtype #e
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vowel/e_e) //ee_3) FMT(vowel/e_e) //ee_3)
endphoneme endphoneme


phoneme e phoneme e
vwl starttype #e endtype #e vwl starttype #e endtype #e
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vowel/e) FMT(vowel/e)
endphoneme endphoneme


IF prevPhW(w) THEN IF prevPhW(w) THEN
VowelStart(w/wi) VowelStart(w/wi)
ENDIF ENDIF
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ENDIF
IF nextPh(n^) OR nextPh(c) THEN IF nextPh(n^) OR nextPh(c) THEN
length 100 length 100
FMT(vnasal/ii_n) FMT(vnasal/ii_n)
vwl starttype #o endtype #o vwl starttype #o endtype #o
IF nextPh(kh) OR nextPh(N) THEN IF nextPh(kh) OR nextPh(N) THEN
length 80 length 80
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE ELSE
length 140 length 140
ENDIF ENDIF
FMT(vdiph2/o_oo) //vowel/oo) FMT(vdiph2/o_oo) //vowel/oo)
endphoneme endphoneme


phoneme O+
vwl starttype #o endtype #o
IF nextPh(kh) OR nextPh(N) THEN
length 80
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vowel/o) //vowel/oo)
endphoneme

phoneme o phoneme o
vwl starttype #o endtype #o vwl starttype #o endtype #o
IF nextPh(kh) OR nextPh(N) THEN IF nextPh(kh) OR nextPh(N) THEN
length 110 length 110
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE ELSE
length 140 length 140
ENDIF ENDIF
vwl starttype #u endtype #u vwl starttype #u endtype #u
IF nextPh(kh) OR nextPh(N) THEN // hear as ung sound IF nextPh(kh) OR nextPh(N) THEN // hear as ung sound
length 120 length 120
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE ELSE
length 140 length 140
ENDIF ENDIF
vwl starttype #u endtype #u vwl starttype #u endtype #u
IF nextPh(kh) OR nextPh(N) THEN IF nextPh(kh) OR nextPh(N) THEN
length 120 length 120
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE ELSE
length 180
length 140
ENDIF ENDIF
FMT(vowel/u#_5) FMT(vowel/u#_5)
endphoneme endphoneme
vwl starttype #@ endtype #a vwl starttype #@ endtype #a
IF nextPh(kh) OR nextPh(N) OR nextPh(n^) OR nextPh(c) THEN IF nextPh(kh) OR nextPh(N) OR nextPh(n^) OR nextPh(c) THEN
length 120 length 120
ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE ELSE
length 140 length 140
ENDIF ENDIF


phoneme @: phoneme @:
vwl starttype #@ endtype #@ vwl starttype #@ endtype #@
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vowel/@_2) FMT(vowel/@_2)
endphoneme endphoneme




phoneme aI phoneme aI
vwl starttype #a endtype #i vwl starttype #a endtype #i
length 140 //250
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph/&i_2) FMT(vdiph/&i_2)
endphoneme endphoneme




phoneme a:I phoneme a:I
vwl starttype #a endtype #i vwl starttype #a endtype #i
length 200 //250
length 240 //250
FMT(vdiph/ai) FMT(vdiph/ai)
endphoneme endphoneme




phoneme @I phoneme @I
vwl starttype #@ endtype #i vwl starttype #@ endtype #i
length 200 //250
length 240 //250
FMT(vdiph/@i) FMT(vdiph/@i)
endphoneme endphoneme




phoneme @:I phoneme @:I
vwl starttype #@ endtype #i vwl starttype #@ endtype #i
length 200 //250
length 240 //250
FMT(vdiph/y#i) FMT(vdiph/y#i)
endphoneme endphoneme




phoneme eI phoneme eI
vwl starttype #e endtype #i vwl starttype #e endtype #i
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph/ei) FMT(vdiph/ei)
endphoneme endphoneme




phoneme EI phoneme EI
vwl starttype #e endtype #i vwl starttype #e endtype #i
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph/eei) FMT(vdiph/eei)
endphoneme endphoneme




phoneme OI phoneme OI
vwl starttype #o endtype #i vwl starttype #o endtype #i
length 200
length 240
FMT(vdiph/ooi_4) FMT(vdiph/ooi_4)
endphoneme endphoneme




phoneme oI phoneme oI
vwl starttype #o endtype #i vwl starttype #o endtype #i
length 200
length 240
FMT(vdiph/oi) FMT(vdiph/oi)
endphoneme endphoneme




phoneme uI phoneme uI
vwl starttype #u endtype #i vwl starttype #u endtype #i
length 200
length 240
FMT(vdiph/ui) FMT(vdiph/ui)
endphoneme endphoneme


phoneme yI phoneme yI
vwl starttype #u endtype #i vwl starttype #u endtype #i
length 200
length 240
FMT(vdiph/u-i) FMT(vdiph/u-i)
endphoneme endphoneme




phoneme aU phoneme aU
vwl starttype #a endtype #u vwl starttype #a endtype #u
length 150
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph/aau_4) FMT(vdiph/aau_4)
endphoneme endphoneme




phoneme a:U phoneme a:U
vwl starttype #a endtype #u vwl starttype #a endtype #u
length 150 //270
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph/au) FMT(vdiph/au)
endphoneme endphoneme




phoneme eU phoneme eU
vwl starttype #e endtype #u vwl starttype #e endtype #u
length 150
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph/eu) FMT(vdiph/eu)
endphoneme endphoneme




phoneme EU phoneme EU
vwl starttype #e endtype #u vwl starttype #e endtype #u
length 150
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph/eeu) FMT(vdiph/eeu)
endphoneme endphoneme


phoneme iU phoneme iU
vwl starttype #i endtype #u vwl starttype #i endtype #u
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph2/iu) FMT(vdiph2/iu)
endphoneme endphoneme


phoneme @U phoneme @U
vwl starttype #@ endtype #u vwl starttype #@ endtype #u
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph/@u_3) FMT(vdiph/@u_3)
endphoneme endphoneme


phoneme @:U phoneme @:U
vwl starttype #@ endtype #u vwl starttype #@ endtype #u
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph/@u) FMT(vdiph/@u)
endphoneme endphoneme




phoneme i@ phoneme i@
vwl starttype #i endtype #@ vwl starttype #i endtype #@
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph2/ii@_3) FMT(vdiph2/ii@_3)
endphoneme endphoneme


phoneme y@ phoneme y@
vwl starttype #i endtype #@ vwl starttype #i endtype #@
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph2/y-y#) FMT(vdiph2/y-y#)
endphoneme endphoneme


phoneme u@ phoneme u@
vwl starttype #u endtype #@ vwl starttype #u endtype #@
length 100 //200
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph2/uu@) FMT(vdiph2/uu@)
endphoneme endphoneme




phoneme o# // ông phoneme o# // ông
vwl starttype #o endtype #o vwl starttype #o endtype #o
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vnasal/a#u_n) FMT(vnasal/a#u_n)
endphoneme endphoneme


phoneme O# // ong phoneme O# // ong
vwl starttype #o endtype #o vwl starttype #o endtype #o
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vnasal/&u_n) FMT(vnasal/&u_n)
endphoneme endphoneme




phoneme o@ phoneme o@
vwl starttype #o endtype #a vwl starttype #o endtype #a
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph2/oa) FMT(vdiph2/oa)
endphoneme endphoneme


phoneme o& phoneme o&
vwl starttype #o endtype #o vwl starttype #o endtype #o
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vietnam/oe) FMT(vietnam/oe)
endphoneme endphoneme


phoneme iE // iê : viết, giệc phoneme iE // iê : viết, giệc
vwl starttype #i endtype #e vwl starttype #i endtype #e
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vietnam/ie_2) FMT(vietnam/ie_2)
endphoneme endphoneme


phoneme Oi // oai sound phoneme Oi // oai sound
vwl starttype #o endtype #i vwl starttype #o endtype #i
length 140
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph/ooi_3) FMT(vdiph/ooi_3)
endphoneme endphoneme




phoneme O- // ôi southern sound phoneme O- // ôi southern sound
vwl starttype #o endtype #i vwl starttype #o endtype #i
length 150
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vnasal/oi_n) FMT(vnasal/oi_n)
endphoneme endphoneme


phoneme @- // ơi southern sound phoneme @- // ơi southern sound
vwl starttype #o endtype #i vwl starttype #o endtype #i
length 150
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vdiph/@i_3) FMT(vdiph/@i_3)
endphoneme endphoneme


phoneme u- // u southern sound phoneme u- // u southern sound
vwl starttype #u endtype #u vwl starttype #u endtype #u
length 150
IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
length 240
ELSE
length 140
ENDIF
FMT(vowel/u_3,70) FMT(vowel/u_3,70)
endphoneme endphoneme




phoneme kh phoneme kh
vls vel frc vls vel frc
lengthmod 3 lengthmod 3
Vowelin f1=0 f2=2300 200 400 f3=200 80 len=30 Vowelin f1=0 f2=2300 200 400 f3=200 80 len=30
Vowelout f1=0 f2=2300 300 400 f3=200 80 rms=20 Vowelout f1=0 f2=2300 300 400 f3=200 80 rms=20
WAV(vietnam/_c,5) //ufric/x, 50)
WAV(ustop/k_unasp) //ufric/x, 50)
endphoneme endphoneme




endphoneme endphoneme


phoneme n
vcd alv nas
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 brk len=15
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk len=15
lengthmod 4
length 75
FMT(n/nr_)
endphoneme

phoneme t[ // dental variant of /t/ phoneme t[ // dental variant of /t/
vls dnt stp vls dnt stp
voicingswitch d[ voicingswitch d[

Loading…
Cancel
Save