ph_russian 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561
  1. phoneme g
  2. vcd vel stp prevoice
  3. voicingswitch k
  4. lengthmod 5
  5. Vowelin f1=2 f2=2300 200 300 f3=-300 80
  6. Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
  7. IF PreVoicing THEN
  8. FMT(g/xg)
  9. ENDIF
  10. IF nextPh(isPause2) THEN
  11. FMT(g/g_) addWav(x/g_)
  12. ENDIF
  13. FMT(g/g) addWav(x/g3, 90)
  14. endphoneme
  15. phoneme p
  16. import_phoneme consonants/p-
  17. endphoneme
  18. phoneme x
  19. vls vel frc
  20. lengthmod 3
  21. Vowelin f1=0 f2=2300 200 400 f3=-100 80
  22. Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
  23. WAV(ufric/x_hr, 30)
  24. endphoneme
  25. phoneme k
  26. import_phoneme consonants/k-
  27. endphoneme
  28. phoneme l
  29. liquid rfx
  30. ipa ɭ
  31. lengthmod 7
  32. length 80
  33. IF nextPh(isPause) THEN
  34. FMT(l/l_,120)
  35. ELSE
  36. FMT(l/l_,120)
  37. ENDIF
  38. endphoneme
  39. phoneme l^ // From Latvian ļ
  40. liquid
  41. ipa ʎ
  42. lengthmod 7
  43. Vowelout len=60 lenadd rate
  44. length 80
  45. NextVowelStarts
  46. VowelStart(l^/j2@)
  47. VowelStart(l^/j2a)
  48. VowelStart(l^/j2e)
  49. VowelStart(l^/j2i)
  50. VowelStart(l^/j2o)
  51. VowelStart(l^/j2u)
  52. EndSwitch
  53. IF prevPh(isPause) THEN
  54. FMT(l^/_l^)
  55. ELSEIF nextPh(isPause) THEN
  56. FMT(l^/l^_,120)
  57. ENDIF
  58. FMT(l^/l^)
  59. endphoneme
  60. phoneme s
  61. vls alv frc sib
  62. lengthmod 3
  63. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  64. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  65. WAV(ufric/s)
  66. endphoneme
  67. phoneme s;
  68. import_phoneme en/s
  69. endphoneme
  70. phoneme n_
  71. import_phoneme en/n
  72. endphoneme
  73. phoneme n#
  74. vcd pal nas pzd
  75. ipa ɲ
  76. Vowelout f1=3 f2=2500 300 500 f3=100 80 len=45 brk rate
  77. lengthmod 4
  78. IF KlattSynth THEN
  79. VowelStart(klatt/n^@)
  80. FMT(klatt/n^)
  81. ENDIF
  82. NextVowelStarts
  83. VowelStart(n^/n^@)
  84. VowelStart(n^/n^a)
  85. VowelStart(n^/n^e)
  86. VowelStart(n^/n^i)
  87. VowelStart(n^/n^o)
  88. VowelStart(n^/n^u)
  89. EndSwitch
  90. IF prevPh(isPause) THEN
  91. FMT(n^/_n^)
  92. ELIF nextPh(isNotVowel) THEN
  93. IF nextPhW(n^) THEN
  94. length 75
  95. ELIF prevPhW(n^) THEN
  96. length 100
  97. ENDIF
  98. FMT(n^/n^_)
  99. ENDIF
  100. endphoneme
  101. phoneme r
  102. liquid rhotic alv trl nolink
  103. length 80
  104. IF prevPhW(isVowel) THEN
  105. ELSE
  106. InsertPhoneme(@-)
  107. ENDIF
  108. FMT(r3/r_trill,80) addWav(r3/r_trill.wav, 50)
  109. endphoneme
  110. phoneme ts
  111. import_phoneme consonants/ts
  112. endphoneme
  113. phoneme dZ;
  114. vcd alp sib afr
  115. voicingswitch tS;
  116. lengthmod 5
  117. Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
  118. IF PreVoicing THEN
  119. FMT(dzh/xdzh)
  120. ENDIF
  121. IF nextPh(isPause2) THEN
  122. FMT(dzh/dzh_) addWav(x/dzh_)
  123. ENDIF
  124. endphoneme
  125. phoneme tS;
  126. vls alp sib afr
  127. voicingswitch dZ;
  128. lengthmod 2
  129. Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
  130. WAV(ustop/ts_pzd)
  131. endphoneme
  132. // Palatalized versions of consonants
  133. phoneme t
  134. import_phoneme pl/t
  135. endphoneme
  136. phoneme t;
  137. import_phoneme pl/t;
  138. endphoneme
  139. phoneme d
  140. import_phoneme pl/d
  141. endphoneme
  142. phoneme d;
  143. import_phoneme pl/d;
  144. endphoneme
  145. phoneme m;
  146. vcd blb nas
  147. Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
  148. lengthmod 4
  149. length 60
  150. IF KlattSynth THEN
  151. Vowelin f1=0 f2=1000 -50 -200 f3=-200 80
  152. IF nextPh(isPause2) THEN
  153. FMT(klatt/m_)
  154. ENDIF
  155. FMT(klatt/m)
  156. ENDIF
  157. FMT(m/mj)
  158. endphoneme
  159. phoneme I^ // "silent i", palatilizes the preceding consonant
  160. vwl starttype #i endtype #i
  161. unstressed nsy
  162. length 70
  163. IF nextPh(isVowel) THEN
  164. ChangePhoneme(;)
  165. ENDIF
  166. IF prevPh(m;) THEN
  167. FMT(vwl_ro/mi)
  168. ENDIF
  169. FMT(vwl_ru/ii-)
  170. endphoneme
  171. //*******************************************************************
  172. // VOWELS
  173. //*******************************************************************
  174. phoneme i
  175. IF prevPh(Z) THEN
  176. ChangePhoneme(y)
  177. ENDIF
  178. vwl starttype #i endtype #i
  179. length 50
  180. FMT(vwl_ru/ii)
  181. endphoneme
  182. phoneme I#
  183. vwl starttype #i endtype #i
  184. length 80
  185. IF nextVowel(isMaxStress) THEN
  186. ChangePhoneme(I)
  187. ENDIF
  188. IF thisPh(isMaxStress) THEN
  189. ChangePhoneme(i)
  190. ENDIF
  191. FMT(vwl_ru/ii#)
  192. endphoneme
  193. phoneme y
  194. vwl starttype #i endtype #i
  195. length 100
  196. FMT(vwl_ru/i#)
  197. endphoneme
  198. phoneme I
  199. vwl starttype #i endtype #i
  200. length 80
  201. IF thisPh(isMaxStress) THEN
  202. IF prevPhW(j) THEN
  203. ChangePhoneme(a)
  204. ELSE
  205. ChangePhoneme(i)
  206. ENDIF
  207. ENDIF
  208. FMT(vwl_ru/ii)
  209. endphoneme
  210. phoneme I2
  211. vwl starttype #i endtype #i
  212. length 80
  213. IF thisPh(isMaxStress) THEN
  214. ChangePhoneme(e)
  215. ENDIF
  216. IF prevPhW(isPalatal) THEN
  217. ChangePhoneme(I)
  218. ENDIF
  219. FMT(vwl_ru/ii)
  220. endphoneme
  221. phoneme I3
  222. vwl starttype #i endtype #i
  223. length 80
  224. IF thisPh(isMaxStress) THEN
  225. IF prevPhW(j) THEN
  226. ChangePhoneme(e)
  227. ELSE
  228. ChangePhoneme(ja)
  229. ENDIF
  230. ENDIF
  231. IF prevPhW(isPalatal) THEN
  232. ChangePhoneme(I)
  233. ENDIF
  234. FMT(vwl_ru/ii)
  235. endphoneme
  236. phoneme E
  237. vwl starttype #e endtype #e
  238. length 100
  239. FMT(vwl_ru/e)
  240. endphoneme
  241. phoneme E#
  242. vwl starttype #e endtype #e
  243. length 100
  244. IF thisPh(isMaxStress) THEN
  245. IF prevPhW(j) THEN
  246. ChangePhoneme(e)
  247. ELSE
  248. ChangePhoneme(E)
  249. ENDIF
  250. ENDIF
  251. FMT(vwl_ru/E#)
  252. endphoneme
  253. phoneme E2
  254. vwl starttype #e endtype #e
  255. length 80
  256. IF nextVowel(isMaxStress) THEN
  257. IF prevPh(j) THEN
  258. ChangePhoneme(I3)
  259. ELSE
  260. ChangePhoneme(E#)
  261. ENDIF
  262. ENDIF
  263. IF thisPh(isMaxStress) THEN
  264. IF prevPhW(j) THEN
  265. ChangePhoneme(e)
  266. ELSE
  267. ChangePhoneme(E)
  268. ENDIF
  269. ENDIF
  270. FMT(vwl_ru/E@)
  271. endphoneme
  272. phoneme E3
  273. vwl starttype #e endtype #e
  274. length 80
  275. IF nextVowel(isMaxStress) THEN
  276. ChangePhoneme(I)
  277. ENDIF
  278. IF thisPh(isMaxStress) THEN
  279. ChangePhoneme(e)
  280. ENDIF
  281. IF prevPhW(isPalatal) THEN
  282. ChangePhoneme(E2)
  283. ENDIF
  284. FMT(vwl_ru/E@)
  285. endphoneme
  286. phoneme E% // е in prefix "интер"
  287. vwl
  288. // starttype #e endtype #e
  289. //ChangeIfNotStressed(y)
  290. ChangePhoneme(E#)
  291. endphoneme
  292. phoneme o
  293. vwl starttype #o endtype #o
  294. length 100
  295. ChangeIfNotStressed(V)
  296. FMT(vwl_ru/o)
  297. endphoneme
  298. phoneme O
  299. vwl starttype #o endtype #o
  300. length 80
  301. IF prevPhW(isPalatal) THEN
  302. ChangePhoneme(8)
  303. ENDIF
  304. IF thisPh(isMaxStress) THEN
  305. ChangePhoneme(o)
  306. ENDIF
  307. FMT(vwl_ru/oo)
  308. endphoneme
  309. phoneme u
  310. vwl starttype #u endtype #u
  311. length 80
  312. FMT(vwl_ru/u)
  313. endphoneme
  314. phoneme u#
  315. vwl starttype #u endtype #u
  316. length 80
  317. FMT(vwl_ru/u#)
  318. endphoneme
  319. phoneme u"
  320. vwl starttype #u endtype #u
  321. length 150
  322. FMT(vwl_ru/u#u)
  323. endphoneme
  324. phoneme 8
  325. vwl starttype #o endtype #o
  326. length 100
  327. ChangeIfNotStressed(V)
  328. FMT(vwl_ru/8)
  329. endphoneme
  330. phoneme e
  331. vwl starttype #e endtype #e
  332. length 100
  333. IF prevPh(Z) THEN
  334. ChangeIfNotStressed(y)
  335. ChangePhoneme(E)
  336. ENDIF
  337. IF prevPh(S) THEN
  338. ChangeIfNotStressed(y)
  339. ChangePhoneme(E)
  340. ENDIF
  341. IF prevPh(ts) THEN
  342. ChangeIfNotStressed(y)
  343. ChangePhoneme(E)
  344. ENDIF
  345. ChangeIfNotStressed(i)
  346. FMT(vwl_ru/ee)
  347. endphoneme
  348. phoneme ju
  349. vwl starttype #u endtype #u
  350. length 190
  351. FMT(vwl_ru/ju)
  352. endphoneme
  353. phoneme ja
  354. vwl starttype #i endtype #a
  355. IF thisPh(isMaxStress) THEN
  356. length 200
  357. FMT(vwl_ru/ja)
  358. ELSE
  359. FMT(vdiph2/ii@)
  360. ENDIF
  361. endphoneme
  362. phoneme ja#
  363. vwl starttype #i endtype #a
  364. IF thisPh(isMaxStress) THEN
  365. FMT(vowel/&)
  366. // ChangePhoneme(A)
  367. ELSE
  368. IF prevPhW(isPalatal) THEN
  369. ChangePhoneme(I)
  370. ENDIF
  371. ENDIF
  372. // length 200
  373. // FMT(vwl_ru/ja)
  374. endphoneme
  375. phoneme V#
  376. vwl starttype #a endtype #@
  377. unstressed
  378. length 80
  379. IF thisPh(isMaxStress) THEN
  380. IF prevPhW(j) THEN
  381. ChangePhoneme(A)
  382. ELSE
  383. ChangePhoneme(ja)
  384. ENDIF
  385. ENDIF
  386. IF prevPhW(isPalatal) THEN
  387. ChangePhoneme(V)
  388. ENDIF
  389. FMT(vowel/V_2)
  390. endphoneme
  391. phoneme Y // will not be used in future
  392. vwl starttype #u endtype #u
  393. unstressed
  394. length 140
  395. FMT(vowel/ii#)
  396. endphoneme
  397. phoneme A
  398. vwl starttype #a endtype #a
  399. length 100
  400. FMT(vwl_ru/a)
  401. endphoneme
  402. phoneme a
  403. vwl starttype #a endtype #a
  404. length 100
  405. IF prevPhW(j) THEN
  406. ELSE
  407. IF thisPh(isMaxStress) THEN
  408. IF prevPhW(isPalatal) THEN
  409. ChangePhoneme(ja)
  410. ELSE
  411. ChangePhoneme(A)
  412. ENDIF
  413. ELSE
  414. IF prevPhW(isPalatal) THEN
  415. ChangePhoneme(I)
  416. ENDIF
  417. ENDIF
  418. ENDIF
  419. IF thisPh(isWordEnd) THEN
  420. FMT(vowel/a#_3)
  421. ENDIF
  422. FMT(vwl_ru/aa)
  423. endphoneme
  424. phoneme V
  425. vwl starttype #o endtype #o
  426. length 100
  427. unstressed
  428. IF nextVowel(isMaxStress) THEN
  429. ChangePhoneme(a)
  430. ENDIF
  431. IF thisPh(isMaxStress) THEN
  432. IF prevPhW(j) THEN
  433. ChangePhoneme(a)
  434. ELSE
  435. ChangePhoneme(A)
  436. ENDIF
  437. ENDIF
  438. FMT(vowel/V_2)
  439. endphoneme
  440. phoneme a#
  441. vwl starttype #a endtype #a
  442. length 100
  443. FMT(vowel/a#_3)
  444. endphoneme
  445. phoneme R4
  446. liquid
  447. lengthmod 6
  448. Vowelin f1=0 f2=1500 -300 300 f3=-200 80 rms=60 brk
  449. Vowelout f1=2 f2=1500 -300 300 f3=-200 80
  450. FMT(r3/r_ru2) addWav(r3/r_ru, 50)
  451. endphoneme