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