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_arabic 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. phoneme #r virtual
  2. // Used for "r" sounds
  3. endphoneme
  4. phoneme H // arabic Hah
  5. vls phr frc
  6. ipa ħ
  7. lengthmod 5
  8. WAV(vwl_ar/hah,80)
  9. endphoneme
  10. phoneme Z // arabic ZAH
  11. vls phr frc
  12. ipa ðˤ
  13. lengthmod 5
  14. voicingswitch z
  15. ChangePhoneme (D) // FIXME: vwl_ar/zah wav file is wrong, therefore English D is used
  16. endphoneme
  17. phoneme A // arabic Ain
  18. vcd frc
  19. ipa ʕ
  20. voicingswitch a
  21. length 160
  22. Vowelin f1=2 f2=2300 -400 500 f3=300 80
  23. Vowelout f1=2 f2=2300 -300 450 f3=-100 10
  24. FMT(r/xr,25) addWav(h/h_,30)
  25. endphoneme
  26. phoneme gH // arabic Ghain, the phoneme is derived from Q
  27. vcd vel frc
  28. voicingswitch R2
  29. ipa ɣ
  30. Vowelin f1=2 f2=2300 200 300 f3=-300 80
  31. Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
  32. FMT(g/g) addWav(vwl_ar/dhad)
  33. endphoneme
  34. phoneme dH //arabic Dhad TODO this probably should be simple d from standard phonemes
  35. vcd alv stp
  36. ipa dˤ
  37. Vowelin f1=1 f2=1700 -300 300 f3=-100 80
  38. Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk
  39. IF PreVoicing THEN
  40. FMT(d/xd)
  41. ENDIF
  42. IF nextPh(isPause2) THEN
  43. FMT(d/d_) addWav(x/d_)
  44. ENDIF
  45. FMT(d/d) addWav(x/d)
  46. endphoneme
  47. phoneme s[
  48. vls dnt stp
  49. voicingswitch s
  50. length 160
  51. lengthmod 7
  52. WAV(vwl_ar/shin)
  53. endphoneme
  54. phoneme X
  55. vls uvl frc
  56. voicingswitch Q
  57. lengthmod 7
  58. Vowelin f1=0 f2=2300 200 400 f3=-100 80
  59. Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
  60. WAV(ufric/xx, 70)
  61. endphoneme
  62. // vowels
  63. phoneme a
  64. vwl starttype #a endtype #a
  65. IF nextPhW(isPause) THEN
  66. length 80
  67. ELSE
  68. length 140
  69. ENDIF
  70. FMT(vowel/a_2)
  71. endphoneme
  72. phoneme i
  73. vwl starttype #i endtype #i
  74. IF nextPhW(isPause) THEN
  75. length 80
  76. ELSE
  77. length 140
  78. ENDIF
  79. FMT(vowel/i)
  80. endphoneme
  81. phoneme u
  82. vwl starttype #u endtype #u
  83. IF nextPhW(isPause) THEN
  84. length 80
  85. ELSE
  86. length 140
  87. ENDIF
  88. FMT(vowel/u)
  89. endphoneme
  90. phoneme : // lengthen previous vowel by "length"
  91. virtual
  92. length 180
  93. endphoneme