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_french 8.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487
  1. //====================================================
  2. // French
  3. //====================================================
  4. phoneme : // Lengthen previous vowel by "length"
  5. virtual
  6. length 40 // shorter than for fr-ca
  7. endphoneme
  8. phoneme @
  9. vowel starttype (@) endtype (@)
  10. length 170
  11. formants vowel/@_hgh
  12. endphoneme
  13. phoneme a
  14. vowel starttype (a) endtype (a)
  15. length 170
  16. formants vowel/a_3
  17. endphoneme
  18. phoneme e
  19. vowel starttype (e) endtype (e)
  20. length 172
  21. formants vowel/e
  22. endphoneme
  23. phoneme E
  24. vowel starttype (e) endtype (e)
  25. length 175
  26. formants vowel/e_mid
  27. endphoneme
  28. phoneme i
  29. vowel starttype (i) endtype (i)
  30. length 160
  31. formants vowel/i_3
  32. linkout ;
  33. endphoneme
  34. phoneme i: // Slitely longer than i
  35. vowel starttype (i) endtype (i)
  36. length 212
  37. formants vowel/i_3
  38. linkout ;
  39. endphoneme
  40. phoneme j
  41. liquid
  42. palatal
  43. length 100
  44. beforenotvowel j/
  45. formants NULL
  46. after _ j/_j
  47. after v NULL
  48. lengthmod 7
  49. // beforevowel i
  50. endphoneme
  51. phoneme o
  52. vowel starttype (o) endtype (o)
  53. length 170
  54. formants vowel/o_3
  55. endphoneme
  56. phoneme O
  57. vowel starttype (o) endtype (o)
  58. length 170
  59. formants vowel/o_mid
  60. reduceto o 1
  61. endphoneme
  62. phoneme O2 // Like O but no reduceto
  63. vowel starttype (o) endtype (o)
  64. length 170
  65. formants vowel/o_mid
  66. endphoneme
  67. phoneme u
  68. vowel starttype (u) endtype (u)
  69. length 180
  70. formants vowel/u_bck2
  71. endphoneme
  72. phoneme u: // slitely longer than u
  73. vowel starttype (u) endtype (u)
  74. length 220
  75. formants vowel/u_bck2
  76. endphoneme
  77. phoneme y
  78. vowel starttype (u) endtype (u)
  79. length 170
  80. formants vowel/y_2
  81. endphoneme
  82. phoneme Y
  83. vowel starttype (@) endtype (@)
  84. length 170
  85. formants vowel/y#
  86. endphoneme
  87. phoneme w
  88. vowel starttype (u) endtype (@)
  89. length 80
  90. beforenotvowel w/
  91. lengthmod 7
  92. formants w/w2
  93. after _ w/_w
  94. after (r) w/w
  95. endphoneme
  96. phoneme W
  97. vowel starttype (@) endtype (@)
  98. length 180
  99. formants vowel/@_3
  100. reduceto Y 1
  101. endphoneme
  102. phoneme W2 // same as W but don't reduce
  103. vowel starttype (@) endtype (@)
  104. length 180
  105. formants vowel/@_3
  106. endphoneme
  107. phoneme w^i
  108. vowel starttype (i) endtype (i)
  109. length 220
  110. formants vdiph/yi_fr
  111. endphoneme
  112. phoneme A~
  113. vowel starttype (a) endtype (a)
  114. length 200
  115. formants vnasal/aa_n2
  116. endphoneme
  117. phoneme E~ // same as W~ for fr-fr
  118. vowel starttype (e) endtype (e)
  119. length 200
  120. formants vnasal/W_n
  121. before n2 vowel/e_mid
  122. endphoneme
  123. phoneme O~
  124. vowel starttype (o) endtype (o)
  125. length 200
  126. formants vnasal/o_n3
  127. before n2 vowel/o_mid
  128. endphoneme
  129. phoneme W~
  130. vowel starttype (@) endtype (@)
  131. length 204
  132. formants vnasal/W_n
  133. endphoneme
  134. // These vowels map to others in fr-fr, but are distinct in fr-ca
  135. phoneme I // same as [i]
  136. vowel starttype (i) endtype (i)
  137. length 158
  138. formants vowel/i
  139. linkout ;
  140. endphoneme
  141. phoneme U // same as [u]
  142. vowel starttype (u) endtype (u)
  143. length 174
  144. formants vowel/u
  145. endphoneme
  146. phoneme y" // same as [y]
  147. vowel starttype (u) endtype (u)
  148. length 148
  149. formants vowel/y_2
  150. endphoneme
  151. phoneme E: // slightly longer than [E]
  152. vowel starttype (e) endtype (e)
  153. length 212
  154. formants vowel/e
  155. endphoneme
  156. phoneme A // same as [a]
  157. vowel starttype (a) endtype (a)
  158. length 166
  159. formants vowel/a_en
  160. endphoneme
  161. // CONSONANTS
  162. //===========
  163. // uses the consonants in file "phonemes", unless overridden here
  164. phoneme b
  165. vcd blb stop
  166. vowelout f1=0 f2=1000 -500 -300 f3=-300 80 brk
  167. formants b/b+x/b%50
  168. before _ b/b_+x/b_
  169. before (a) b/ba+x/b%50
  170. before (@) b/b@+x/b%40
  171. before (e) b/be+x/b%50
  172. before (i) b/bi+x/b%50
  173. before (o) b/bo+x/b%25
  174. before (u) b/bu+x/b%40
  175. before @- b/b@2+x/b%50
  176. after _ NULL
  177. after @ b/xb%50
  178. lengthmod 5
  179. switchvoicing p
  180. endphoneme
  181. phoneme d
  182. vcd alv stop
  183. vowelin f1=0 f2=1700 -300 300 f3=-100 80 amp=20
  184. vowelout f1=0 f2=1700 -300 300 f3=-100 80
  185. formants d/d+x/d%40
  186. before _ d/d_+x/d_%50
  187. before (r) d/dr+x/d%50
  188. after _ d/d+x/d%50
  189. after @ d/xd
  190. lengthmod 5
  191. switchvoicing t
  192. endphoneme
  193. phoneme g
  194. vcd vel stop
  195. vowelin f1=2 f2=2300 200 300 f3=-300 80 amp=10
  196. vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
  197. formants g/g+x/g2%30
  198. before _ g/g_+x/g_
  199. after _ NULL
  200. after @ g/xg%30
  201. lengthmod 5
  202. switchvoicing k
  203. endphoneme
  204. phoneme k
  205. vls vel stop
  206. vowelin f1=0 f2=2300 200 400 f3=-100 80
  207. vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
  208. lengthmod 2
  209. wave ustop/k%40 // reduce strength of noise burst
  210. before _ ustop/k_
  211. before (r) ustop/kr%45
  212. before l ustop/kl%45
  213. before (i) ustop/ki%45
  214. switchvoicing g
  215. endphoneme
  216. phoneme l
  217. liquid pal palatal
  218. length 100
  219. lengthmod 7
  220. beforenotvowel l/
  221. formants l/l
  222. after _ l/_l
  223. after t l/tl
  224. after l/ l/l_long // double l, make it longer
  225. endphoneme
  226. phoneme l/ // used for [l] when not before a vowel
  227. liquid pal palatal
  228. length 100
  229. lengthmod 7
  230. formants l/l_
  231. before b l/l_long
  232. before (r) l/_l
  233. beforevowel l
  234. endphoneme
  235. phoneme n2
  236. beforenotvowel NULL
  237. vcd alv nasal
  238. vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
  239. length 100
  240. lengthmod 4
  241. formants n/n_
  242. before _ n/n_
  243. endphoneme
  244. phoneme p
  245. vls blb stop
  246. vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
  247. vowelout f1=0 f2=1000 -500 -350 f3=-300 80 brk
  248. lengthmod 2
  249. wave ustop/p%45
  250. before _ ustop/p_%70
  251. after _ ustop/p%70
  252. before (r) ustop/pr%60
  253. before @- ustop/p_unasp%60
  254. before l ustop/pl%60
  255. switchvoicing b
  256. endphoneme
  257. phoneme p2 // silent unless followed by vowel
  258. beforenotvowel NULL
  259. vls blb stop
  260. vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
  261. vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
  262. lengthmod 2
  263. wave ustop/p%45
  264. before _ ustop/p_%45
  265. endphoneme
  266. phoneme r
  267. vcd rfx frc starttype (r) endtype (r)
  268. vowelin f1=0 f2=800 -50 50 f3=-100 100 len=0 rms=30
  269. vowelout f1=0 f2=800 -50 50 f3=-100 100 len=0 brk
  270. length 100
  271. lengthmod 3
  272. beforenotvowel r/
  273. formants vwl_fr/@R+r3/rx%25
  274. after t r/tr
  275. after k r/tr
  276. after p r/tr
  277. before _ r/r_
  278. endphoneme
  279. phoneme r2 // silent unless followed by vowel
  280. vcd rfx frc starttype (r) endtype (r)
  281. vowelin f1=0 f2=800 -50 50 f3=-100 100 len=0 rms=30
  282. vowelout f1=0 f2=600 -100 100 f3=-100 100 len=0 brk
  283. length 100
  284. lengthmod 3
  285. beforenotvowel NULL
  286. formants vwl_fr/@R+r3/rx%25
  287. before _ r/r
  288. endphoneme
  289. phoneme R
  290. vcd rfx frc starttype (r) endtype (r)
  291. vowelin f1=0 f2=800 -50 50 f3=-100 100 len=0 rms=30
  292. length 100
  293. lengthmod 3
  294. beforenotvowel r/
  295. formants vwl_fr/@R+r3/rx%25
  296. // after r r/rr
  297. endphoneme
  298. phoneme r/ // variant of [r] when not preceding a vowel
  299. vcd rfx frc starttype (r) endtype (r)
  300. vowelout f1=0 f2=800 -50 50 f3=-100 100 len=0 brk
  301. length 100
  302. lengthmod 2
  303. formants r3/r_+r3/rx%25
  304. before n r3/r_n+r3/rx%50
  305. after _ r/rr
  306. after t r/trr
  307. after p r/trr
  308. after k r/trr
  309. endphoneme
  310. phoneme s
  311. vls alv frc sibilant
  312. vowelin f1=0 f2=1700 -300 300 f3=-100 80
  313. vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  314. lengthmod 3
  315. wave ufric/s%45
  316. before _ ufric/s_%45
  317. before p ufric/s!%45
  318. before t ufric/s!%45
  319. before k ufric/s!%45
  320. switchvoicing z
  321. endphoneme
  322. phoneme S
  323. vls pla frc sibilant
  324. vowelin f1=0 f2=2100 100 300 f3=-100 80
  325. vowelout f1=0 f2=2100 100 300 f3=-100 80
  326. length 100
  327. lengthmod 3
  328. wave ufric/sh%45
  329. before _ ufric/sh_%45
  330. switchvoicing Z
  331. endphoneme
  332. phoneme t
  333. vls alv stop
  334. vowelin f1=0 f2=1700 -100 100 f3=-100 80
  335. vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  336. lengthmod 2
  337. wave ustop/t_short%30
  338. before _ ustop/t_%40
  339. before (r) ustop/t_short%30
  340. switchvoicing d
  341. endphoneme
  342. phoneme t2 // silent unless followed by vowel
  343. beforenotvowel NULL
  344. vls alv stop
  345. vowelin f1=0 f2=1600 -300 300 f3=-100 80
  346. vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
  347. lengthmod 2
  348. wave ustop/t_short%30
  349. before _ ustop/t_%40
  350. endphoneme
  351. phoneme v
  352. vcd lbd frc
  353. vowelin f1=0 f2=1000 -300 -200 f3=-300 100 amp=15
  354. vowelout f1=0 f2=1000 -300 -2300 f3=-300 100 len=10
  355. lengthmod 6
  356. formants voc/v+vocw/v%75
  357. before (r) voc/vj+vocw/v%75
  358. before _ voc/v_+vocw/v
  359. switchvoicing f
  360. endphoneme
  361. phoneme z
  362. vcd alv frc sibilant
  363. vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
  364. formants voc/z+ufric/s_%45
  365. before _ voc/z_+ufric/s_%45
  366. lengthmod 6
  367. switchvoicing s
  368. endphoneme
  369. phoneme z2 // silent unless followed by vowel
  370. beforenotvowel NULL
  371. vcd alv frc sibilant
  372. vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
  373. formants voc/z+ufric/s_%45
  374. before _ voc/z_+ufric/s%45
  375. lengthmod 6
  376. endphoneme
  377. phoneme z3 // "six" and "dix". [s] before pause, [z] before vowel, else []
  378. beforepause s
  379. beforenotvowel NULL
  380. vcd alv frc sibilant
  381. vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
  382. formants voc/z+ufric/s_%45
  383. before _ voc/z_+ufric/s_%45
  384. lengthmod 6
  385. endphoneme