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.5KB

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