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_italian 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. //====================================================
  2. // Italian
  3. //====================================================
  4. phoneme : // Lengthen previous vowel by "length"
  5. virtual
  6. length 50
  7. endphoneme
  8. phoneme a
  9. vowel starttype #a endtype #a
  10. length 160
  11. ChangeIfNotStressed(a/)
  12. FMT(vowel/a)
  13. endphoneme
  14. phoneme a/
  15. vowel starttype #@ endtype #@
  16. length 140
  17. IF thisPh(isWordEnd) THEN
  18. FMT(vowel/a#_4)
  19. ENDIF
  20. FMT(vowel/a_5)
  21. endphoneme
  22. phoneme e
  23. vowel starttype #e endtype #e
  24. length 150
  25. ChangeIfNotStressed(e/)
  26. FMT(vowel/e_2)
  27. endphoneme
  28. phoneme e/
  29. vowel starttype #e endtype #e
  30. length 140
  31. IF nextPhW(isNasal) OR nextPhW(isLiquid) THEN
  32. FMT(vowel/e_mid2)
  33. ELSE
  34. FMT(vowel/e)
  35. ENDIF
  36. endphoneme
  37. phoneme E
  38. vowel starttype #e endtype #e
  39. length 145
  40. ChangeIfUnstressed(e/) // [E] only in stressed syllables ?
  41. FMT(vowel/e_mid)
  42. endphoneme
  43. phoneme i
  44. vowel starttype #i endtype #i
  45. length 140
  46. IfNextVowelAppend(;)
  47. FMT(vowel/i)
  48. IF thisPh(isWordEnd) AND thisPh(isNotStressed) AND NOT prevPhW(E) THEN
  49. ChangePhoneme(I)
  50. ENDIF
  51. endphoneme
  52. phoneme i# // Used for 'gia_' where [i] is only spoken if stressed
  53. vowel starttype #i endtype #i
  54. length 145
  55. ChangeIfNotStressed(NULL)
  56. ChangePhoneme(i)
  57. endphoneme
  58. phoneme I
  59. vowel starttype #i endtype #i
  60. length 140
  61. IfNextVowelAppend(;)
  62. FMT(vowel/i_4)
  63. endphoneme
  64. phoneme o
  65. vowel starttype #o endtype #o
  66. length 150
  67. ChangeIfNotStressed(o/)
  68. FMT(vowel/o)
  69. endphoneme
  70. phoneme o/
  71. vowel starttype #o endtype #o
  72. length 140
  73. IF nextPhW(isNasal) OR nextPhW(isLiquid) THEN
  74. FMT(vowel/oo_1)
  75. ELSE
  76. FMT(vowel/o)
  77. ENDIF
  78. endphoneme
  79. phoneme O
  80. vowel starttype #o endtype #o
  81. length 150
  82. ChangeIfUnstressed(o/) // [O] only in stressed syllables ?
  83. FMT(vowel/oo_4)
  84. endphoneme
  85. phoneme u
  86. vowel starttype #u endtype #u
  87. length 150
  88. ChangeIfNotStressed(U)
  89. FMT(vowel/u_bck)
  90. endphoneme
  91. phoneme U
  92. vowel starttype #u endtype #u
  93. length 140
  94. FMT(vowel/u_bck)
  95. endphoneme
  96. phoneme aU
  97. vowel starttype #a endtype #u
  98. length 270
  99. FMT(vdiph/au_4)
  100. endphoneme
  101. phoneme aI
  102. vowel starttype #a endtype #i
  103. length 250
  104. FMT(vdiph/ai)
  105. endphoneme
  106. phoneme oI
  107. vowel starttype #o endtype #i
  108. length 230
  109. FMT(vdiph/oi)
  110. endphoneme
  111. // CONSONANTS
  112. //===========
  113. phoneme l^
  114. import_phoneme base/l^
  115. Length 130
  116. endphoneme
  117. phoneme ts
  118. vls alv afr sibilant
  119. voicingswitch dz
  120. lengthmod 2
  121. Vowelin f1=1 f2=1700 -300 300 f3=-100 70 len=60
  122. Vowelout f1=2 f2=1700 -300 250 f3=-100 70 rms=14
  123. IF nextPh(isPause2) THEN
  124. WAV(ustop/ts_)
  125. ENDIF
  126. WAV(ustop/ts)
  127. endphoneme
  128. phoneme dz
  129. import_phoneme consonants/dz
  130. voicingswitch z
  131. lengthmod 3
  132. endphoneme