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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494
  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. after w vowel/a
  18. endphoneme
  19. phoneme e
  20. vowel starttype (e) endtype (e)
  21. length 172
  22. formants vowel/e
  23. endphoneme
  24. phoneme E
  25. vowel starttype (e) endtype (e)
  26. length 175
  27. formants vowel/e_mid
  28. endphoneme
  29. phoneme i
  30. vowel starttype (i) endtype (i)
  31. length 160
  32. formants vowel/i_3
  33. linkout ;
  34. endphoneme
  35. phoneme i: // Slitely longer than i
  36. vowel starttype (i) endtype (i)
  37. length 212
  38. formants vowel/i_3
  39. linkout ;
  40. endphoneme
  41. phoneme j
  42. liquid
  43. palatal
  44. length 100
  45. beforenotvowel j/
  46. formants NULL
  47. after _ j/_j
  48. after v NULL
  49. lengthmod 7
  50. // beforevowel i
  51. endphoneme
  52. phoneme o
  53. vowel starttype (o) endtype (o)
  54. length 170
  55. formants vowel/o_3
  56. endphoneme
  57. phoneme o-
  58. vowel starttype (o) endtype (o)
  59. length 100
  60. formants vowel/o_3
  61. endphoneme
  62. phoneme O
  63. vowel starttype (o) endtype (o)
  64. length 170
  65. formants vowel/o_mid
  66. reduceto o 1
  67. endphoneme
  68. phoneme O2 // Like O but no reduceto
  69. vowel starttype (o) endtype (o)
  70. length 170
  71. formants vowel/o_mid
  72. endphoneme
  73. phoneme u
  74. vowel starttype (u) endtype (u)
  75. length 180
  76. formants vowel/u_bck2
  77. endphoneme
  78. phoneme y
  79. vowel starttype (e) endtype (u)
  80. length 170
  81. formants vowel/y_2
  82. endphoneme
  83. phoneme Y
  84. vowel starttype (@) endtype (@)
  85. length 170
  86. formants vowel/y#
  87. endphoneme
  88. phoneme w
  89. vowel starttype (o) endtype w
  90. length 120
  91. beforenotvowel w/
  92. lengthmod 7
  93. formants w/w
  94. after _ 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. endphoneme
  128. phoneme W~
  129. vowel starttype (@) endtype (@)
  130. length 204
  131. formants vnasal/W_n
  132. endphoneme
  133. // These vowels map to others in fr-fr, but are distinct in fr-ca
  134. phoneme I // same as [i]
  135. vowel starttype (i) endtype (i)
  136. length 158
  137. formants vowel/i
  138. linkout ;
  139. endphoneme
  140. phoneme U // same as [u]
  141. vowel starttype (u) endtype (u)
  142. length 174
  143. formants vowel/u
  144. endphoneme
  145. phoneme y" // same as [y]
  146. vowel starttype (u) endtype (u)
  147. length 148
  148. formants vowel/y_2
  149. endphoneme
  150. phoneme E: // slightly longer than [E]
  151. vowel starttype (e) endtype (e)
  152. length 212
  153. formants vowel/e
  154. endphoneme
  155. phoneme A // same as [a]
  156. vowel starttype (a) endtype (a)
  157. length 166
  158. formants vowel/a_en
  159. endphoneme
  160. // CONSONANTS
  161. //===========
  162. // uses the consonants in file "phonemes", unless overridden here
  163. phoneme b
  164. vcd blb stop
  165. vowelout f1=0 f2=1000 -500 -300 f3=-300 80 brk
  166. formants b/b+x/b
  167. before _ b/b_+x/b_
  168. before (a) b/ba+x/b
  169. before (@) b/b@+x/b
  170. before (e) b/be+x/b
  171. before (i) b/bi+x/b
  172. before (o) b/bo
  173. before (u) b/bu
  174. before @- b/b@2+x/b
  175. after _ NULL
  176. after @ b/xb
  177. lengthmod 5
  178. switchvoicing p
  179. endphoneme
  180. phoneme d
  181. vcd alv stop
  182. vowelin f1=0 f2=1700 -300 300 f3=-100 80 amp=20
  183. vowelout f1=0 f2=1700 -300 300 f3=-100 80
  184. formants d/d+x/d%40
  185. before _ d/d_+x/d_%50
  186. before r d/dr+x/d%50
  187. after _ d/d+x/d%50
  188. after @ d/xd
  189. lengthmod 5
  190. switchvoicing t
  191. endphoneme
  192. phoneme g
  193. vcd vel stop
  194. vowelin f1=2 f2=2300 200 300 f3=-300 80 amp=10
  195. vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
  196. formants g/g+x/g2%30
  197. before _ g/g_+x/g_
  198. after _ NULL
  199. after @ g/xg%30
  200. lengthmod 5
  201. switchvoicing k
  202. endphoneme
  203. phoneme k
  204. vls vel stop
  205. vowelin f1=0 f2=2300 200 400 f3=-100 80
  206. vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
  207. lengthmod 2
  208. wave ustop/k%45 // reduce strength of noise burst
  209. before _ ustop/k_
  210. before r ustop/kr%45
  211. before l ustop/kl%45
  212. before (i) ustop/ki%45
  213. switchvoicing g
  214. endphoneme
  215. phoneme l
  216. liquid pal palatal
  217. length 100
  218. lengthmod 7
  219. beforenotvowel l/
  220. formants l/l
  221. after _ l/_l
  222. after t l/tl
  223. after l/ l/l_long // double l, make it longer
  224. before (a) l/la
  225. before (e) l/le
  226. before (i) l/li
  227. before (o) l/lo
  228. before (u) l/lu
  229. before (@) l/l@
  230. before _ l/l_
  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. 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%45
  256. before _ ustop/p_%70
  257. after _ ustop/p%70
  258. before r ustop/pr%60
  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/@R
  281. after t r/tr
  282. after k r/tr
  283. after p r/tr
  284. before _ r3/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
  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/@R
  294. before _ vwl_fr/@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/@R
  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 rms=20
  308. length 100
  309. lengthmod 2
  310. formants NULL
  311. before j vwl_fr/@R
  312. before l vwl_fr/@R
  313. endphoneme
  314. phoneme s
  315. vls alv frc sibilant
  316. vowelin f1=0 f2=1700 -300 300 f3=-100 80
  317. vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  318. lengthmod 3
  319. wave ufric/s%45
  320. before _ ufric/s_%45
  321. before p ufric/s!%45
  322. before t ufric/s!%45
  323. before k ufric/s!%45
  324. switchvoicing z
  325. endphoneme
  326. phoneme S
  327. vls pla frc sibilant
  328. vowelin f1=0 f2=2100 100 300 f3=-100 80
  329. vowelout f1=0 f2=2100 100 300 f3=-100 80
  330. length 100
  331. lengthmod 3
  332. wave ufric/sh%45
  333. before _ ufric/sh_%45
  334. switchvoicing Z
  335. endphoneme
  336. phoneme t
  337. vls alv stop
  338. vowelin f1=0 f2=1700 -100 100 f3=-100 80
  339. vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  340. lengthmod 2
  341. wave ustop/t%30
  342. before _ ustop/t_%60
  343. before @- ustop/t%30
  344. before r ustop/tr%30
  345. before R ustop/tr%30
  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%30
  355. before _ ustop/t_%45
  356. endphoneme
  357. phoneme v
  358. vcd lbd frc
  359. vowelin f1=0 f2=1000 -300 -200 f3=-300 100 amp=15
  360. vowelout f1=0 f2=1000 -300 -2300 f3=-300 100 len=10
  361. lengthmod 6
  362. formants voc/v+vocw/v%75
  363. before (r) voc/vj+vocw/v%75
  364. before _ voc/v_+vocw/v
  365. switchvoicing f
  366. endphoneme
  367. phoneme z
  368. vcd alv frc sibilant
  369. vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
  370. formants voc/z+ufric/s_%45
  371. before _ voc/z_+ufric/s_%45
  372. lengthmod 6
  373. switchvoicing s
  374. endphoneme
  375. phoneme z2 // silent unless followed by vowel
  376. beforenotvowel NULL
  377. vcd alv frc sibilant
  378. vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
  379. formants voc/z+ufric/s_%45
  380. before _ voc/z_+ufric/s%45
  381. lengthmod 6
  382. endphoneme
  383. phoneme z3 // "six" and "dix". [s] before pause, [z] before vowel, else []
  384. beforepause s
  385. beforenotvowel NULL
  386. vcd alv frc sibilant
  387. vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
  388. formants voc/z+ufric/s_%45
  389. before _ voc/z_+ufric/s_%45
  390. lengthmod 6
  391. endphoneme