eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ph_romanian 5.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. //====================================================
  2. // Romanian
  3. //====================================================
  4. // Vowels
  5. phoneme I^ // "silent i", palatilizes the preceding consonant
  6. vwl starttype #i endtype #i
  7. unstressed
  8. ipa ʲ
  9. length 70
  10. IF nextPh(isVowel) THEN
  11. ChangePhoneme(;)
  12. ENDIF
  13. IF prevPh(l;) THEN
  14. length 60
  15. FMT(vwl_ro/li)
  16. ENDIF
  17. IF prevPh(m;) THEN
  18. FMT(vwl_ro/mi)
  19. ENDIF
  20. IF prevPh(n;) THEN
  21. FMT(vwl_ro/ni)
  22. ENDIF
  23. FMT(vwl_ro/ii-)
  24. endphoneme
  25. phoneme i/ // used for "i" at end of word
  26. vwl starttype #i endtype #i
  27. length 150
  28. ChangeIfNotStressed(I^)
  29. IfNextVowelAppend(;)
  30. FMT(vowel/i)
  31. endphoneme
  32. phoneme e
  33. vwl starttype #e endtype #e
  34. length 180
  35. FMT(vowel/e_mid2)
  36. endphoneme
  37. phoneme y
  38. vwl starttype #@ endtype #@
  39. ipa ɨ
  40. length 180
  41. FMT(vowel/i#_5)
  42. endphoneme
  43. phoneme a
  44. vwl starttype #a endtype #a
  45. length 180
  46. FMT(vowel/a_2)
  47. endphoneme
  48. phoneme @
  49. vwl starttype #@ endtype #@
  50. length 170
  51. FMT(vowel/@_low)
  52. endphoneme
  53. phoneme o
  54. vwl starttype #o endtype #o
  55. length 170
  56. FMT(vowel/o-_4)
  57. endphoneme
  58. phoneme u
  59. vwl starttype #u endtype #u
  60. length 160
  61. FMT(vowel/u_2)
  62. endphoneme
  63. phoneme Y
  64. vwl starttype #@ endtype #@
  65. length 180
  66. FMT(vowel/y#)
  67. endphoneme
  68. // Diphthongs
  69. phoneme @I
  70. vwl starttype #@ endtype #i
  71. length 250
  72. FMT(vdiph/@i_3)
  73. endphoneme
  74. phoneme @U
  75. vwl starttype #@ endtype #u
  76. length 260
  77. FMT(vdiph/@u_3)
  78. endphoneme
  79. phoneme oU
  80. vwl starttype #o endtype #u
  81. length 260
  82. FMT(vdiph/ou_2)
  83. endphoneme
  84. phoneme iI
  85. vwl starttype #i endtype #i
  86. length 250
  87. FMT(vdiph/ii)
  88. endphoneme
  89. phoneme yI
  90. vwl starttype #@ endtype #i
  91. length 210
  92. FMT(vdiph/i#i)
  93. endphoneme
  94. phoneme yU
  95. vwl starttype #@ endtype #u
  96. length 230
  97. FMT(vdiph2/uw_3)
  98. endphoneme
  99. phoneme ea
  100. vwl starttype #e endtype #a
  101. length 250
  102. FMT(vdiph2/ea)
  103. endphoneme
  104. phoneme eo
  105. vwl starttype #e endtype #o
  106. length 270
  107. FMT(vdiph2/eo)
  108. endphoneme
  109. phoneme e[u
  110. vwl starttype #e endtype #u
  111. length 250
  112. FMT(vdiph2/e_u)
  113. endphoneme
  114. phoneme Oa
  115. vwl starttype #o endtype #a
  116. length 250
  117. FMT(vdiph2/oa)
  118. endphoneme
  119. // Consonants
  120. phoneme r
  121. liquid trl
  122. lengthmod 6
  123. IF nextPh(isNotVowel) THEN
  124. ChangePhoneme(r/)
  125. ENDIF
  126. NextVowelStarts
  127. VowelStart(r/r@, -15)
  128. VowelStart(r/ra, -15)
  129. VowelStart(r/re, -15)
  130. VowelStart(r/ri, -15)
  131. VowelStart(r/ro, -15)
  132. VowelStart(r/ru, -15)
  133. EndSwitch
  134. IF prevPh(isVowel) THEN
  135. VowelEnding(r/xr, -50)
  136. ENDIF
  137. IF prevPh(t) OR prevPh(p) OR prevPh(k) THEN
  138. FMT(r/trr)
  139. ENDIF
  140. FMT(r/rr)
  141. Vowelin f1=0 f2=1600 -300 300 f3=-200 80
  142. Vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk
  143. FMT(r3/r_trill2) addWav(r3/r_trill2.wav, 65)
  144. endphoneme
  145. phoneme l;
  146. liquid
  147. lengthmod 7
  148. CALL base1/l
  149. Vowelout colr=1
  150. endphoneme
  151. phoneme m;
  152. vcd blb nas
  153. lengthmod 4
  154. CALL base1/m
  155. Vowelout f1=2 f2=1000 -500 -350 f3=200 80 brk colr=1
  156. endphoneme
  157. phoneme n;
  158. vcd alv nas
  159. lengthmod 4
  160. CALL base1/n
  161. Vowelout f1=2 f2=1700 -300 250 f3=200 80 rms=20 brk colr=1
  162. endphoneme
  163. phoneme p;
  164. vls blb stp
  165. lengthmod 2
  166. voicingswitch b
  167. CALL base2/p
  168. Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30 colr=1
  169. endphoneme
  170. phoneme t; // dental variant of /t/
  171. vls dnt stp
  172. lengthmod 2
  173. voicingswitch d
  174. CALL base2/t
  175. Vowelout f1=0 f2=1700 100 250 f3=0 80 rms=20 colr=1
  176. endphoneme
  177. phoneme ts;
  178. vls alv afr sib
  179. lengthmod 2
  180. CALL base2/ts
  181. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 colr=1
  182. endphoneme
  183. phoneme f;
  184. vls lbd frc
  185. lengthmod 3
  186. voicingswitch v
  187. CALL base1/f
  188. Vowelout f1=0 f2=1000 -500 -350 f3=-200 80 colr=1
  189. endphoneme
  190. phoneme s;
  191. vls alv frc sib
  192. voicingswitch z;
  193. lengthmod 3
  194. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  195. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 colr=1
  196. WAV(ufric/s_pzd, 50)
  197. endphoneme
  198. phoneme S;
  199. vls pla frc sib
  200. voicingswitch Z;
  201. lengthmod 3
  202. Vowelin f1=0 f2=2100 100 300 f3=-100 80
  203. Vowelout f1=0 f2=2100 100 300 f3=-100 80 colr=1
  204. WAV(ufric/sh_pzd)
  205. endphoneme
  206. phoneme b;
  207. vcd blb stp
  208. voicingswitch p;
  209. lengthmod 5
  210. Vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk colr=1
  211. IF nextPh(#i) THEN
  212. FMT(b/bi) addWav(x/b)
  213. ENDIF
  214. FMT(b/b) addWav(x/b)
  215. endphoneme
  216. phoneme d; // dental variant of /d/
  217. vcd dnt stp
  218. voicingswitch t;
  219. lengthmod 5
  220. CALL base2/d
  221. Vowelin f1=2 f2=1700 100 300 f3=0 80
  222. Vowelout f1=2 f2=1700 100 300 f3=0 80 colr=1
  223. endphoneme
  224. phoneme *; // flap
  225. vcd alv flp
  226. lengthmod 2
  227. Vowelout f1=3 f2=1700 -300 300 f3=-300 80 rms=35 len=15 colr=1
  228. IF nextPh(#i) THEN
  229. Vowelin f1=0 f2=1700 -300 300 f3=-400 80
  230. FMT(d/tap_i) addWav(r3/rx)
  231. ENDIF
  232. FMT(d/tap) addWav(r3/rx)
  233. endphoneme
  234. phoneme v;
  235. vcd lbd frc
  236. lengthmod 6
  237. voicingswitch f;
  238. Vowelin f1=0 f2=1000 -300 -200 f3=-300 100
  239. Vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50 colr=1
  240. IF nextPh(isPause2) THEN
  241. FMT(voc/v_) addWav(vocw/v)
  242. ENDIF
  243. FMT(voc/v) addWav(vocw/v)
  244. endphoneme
  245. phoneme z;
  246. vcd alv frc sib
  247. lengthmod 6
  248. voicingswitch s;
  249. Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50 colr=1
  250. IF nextPh(isPause2) THEN
  251. FMT(voc/z_) addWav(ufric/s_)
  252. ENDIF
  253. FMT(voc/z) addWav(ufric/s_)
  254. endphoneme
  255. phoneme Z;
  256. vcd pla frc sib
  257. lengthmod 6
  258. voicingswitch S;
  259. Vowelin f1=0 f2=2000 0 300 f3=-200 80 colr=1
  260. Vowelout f1=2 f2=2000 0 300 f3=-200 80 brk
  261. IF nextPh(isPause2) THEN
  262. FMT(voc/zh_) addWav(vocw/zh)
  263. ENDIF
  264. FMT(voc/zh) addWav(vocw/zh)
  265. endphoneme