ph_zh 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  1. //====================================================
  2. // Tone Numbers
  3. //====================================================
  4. phoneme 11 // tone: low level
  5. stress
  6. Tone(12, 9, envelope/i_risefall, NULL)
  7. endphoneme
  8. phoneme 21 // tone: low fall
  9. stress
  10. Tone(20, 10, envelope/p_fall, NULL)
  11. endphoneme
  12. phoneme 214 // tone: fall rise
  13. stress
  14. Tone(18, 42, envelope/p_214, NULL)
  15. endphoneme
  16. phoneme 22 // tone: mid-low level
  17. stress
  18. Tone(22, 20, envelope/p_fall, NULL)
  19. endphoneme
  20. phoneme 33 // tone: mid level
  21. stress
  22. Tone(32, 30, envelope/p_fall, NULL)
  23. endphoneme
  24. phoneme 35 // tone: mid rise
  25. stress
  26. Tone(30, 50, envelope/p_rise, NULL)
  27. endphoneme
  28. phoneme 44 // tone: mid-high level
  29. stress
  30. Tone(38, 41, envelope/p_rise, NULL)
  31. endphoneme
  32. phoneme 51 // tone: high fall
  33. stress
  34. Tone(50, 10, envelope/p_fall, NULL)
  35. endphoneme
  36. phoneme 53 // tone: high fall
  37. stress
  38. Tone(50, 30, envelope/p_fall, NULL)
  39. endphoneme
  40. phoneme 55 // tone: high level
  41. stress
  42. Tone(55, 50, envelope/p_level, NULL)
  43. endphoneme
  44. //====================================================
  45. // Consonants
  46. //====================================================
  47. phoneme n
  48. vcd alv nas
  49. Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
  50. lengthmod 2
  51. NextVowelStarts
  52. VowelStart(n/n@)
  53. VowelStart(n/na)
  54. VowelStart(n/ne)
  55. VowelStart(n/ni)
  56. VowelStart(n/no)
  57. VowelStart(n/nu)
  58. EndSwitch
  59. IF nextPh(isNotVowel) THEN
  60. FMT(n/n_long_)
  61. ENDIF
  62. FMT(n/_n)
  63. endphoneme
  64. phoneme N
  65. vcd vel nas
  66. Vowelout f1=2 f2=1900 0 300 f3=400 80 len=50 rms=15 brk
  67. lengthmod 7
  68. NextVowelStarts
  69. VowelStart(nn/nn@)
  70. VowelStart(nn/nna)
  71. VowelStart(nn/nne)
  72. VowelStart(nn/nni)
  73. VowelStart(nn/nno)
  74. VowelStart(nn/nnu)
  75. EndSwitch
  76. IF prevPh(isPause) THEN
  77. FMT(nn/_nn)
  78. ELIF nextPh(isNotVowel) THEN
  79. FMT(nn/nn2_)
  80. ENDIF
  81. endphoneme
  82. phoneme l
  83. liquid
  84. lengthmod 2
  85. CALL vowelstart_l
  86. IF nextPhW(#i) THEN
  87. VowelStart(l/li)
  88. ENDIF
  89. FMT(l/_l)
  90. endphoneme
  91. phoneme j
  92. liquid pal
  93. lengthmod 1
  94. IF nextPh(isVowel) THEN
  95. NextVowelStarts
  96. VowelStart(j/j@)
  97. VowelStart(j/ja)
  98. VowelStart(j/je)
  99. VowelStart(j/ji)
  100. VowelStart(j/jo)
  101. VowelStart(j/ju)
  102. EndSwitch
  103. VowelEnding(j/xj, -30)
  104. FMT(j/_j)
  105. ELSE
  106. // no vowel follows
  107. Vowelout len=70
  108. FMT(j/j_)
  109. ENDIF
  110. endphoneme
  111. phoneme p
  112. vls blb stp
  113. lengthmod 2
  114. Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
  115. Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
  116. WAV(ustop/p_unasp)
  117. endphoneme
  118. phoneme ph
  119. vls blb stp
  120. lengthmod 2
  121. Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
  122. Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
  123. WAV(ustop/p_asp)
  124. endphoneme
  125. phoneme f //not clear before some vowel
  126. vls lbd frc
  127. lengthmod 2
  128. Vowelout f1=0 f2=1000 -500 -350 f3=-200 80
  129. WAV(ufric/f)
  130. endphoneme
  131. phoneme t
  132. vls alv stp
  133. lengthmod 2
  134. Vowelin f1=0 f2=1700 -300 300 f3=-100 80 rms=40
  135. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  136. WAV(ustop/t_unasp2, 40)
  137. endphoneme
  138. phoneme th
  139. vls alv stp
  140. lengthmod 2
  141. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  142. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  143. WAV(ustop/t_)
  144. endphoneme
  145. phoneme k
  146. vls uvl stp
  147. lengthmod 2
  148. Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
  149. Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
  150. WAV(ustop/k_unasp_, 75)
  151. endphoneme
  152. phoneme kh
  153. vls uvl stp
  154. lengthmod 2
  155. Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
  156. Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
  157. WAV(ustop/k_asp, 80)
  158. endphoneme
  159. phoneme tS;
  160. vls alp sib afr
  161. ipa tɕ
  162. lengthmod 2
  163. Vowelin f1=0 f2=2700 400 600 f3=300 80
  164. WAV(ustop/tsh_pzd_unasp)
  165. endphoneme
  166. phoneme tS;h
  167. vls alp sib afr
  168. ipa tɕh
  169. lengthmod 2
  170. Vowelin f1=0 f2=2700 400 600 f3=300 80
  171. WAV(ustop/tsh_pzd, 80)
  172. endphoneme
  173. phoneme S;
  174. vls pla frc sib
  175. lengthmod 2
  176. ipa ɕ
  177. Vowelin f1=0 f2=2700 400 600 f3=300 80
  178. WAV(ufric/sh_pzd2, 20)
  179. endphoneme
  180. phoneme s.
  181. vls pla frc sib
  182. lengthmod 3
  183. Vowelin f1=0 f2=1800 -100 300 f3=-300 80
  184. Vowelout f1=0 f2=1800 -100 300 f3=-300 80
  185. IF nextPh(isPause2) THEN
  186. WAV(ufric/sh_rfx, 50)
  187. ENDIF
  188. WAV(ufric/sh_rfx, 50) // quieter
  189. endphoneme
  190. phoneme ts
  191. vls alv afr sib
  192. lengthmod 2
  193. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  194. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  195. WAV(ustop/ts_unasp, 70)
  196. endphoneme
  197. phoneme tsh
  198. vls alv afr sib
  199. lengthmod 2
  200. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  201. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  202. WAV(ustop/ts, 60)
  203. endphoneme
  204. phoneme ts.
  205. vls pla frc sib
  206. lengthmod 3
  207. Vowelin f1=0 f2=1800 -100 300 f3=-300 80
  208. Vowelout f1=0 f2=1800 -100 300 f3=-300 80
  209. WAV(ustop/ts_rfx_unasp)
  210. endphoneme
  211. phoneme ts.h
  212. vls pla frc sib
  213. lengthmod 3
  214. Vowelin f1=0 f2=1800 -100 300 f3=-300 80
  215. Vowelout f1=0 f2=1800 -100 300 f3=-300 80
  216. WAV(ustop/ts_rfx)
  217. endphoneme
  218. //====================================================
  219. // Vowels and Diphtnongs
  220. //====================================================
  221. phoneme N- // syllabic N
  222. vwl starttype N endtype N
  223. length 250
  224. FMT(nn/nn2_)
  225. endphoneme
  226. phoneme a
  227. vwl starttype #a endtype #a
  228. length 250
  229. IF nextPh(N) THEN
  230. FMT(vwl_zh/a_n)
  231. ENDIF
  232. FMT(vowel/a)
  233. endphoneme
  234. phoneme A
  235. vwl starttype #a endtype #a
  236. length 250
  237. IF nextPh(N) THEN
  238. FMT(vowel/aa_2)
  239. ENDIF
  240. FMT(vowel/a_3)
  241. endphoneme
  242. phoneme ai
  243. vwl starttype #a endtype #i
  244. length 250
  245. FMT(vdiph/ai_6)
  246. endphoneme
  247. phoneme Au
  248. vwl starttype #a endtype #u
  249. length 250
  250. FMT(vwl_zh/aau)
  251. endphoneme
  252. phoneme @
  253. vwl starttype #@ endtype #@
  254. length 200
  255. IF nextPh(N) THEN
  256. FMT(vowel/@_bck)
  257. ENDIF
  258. FMT(vowel/3_2)
  259. endphoneme
  260. phoneme @r //tmp use V3_r
  261. vwl starttype #@ endtype #@
  262. length 350
  263. FMT(vowelr/V3_r)
  264. endphoneme
  265. phoneme E
  266. vwl starttype #e endtype #e
  267. length 250
  268. FMT(vowel/ee_2)
  269. endphoneme
  270. phoneme ei
  271. vwl starttype #e endtype #i
  272. length 250
  273. FMT(vdiph2/ei_4)
  274. endphoneme
  275. phoneme i
  276. vwl starttype #i endtype #i
  277. length 250
  278. IF nextPh(N) THEN
  279. FMT(vowel/ii_2)
  280. ENDIF
  281. IF nextPh(n) THEN
  282. FMT(vowel/ii_5)
  283. ENDIF
  284. FMT(vowel/i)
  285. endphoneme
  286. phoneme i[ //after ts tsh s
  287. vwl starttype #i endtype #i
  288. length 250
  289. FMT(vowel/i#_7)
  290. endphoneme
  291. phoneme i. //after ts. ts.h s. z.
  292. vwl starttype #i endtype #i
  293. length 250
  294. FMT(vowel/i#_6)
  295. endphoneme
  296. phoneme iA //try more before N
  297. vwl starttype #i endtype #a
  298. length 250
  299. FMT(vwl_zh/iaa)
  300. endphoneme
  301. phoneme iAu
  302. vwl starttype #i endtype #u
  303. length 250
  304. FMT(vwl_zh/iaau)
  305. endphoneme
  306. phoneme iE
  307. vwl starttype #i endtype #e
  308. length 250
  309. FMT(vwl_zh/ie)
  310. endphoneme
  311. phoneme io
  312. vwl starttype #i endtype #o
  313. length 250
  314. FMT(vdiph2/iioo)
  315. endphoneme
  316. phoneme iou
  317. vwl starttype #i endtype #u
  318. length 250
  319. FMT(vwl_zh/iou)
  320. endphoneme
  321. phoneme o
  322. vwl starttype #o endtype #o
  323. length 250
  324. IF nextPh(N) THEN
  325. FMT(vnasal/oo_n2)
  326. ENDIF
  327. FMT(vdiph2/o_oo)
  328. endphoneme
  329. phoneme o-
  330. vwl starttype #o endtype #o
  331. length 250
  332. FMT(vowel/8)
  333. endphoneme
  334. phoneme ou
  335. vwl starttype #o endtype #u
  336. length 250
  337. FMT(vdiph/8u)
  338. endphoneme
  339. phoneme ong
  340. vwl starttype #o endtype #o
  341. length 500
  342. FMT(vwl_zh/ong)
  343. endphoneme
  344. phoneme u //try more before N
  345. vwl starttype #u endtype #u
  346. length 250
  347. IF nextPh(N) THEN
  348. FMT(vnasal/u_n)
  349. ENDIF
  350. FMT(vowel/u_bck)
  351. endphoneme
  352. phoneme uA
  353. vwl starttype #u endtype #a
  354. length 250
  355. FMT(vwl_zh/uaa)
  356. endphoneme
  357. phoneme ua
  358. vwl starttype #u endtype #a
  359. length 250
  360. FMT(vdiph2/oa)
  361. endphoneme
  362. phoneme uai
  363. vwl starttype #u endtype #i
  364. length 250
  365. FMT(vwl_zh/uai)
  366. endphoneme
  367. phoneme u@
  368. vwl starttype #u endtype #@
  369. length 230
  370. FMT(vdiph2/o@)
  371. endphoneme
  372. phoneme uei
  373. vwl starttype #u endtype #i
  374. length 250
  375. FMT(vwl_zh/uei)
  376. endphoneme
  377. phoneme uo
  378. vwl starttype #u endtype #o
  379. length 280
  380. FMT(vwl_zh/uo)
  381. endphoneme
  382. phoneme y
  383. vwl starttype #i endtype #u
  384. length 250
  385. IF nextPh(N) THEN
  386. FMT(vowel/uu_3)
  387. ENDIF
  388. FMT(vowel/y_2)
  389. endphoneme
  390. phoneme yu //try more before N
  391. vwl starttype #i endtype #u
  392. length 250
  393. FMT(vdiph2/yu)
  394. endphoneme
  395. phoneme y&
  396. vwl starttype #i endtype #e
  397. length 250
  398. FMT(vwl_zh/y&)
  399. endphoneme
  400. phoneme yE //try more so not similar to iE
  401. vwl starttype #i endtype #e
  402. length 250
  403. FMT(vwl_zh/yee)
  404. endphoneme
  405. phoneme y@
  406. vwl starttype #i endtype #@
  407. length 250
  408. FMT(vdiph2/y@)
  409. endphoneme
  410. phoneme yi
  411. vwl starttype #i endtype #i
  412. length 250
  413. FMT(vdiph/yi)
  414. endphoneme