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 9.0KB

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