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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602
  1. //====================================================
  2. // French
  3. //====================================================
  4. // Updated 2009-07-30 Michel Such <[email protected]>
  5. phoneme (l) virtual
  6. // Used for l and l/
  7. endphoneme
  8. phoneme : // Lengthen previous vowel by "length"
  9. virtual
  10. length 40 // shorter than for fr-ca
  11. endphoneme
  12. phoneme (r) virtual
  13. after b vwl_fr/tr+r3/rx%35
  14. after g vwl_fr/tr+r3/rx%35
  15. after k vwl_fr/tr+r3/rx%35
  16. after m vwl_fr/tr+r3/rx%25
  17. after n vwl_fr/tr+r3/rx%25
  18. after p vwl_fr/tr+r3/rx%35
  19. after s vwl_fr/tr+r3/rx%30
  20. after S vwl_fr/tr+r3/rx%45
  21. after t vwl_fr/tr+r3/rx%30
  22. after v vwl_fr/tr+r3/rx%30
  23. after z vwl_fr/tr+r3/rx%30
  24. after Z vwl_fr/tr+r3/rx%30
  25. before (i) vwl_fr/@R5
  26. before (o) vwl_fr/@R5
  27. before (u) vwl_fr/@R5
  28. endphoneme
  29. // Vowels
  30. //=======
  31. phoneme @
  32. vowel starttype (@) endtype (@)
  33. length 190
  34. formants vowel/@_hgh
  35. before l/ DFT+l/l_@
  36. before (r) DFT+vwl_fr/r_@
  37. endphoneme
  38. phoneme @- // very short schwa
  39. vowel nonsyllabic
  40. starttype (@) endtype (@)
  41. formants NULL
  42. unstressed
  43. length 70
  44. before l/ DFT+l/l_@
  45. before (r) DFT+vwl_fr/r_@
  46. endphoneme
  47. phoneme @2
  48. vowel starttype (@) endtype (@)
  49. length 170
  50. formants vowel/@_fr
  51. before (r) DFT-10+vwl_fr/r_@
  52. endphoneme
  53. phoneme a
  54. vowel starttype (a) endtype (a)
  55. length 200
  56. formants vowel/a_6
  57. after l l/la-15
  58. before l/ DFT+l/l_a
  59. before (r) DFT-10+vwl_fr/r_a
  60. before r/2 DFT-10+vwl_fr/r_a
  61. endphoneme
  62. phoneme e
  63. vowel starttype (e) endtype (e)
  64. length 190
  65. formants vowel/e_8
  66. after (l) l/le-15
  67. before l/ DFT-20+l/xl
  68. before (r) DFT-10+vwl_fr/r_e
  69. endphoneme
  70. phoneme E
  71. vowel starttype (e) endtype (e)
  72. length 190
  73. formants vowel/e_mid
  74. after (l) l/le-15
  75. before l/ DFT+l/l_e
  76. before (r) DFT-10+vwl_fr/r_e
  77. before r/2 DFT+vwl_fr/r_e
  78. endphoneme
  79. phoneme i
  80. vowel starttype (i) endtype (i)
  81. length 180
  82. formants vowel/i_2
  83. linkout ;
  84. after (l) l/li-15
  85. // after (r) vwl_fr/ri
  86. before l/ DFT+l/l_i
  87. before (r) DFT-20+vwl_fr/r_i
  88. before r/2 DFT+vwl_fr/r_i
  89. endphoneme
  90. phoneme i- // shorter
  91. vowel starttype (i) endtype (i)
  92. length 140
  93. formants vowel/i_2
  94. linkout ;
  95. after (l) l/li-15
  96. // after (r) vwl_fr/ri
  97. endphoneme
  98. phoneme i: // longer than i
  99. vowel starttype (i) endtype (i)
  100. length 250
  101. formants vowel/i_3
  102. linkout ;
  103. after (l) l/li-15
  104. // after (r) vwl_fr/ri
  105. before l/ DFT+l/l_i
  106. before (r) DFT-20+vwl_fr/r_i
  107. before r/2 DFT-20+vwl_fr/r_i
  108. endphoneme
  109. phoneme o
  110. vowel starttype (o) endtype (o)
  111. length 190
  112. formants vowel/o_3
  113. after (l) l/lo-10
  114. before l/ DFT+l/l_o
  115. before (r) DFT+vwl_fr/r_o
  116. before r/2 vowel/o_mid+vwl_fr/r_o
  117. reduceto o2 1
  118. endphoneme
  119. phoneme o2
  120. vowel starttype (o) endtype (o)
  121. length 190
  122. formants vowel/o_2
  123. after (l) l/lo-10
  124. before l/ vowel/o_mid+l/l_o
  125. before (r) DFT+vwl_fr/r_o
  126. before r/2 vowel/o_mid+vwl_fr/r_o
  127. endphoneme
  128. phoneme O
  129. vowel starttype (o) endtype (o)
  130. length 190
  131. formants vowel/o_mid
  132. after (l) l/lo-10
  133. before l/ DFT+l/l_o
  134. before (r) DFT+vwl_fr/r_o
  135. before r/2 DFT+vwl_fr/r_o
  136. reduceto o2 1
  137. endphoneme
  138. phoneme O2 // Like O but no reduceto
  139. vowel starttype (o) endtype (o)
  140. length 190
  141. formants vowel/o_mid
  142. after (l) l/lo-10
  143. before l/ DFT+l/l_o
  144. before (r) DFT+vwl_fr/r_o
  145. before r/2 DFT+vwl_fr/r_o
  146. endphoneme
  147. phoneme u
  148. vowel starttype (u) endtype (u)
  149. length 210
  150. formants vowel/u_bck2
  151. after l l/lu-20
  152. before l/ DFT-20+l/l_u
  153. before (r) DFT+vwl_fr/r_u
  154. before i DFT-50
  155. endphoneme
  156. phoneme u: // slitely longer than u
  157. vowel starttype (u) endtype (u)
  158. length 240
  159. formants vowel/u_bck2
  160. after l l/lu-20
  161. before l/ DFT-20+l/l_u
  162. before l/ DFT-20+l/l_u
  163. endphoneme
  164. phoneme y
  165. vowel starttype (u) endtype (u)
  166. length 190
  167. formants vowel/y_2
  168. after l l/lu-20
  169. before l/ DFT-30+l/l_y
  170. before (r) DFT+vwl_fr/r_y
  171. before r/2 DFT+vwl_fr/r_y
  172. before E~ DFT-50
  173. endphoneme
  174. phoneme Y
  175. vowel starttype (@) endtype (@)
  176. length 190
  177. formants vowel/y#
  178. after (l) l/l@-20
  179. before l/ DFT-20+l/l_@
  180. before (r) DFT+vwl_fr/r_@
  181. before r/2 DFT+r/xr-40
  182. endphoneme
  183. phoneme W
  184. vowel starttype (@) endtype (@)
  185. length 200
  186. formants vowel/@_5
  187. after (l) l/l@-20
  188. before l/ DFT-20+l/l_@
  189. before (r) DFT+vwl_fr/r_@2
  190. before r/2 DFT+vwl_fr/r_@2-30
  191. reduceto Y 1
  192. endphoneme
  193. phoneme W2 // same as W but don't reduce
  194. vowel starttype (@) endtype (@)
  195. length 200
  196. formants vowel/@_3
  197. after (l) l/l@-20
  198. before l/ DFT-20+l/l_@
  199. before (r) DFT+vwl_fr/r_@
  200. before r/2 DFT+vwl_fr/r_@2
  201. endphoneme
  202. phoneme wA
  203. vowel starttype (o) endtype (a)
  204. length 240
  205. formants vwl_fr/w_a
  206. after (l) l/lo-10
  207. before l/ DFT-10+l/l_a
  208. before j DFT
  209. before (r) DFT+vwl_fr/r_a
  210. before r/2 DFT+vwl_fr/r_a
  211. endphoneme
  212. phoneme w^i
  213. vowel starttype (u) endtype (i)
  214. length 240
  215. formants vdiph/yi_fr
  216. after l l/lu-20
  217. before l/ DFT+l/l_i
  218. before (r) DFT+vwl_fr/r_i
  219. before r/2 DFT+vwl_fr/r_i
  220. endphoneme
  221. phoneme A~
  222. vowel starttype (a) endtype (a)
  223. length 210
  224. formants vnasal/aa_n4
  225. before l/ DFT+l/l_a
  226. before (r) DFT+vwl_fr/r_a~
  227. before r/2 DFT+vwl_fr/r_a~
  228. endphoneme
  229. phoneme E~ // same as W~ for fr-fr
  230. vowel starttype (e) endtype (e)
  231. length 210
  232. formants vnasal/W_n
  233. before n2 DFT-100
  234. endphoneme
  235. phoneme O~
  236. vowel starttype (o) endtype (o)
  237. length 210
  238. formants vnasal/o_n2
  239. before (r) DFT+vwl_fr/r_o
  240. endphoneme
  241. phoneme W~
  242. vowel starttype (@) endtype (@)
  243. length 210
  244. formants vnasal/W_n
  245. before (r) DFT+vwl_fr/r_@
  246. endphoneme
  247. // These vowels map to others in fr-fr, but are distinct in fr-ca
  248. phoneme I // same as [i]
  249. vowel starttype (i) endtype (i)
  250. length 158
  251. formants vowel/i
  252. linkout ;
  253. endphoneme
  254. phoneme U // same as [u]
  255. vowel starttype (u) endtype (u)
  256. length 174
  257. formants vowel/u
  258. endphoneme
  259. phoneme y" // same as [y]
  260. vowel starttype (u) endtype (u)
  261. length 148
  262. formants vowel/y_2
  263. endphoneme
  264. phoneme E: // slightly longer than [E]
  265. vowel starttype (e) endtype (e)
  266. length 212
  267. formants vowel/e
  268. endphoneme
  269. phoneme A // same as [a]
  270. vowel starttype (a) endtype (a)
  271. length 166
  272. formants vowel/a_en
  273. endphoneme
  274. // CONSONANTS
  275. //===========
  276. // uses the consonants in file "phonemes", unless overridden here
  277. phoneme b
  278. vcd blb stop
  279. vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk
  280. formants b/b+x/b%70
  281. before _ b/b_+x/b_
  282. before (l) b/b_+x/b_
  283. after _ NULL
  284. after @ b/xb%50
  285. lengthmod 5
  286. switchvoicing p
  287. endphoneme
  288. phoneme d
  289. vcd alv stop
  290. vowelin f1=0 f2=1700 -300 300 f3=-100 80 amp=20
  291. vowelout f1=0 f2=1700 -300 300 f3=-100 80
  292. formants d/d+x/d%40
  293. before _ d/d_+x/d_%50
  294. before (r) d/dr+x/d%50
  295. before r/2 d/dr+x/d%50
  296. after _ d/d+x/d%50
  297. after (@) d/xd
  298. lengthmod 5
  299. switchvoicing t
  300. endphoneme
  301. phoneme g
  302. vcd vel stop
  303. vowelin f1=2 f2=2300 200 300 f3=-300 80 amp=10
  304. vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
  305. formants g/g+x/g2%30
  306. before _ g/g_+x/g_
  307. before (r) g/g+x/g2%50
  308. after _ NULL
  309. after (@) g/xg%30
  310. lengthmod 5
  311. switchvoicing k
  312. endphoneme
  313. phoneme k
  314. vls vel stop
  315. vowelin f1=0 f2=2300 200 400 f3=-100 80
  316. vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
  317. lengthmod 2
  318. wave ustop/k%40 // reduce strength of noise burst
  319. before _ ustop/k_
  320. before (r) ustop/kr%40
  321. before r/2 ustop/k%60
  322. before l ustop/kl%45
  323. before l/ ustop/kl%45
  324. before (i) ustop/ki%45
  325. switchvoicing g
  326. endphoneme
  327. phoneme l
  328. liquid starttype (l) endtype (l)
  329. vowelout f1=1 f2=1600 -300 300 f3=100 80 brk
  330. length 100
  331. lengthmod 7
  332. beforenotvowel l/
  333. formants l/l
  334. after _ l/_l
  335. after t l/tl
  336. after l/ l/l_long // double l, make it longer
  337. endphoneme
  338. phoneme l/ // used for [l] when not before a vowel
  339. liquid starttype (l) endtype (l)
  340. length 100
  341. lengthmod 7
  342. formants l/_l
  343. after (i) l/l_
  344. beforevowel l
  345. endphoneme
  346. phoneme n2
  347. beforenotvowel NULL
  348. vcd alv nasal
  349. vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
  350. length 100
  351. lengthmod 4
  352. formants n/n_
  353. before _ n/n_
  354. endphoneme
  355. phoneme p
  356. vls blb stop
  357. vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
  358. vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
  359. lengthmod 2
  360. wave ustop/p%50
  361. after _ ustop/p%70
  362. before _ ustop/p_%70
  363. before (r) ustop/pr%35
  364. before @- ustop/p_unasp%60
  365. before l ustop/pl%30
  366. before l/ ustop/pl%30
  367. switchvoicing b
  368. endphoneme
  369. phoneme p2 // silent unless followed by vowel
  370. beforenotvowel NULL
  371. vls blb stop
  372. vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
  373. vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
  374. lengthmod 2
  375. wave ustop/p%45
  376. before _ ustop/p_%45
  377. endphoneme
  378. phoneme r
  379. vcd uvl frc starttype (r) endtype (r)
  380. vowelin f1=1 f2=1800 10 10 f3=-200 100
  381. vowelout f1=1 f2=1800 10 10 f3=-200 100
  382. length 100
  383. lengthmod 7
  384. beforenotvowel r/2
  385. formants vwl_fr/r
  386. endphoneme
  387. phoneme r2 // silent unless followed by vowel
  388. vcd uvl frc starttype (r) endtype (r)
  389. vowelin f1=0 f2=1000 10 10 f3=-200 100
  390. vowelout f1=0 f2=1200 10 10 f3=-200 100
  391. length 100
  392. lengthmod 7
  393. beforenotvowel NULL
  394. formants vwl_fr/r
  395. endphoneme
  396. phoneme r/2 // variant of [r] when not preceding a vowel
  397. liquid uvl starttype r/2 endtype r/2
  398. vowelout f1=2 f2=1800 10 10 f3=-200 100
  399. length 100
  400. lengthmod 2
  401. formants r3/r_2+r3/rx%25
  402. before n r3/r_n
  403. beforevowel r
  404. endphoneme
  405. phoneme s
  406. vls alv frc sibilant
  407. vowelin f1=0 f2=1700 -300 300 f3=-100 80
  408. vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  409. lengthmod 3
  410. wave ufric/s%45
  411. before _ ufric/s_%45
  412. before p ufric/s!%45
  413. before t ufric/s!%45
  414. before k ufric/s!%45
  415. switchvoicing z
  416. endphoneme
  417. phoneme S
  418. vls pla frc sibilant
  419. vowelin f1=0 f2=1900 100 300 f3=-100 80
  420. vowelout f1=0 f2=1900 100 300 f3=-100 80
  421. length 100
  422. lengthmod 3
  423. wave ufric/sh%45
  424. before _ ufric/sh_%45
  425. switchvoicing Z
  426. endphoneme
  427. phoneme t
  428. vls alv stop
  429. vowelin f1=0 f2=1600 -300 300 f3=-100 80
  430. vowelout f1=0 f2=1600 -300 250 f3=-100 80 brk
  431. lengthmod 2
  432. wave ustop/t_short%40
  433. before _ ustop/t_%40
  434. before (r) ustop/tr%40
  435. before r/2 ustop/t_short%50
  436. switchvoicing d
  437. endphoneme
  438. phoneme t2 // silent unless followed by vowel
  439. beforenotvowel NULL
  440. vls alv stop
  441. vowelin f1=0 f2=1600 -300 300 f3=-100 80
  442. vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
  443. lengthmod 2
  444. wave ustop/t_short%30
  445. before _ ustop/t_%40
  446. endphoneme
  447. phoneme t3 // silent unless followed by vowel or pause
  448. beforepause t
  449. beforenotvowel NULL
  450. vls alv stop
  451. vowelin f1=0 f2=1600 -300 300 f3=-100 80
  452. vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
  453. lengthmod 2
  454. wave ustop/t_short%30
  455. before _ ustop/t_%40
  456. endphoneme
  457. phoneme v
  458. vcd lbd frc
  459. vowelin f1=0 f2=1000 -100 -100 f3=-300 100
  460. vowelout f1=0 f2=1000 -100 -100 f3=-300 100
  461. lengthmod 6
  462. formants voc/v+vocw/v%75
  463. before (r) voc/vj+vocw/v%75
  464. before _ voc/v_+vocw/v
  465. switchvoicing f
  466. endphoneme
  467. phoneme z
  468. vcd alv frc sibilant
  469. vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
  470. formants voc/z+ufric/s_%35
  471. before _ voc/z_+ufric/s_%45
  472. lengthmod 6
  473. switchvoicing s
  474. endphoneme
  475. phoneme z2 // silent unless followed by vowel
  476. beforenotvowel NULL
  477. vcd alv frc sibilant
  478. vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
  479. formants voc/z+ufric/s_%45
  480. before _ voc/z_+ufric/s%45
  481. lengthmod 6
  482. endphoneme
  483. phoneme z3 // "six" and "dix". [s] before pause, [z] before vowel, else []
  484. beforepause s
  485. beforenotvowel NULL
  486. vcd alv frc sibilant
  487. vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
  488. formants voc/z+ufric/s_%45
  489. before _ voc/z_+ufric/s_%45
  490. lengthmod 6
  491. endphoneme