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.3KB

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