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

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