Browse Source

[1.42.21]

New format for phoneme source files.
Update phoneme data for Klatt synthesizer.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@235 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 15 years ago
parent
commit
20f52f0301
100 changed files with 3620 additions and 4053 deletions
  1. 28
    78
      dictsource/dict_phonemes
  2. 8
    0
      dictsource/hu_list
  3. 30
    27
      dictsource/hu_rules
  4. 12
    1
      dictsource/ta_list
  5. 126
    29
      dictsource/ta_rules
  6. BIN
      phsource/b/xb
  7. 357
    875
      phsource/compile_report
  8. BIN
      phsource/d/d
  9. BIN
      phsource/d/d_
  10. BIN
      phsource/d/dr
  11. BIN
      phsource/d/tap1
  12. BIN
      phsource/d/tap3
  13. BIN
      phsource/d/xd
  14. BIN
      phsource/dzh/dzh
  15. BIN
      phsource/dzh/dzh_
  16. BIN
      phsource/dzh/xdz_pzd
  17. BIN
      phsource/dzh/xdzh
  18. BIN
      phsource/g/g
  19. BIN
      phsource/g/g_
  20. BIN
      phsource/g/xg
  21. BIN
      phsource/j/_j
  22. BIN
      phsource/j/j@
  23. BIN
      phsource/j/j_
  24. BIN
      phsource/j/ja
  25. BIN
      phsource/j/je
  26. BIN
      phsource/j/ji
  27. BIN
      phsource/j/jo
  28. BIN
      phsource/j/ju
  29. BIN
      phsource/j/xj
  30. BIN
      phsource/j2/_j2
  31. BIN
      phsource/j2/j2@
  32. BIN
      phsource/j2/j2a
  33. BIN
      phsource/j2/j2e
  34. BIN
      phsource/j2/j2i
  35. BIN
      phsource/j2/j2o
  36. BIN
      phsource/j2/j2u
  37. BIN
      phsource/j2/xj2
  38. BIN
      phsource/l/L1_@L
  39. BIN
      phsource/l/L1_aL
  40. BIN
      phsource/l/L1_eL
  41. BIN
      phsource/l/L1_iL
  42. BIN
      phsource/l/L1_oL
  43. BIN
      phsource/l/L1_uL
  44. BIN
      phsource/l/L2_@L
  45. BIN
      phsource/l/L2_aL
  46. BIN
      phsource/l/L2_eL
  47. BIN
      phsource/l/L2_iL
  48. BIN
      phsource/l/L2_oL
  49. BIN
      phsource/l/L2_uL
  50. BIN
      phsource/l/_l
  51. BIN
      phsource/l/l
  52. BIN
      phsource/l/l@
  53. BIN
      phsource/l/l_
  54. BIN
      phsource/l/la
  55. BIN
      phsource/l/le
  56. BIN
      phsource/l/li
  57. BIN
      phsource/l/lo
  58. BIN
      phsource/l/lu
  59. BIN
      phsource/l/xl
  60. BIN
      phsource/l^/_l^
  61. BIN
      phsource/l^/j2@
  62. BIN
      phsource/l^/j2a
  63. BIN
      phsource/l^/j2e
  64. BIN
      phsource/l^/j2i
  65. BIN
      phsource/l^/j2o
  66. BIN
      phsource/l^/j2u
  67. BIN
      phsource/l^/l^
  68. BIN
      phsource/l^/l_rfx
  69. 122
    108
      phsource/ph_afrikaans
  70. 165
    144
      phsource/ph_albanian
  71. 57
    97
      phsource/ph_armenian
  72. 96
    83
      phsource/ph_base2
  73. 27
    32
      phsource/ph_catalan
  74. 125
    0
      phsource/ph_consonants
  75. 118
    95
      phsource/ph_croatian
  76. 10
    10
      phsource/ph_czech
  77. 40
    56
      phsource/ph_danish
  78. 54
    101
      phsource/ph_dutch
  79. 200
    205
      phsource/ph_english
  80. 91
    94
      phsource/ph_english_n
  81. 100
    108
      phsource/ph_english_rp
  82. 155
    147
      phsource/ph_english_sc
  83. 135
    107
      phsource/ph_english_us
  84. 74
    78
      phsource/ph_english_wi
  85. 82
    99
      phsource/ph_english_wm
  86. 25
    31
      phsource/ph_esperanto
  87. 120
    132
      phsource/ph_finnish
  88. 493
    377
      phsource/ph_french
  89. 23
    24
      phsource/ph_french_ca
  90. 161
    115
      phsource/ph_german
  91. 31
    33
      phsource/ph_greek
  92. 20
    20
      phsource/ph_greek_ancient
  93. 182
    286
      phsource/ph_hindi
  94. 76
    101
      phsource/ph_hungarian
  95. 94
    108
      phsource/ph_icelandic
  96. 33
    40
      phsource/ph_indonesian
  97. 42
    38
      phsource/ph_italian
  98. 108
    45
      phsource/ph_kinyarwanda
  99. 0
    129
      phsource/ph_korean
  100. 0
    0
      phsource/ph_kurdish

+ 28
- 78
dictsource/dict_phonemes View File

@@ -15,18 +15,20 @@ n N p r s S t T
tS v w x x2 z Z


Dictionary bn_dict
Dictionary ne_dict

& a a: a~ e E e~ i
I i: i:~ i~ l- o O o:
O~ o~ r- U u u: u:~ u~
V
@ @/ @2 @3 a aI aU a~
e E eI eU e~ E~ i I
i~ l- o O o: oI oU O~
o~ r- u uI u~ V VI VU
V~

* b B bh c C ch d
d. dh dh. g gh h j J
Jh k kh l m n N n.
n^ p ph Q r r. s S
s. t t. th th. tS x z
- : b bh c ch d d.
dh f g gh h H j J
Jh k kh l l. m n N
n. n^ p ph Q q r r.
s S s. t T t. th v
w x z z.


Dictionary ca_dict
@@ -141,18 +143,6 @@ N n^ p Q R R2 s t
T tS v v# w x z


Dictionary eu_dict

a aI aU e eI eU i o
oI u Y

* ** : ; b B c d
D f g h j J k l
l^ m n n^ p Q r R
s S t tS ts tz v w
x z


Dictionary fi_dict

& &i &y a a2 ai au e
@@ -222,9 +212,9 @@ A a: E e: i i: o o:
u u: Y y y: Y:

- : b c d dZ f g
h j J k l m n n^
p r R R2 s S s2 t
tS ts v z Z
h j J k l m n N
n^ p r R R2 s S s2
t tS ts v z Z


Dictionary hy_dict
@@ -283,20 +273,6 @@ k l m n N p R s
S t tS v w x z Z


Dictionary kn_dict

a a: aI aU e E e: i
I i: o o: r- u u: V
y

: b bh c ch d d. dh
dh. dZ f g gh h j J
Jh k kh l l. m n N
n. n^ p ph r R R2 s
S s. S; t t. th th. tS
v w z


Dictionary ku_dict

8 a e E E# eI eU i
@@ -357,31 +333,6 @@ S; t t. th th. tS v w
z z.


Dictionary mn_dict

a e i o O o: U u

: ; c f g j k L
m n p p# R s S t
t# tS ts ts# w x


Dictionary ne_dict

@ @/ @2 @3 a aI aU a~
e E eI eU e~ E~ i I
i~ l- o O o: oI oU O~
o~ r- u uI u~ V VI VU
V~

- : b bh c ch d d.
dh f g gh h H j J
Jh k kh l l. m n N
n. n^ p ph Q q r r.
s S s. t T t. th v
w x z z.


Dictionary nl_dict

8 @ @- A a: E e: EI
@@ -421,7 +372,7 @@ Dictionary pa_dict

@ a a~ e E e~ E~ i
I i~ I~ o O O~ o~ r-
U u u~ U~ V V~
U u U~ u~ V V~

: ; b bh c ch d d.
dh dh. f g gh h H j
@@ -437,10 +388,10 @@ a E E# E~ i O O~ u
y

: ; b c C d d; dZ
dz dz; f g h j k l
m n N n^ p r R s
S s; S; t t; tS ts ts;
tS; v w x z Z Z;
dz f g h j k l m
n N n^ p r R s S
s; S; t t; tS ts tS; v
w x z Z Z;


Dictionary prs_dict
@@ -483,7 +434,7 @@ z; Z;

Dictionary ru_dict

8 @- A a E e E# E2
8 @- a A e E E# E2
E3 i I I# I2 I3 I^ ja
ju o O u u" u# V V#
y Y
@@ -491,8 +442,8 @@ y Y
* ; b d d; dZ; f g
j k l l^ m m; n n^
p r R s S s; S; t
t; ts ts; tS; v x z Z
z; Z;
t; ts tS; v x z Z z;
Z;


Dictionary rw_dict
@@ -585,7 +536,7 @@ u@ uI y y@ yI

b c d D f g h j
J k kh l m n N n^
p Q r s s. t t[ ts;
p Q r s s. s; t t[
tS; v w x z Z z.


@@ -596,11 +547,10 @@ i i. i[ iA iE io iou N-
o o- ong ou u u@ ua uai
uei uo y y& y@ yE yi yu

(u) ; C f h j k kh
l L m n N p ph q
r s s. S; t th ts ts.
ts. tS; tS; tsh v w x X
z.
; f h j k kh l l.
l^ m n N p ph r s
s. S; t th ts ts. ts. tS;
tS; tsh v w x z.


Dictionary zhy_dict

+ 8
- 0
dictsource/hu_list View File

@@ -146,6 +146,7 @@ _0-áig a:ig $alt2
(0-ra) nul:a:R2A
(0-nál) nul:a:na:l
(0-hoz) nul:a:hoz
(0-s) nul:a:S

// entries with a single digit such as (2-i) also apply to 22, 32, etc, unless $only

@@ -184,6 +185,8 @@ _0-áig a:ig $alt2
(3-ashoz) ha:R2mAShoz
(3-at) ha:R2mAt
(3-al) ha:R2om:Al
(3-asok) ha:R2mASok
(3-asoknak) ha:R2mASoknAk

//4 number suffixes
(4-el) ne:J:El //Nneed J: phoneme, not J phoneme contains one suffix)
@@ -209,6 +212,10 @@ _0-áig a:ig $alt2
(7-től) he:t:Y:l
(7-től) hEtEdike:tY:l $alt2
(7-essel) hEtES:El
(7-esen) hEtESEN
(7-eseknek) hEtESEknEk
(7-et) hEtEt
(7-em) hEtEm
(10-es) tizES // use [i] not [i:]
(10-est) tizESt
(10-essel) tizES:El
@@ -310,6 +317,7 @@ GYESEV JESEv $allcaps
HÉV he:v $allcaps
IPTV $abbrev $allcaps
GDP dZi:di:pi: $allcaps
?2 GDP $abbrev $allcaps
HSDPA $abbrev $allcaps
ORTT $abbrev $allcaps
ORFK oEREfka: $abbrev $allcaps

+ 30
- 27
dictsource/hu_rules View File

@@ -16,6 +16,7 @@
000_-) al (_ Al // ... but not 1000-al
_) alattvaló AlAtvAlo:
ahhoz Ahoz
?!2 auschwitz AuSvits

.group á
á a:
@@ -149,6 +150,7 @@ hierar) ch (i h
nyála) d (z d
ren) dsz (erint d|s
szaba) d (szájú d
menetren) dsz (erű d|s

.group dz
fogó) dz (kod ts
@@ -265,10 +267,9 @@ _minde) gy (ik J:
na) gysz (a Js
na) gy (sokára J
na) gy (siet J
ú) gy (se J
ú) gys (e J|S
seho) gy (se J
ho) gy (se J
ú) gy (se J
na) gy (ság J
he) gy (ség J
e) gy (ség J
@@ -278,6 +279,8 @@ _minde) gy (ik J:
e) gy (sor J
né) gy (sor J
e) gy (es-egyedül J //need one J phoneme with this word, not J: phoneme
ú) gy (sem J
né) gy (sarok J

.group h
h h
@@ -330,7 +333,6 @@ _minde) gy (ik J:
fe) l (jegy l
fe) l (jelen l
fe) l (jár l
e) l (jö l

lj l^j
cé) l (já jj
@@ -340,7 +342,7 @@ _minde) gy (ik J:
A) lj (A l^j
e) l (jut l
e) l (jus l
_e) lj (ö lj
á) ll (j j
beszé) lj jj
bére) lj jj
@@ -420,6 +422,10 @@ tulajdo) n (jog n
elle) n (játék n
elle) n (javallt n
fé) ny (jel n^
i) nj (ekció n^
elle) n (jegy n
fe) nn (tartás n
fe) nn (sík n

.group o
o o
@@ -486,6 +492,8 @@ danubiu) s s //a radio station name
juventu) s s //a radio station name
va) s (s S
óriá) s S
látá) s (zavar S
hallá) s (zavar S



@@ -647,7 +655,7 @@ motoro) ssz (emüveg Ss
bőgé) ssz (erű Ss
kavará) ssz (erű Ss
_sa) ssz (eg Ss
ké) ssz (úrás Ss

.group sz
sz s
@@ -745,7 +753,7 @@ vörösmar) ty ti
á) t (cikáz t
á) t (caplat t
á) t (sza t
á) t (jár t
á) tj (ár t|j
á) t (szö t
á) t (sző t
á) t (szú t
@@ -772,7 +780,6 @@ folyama) t (jel t
szé) t t
szé) tt t:
á) t (sor t
á) t (sé t
á) t (sze t
á) t (sug t
á) t (suh t
@@ -817,6 +824,7 @@ fejeze) t (jel t
ké) t (jegyű t
krike) tt (játék t:
mene) t (jegy t
mene) t (jeggy t
szüne) t (jel t
ú) t (jelző t
ú) t (jog t
@@ -826,6 +834,10 @@ folyama) t (sáv t
ada) t (szolgáltat t
_ú) t (sáv t
négyze) t (centi t
á) tj (öt t|j
á) tj (ön t|j
á) t (süvít t
bará) tj (ára c:

.group ts
ts (_S2 tS //general rule with word end of ts letters
@@ -895,6 +907,8 @@ indula) tsz (ó t|s
dró) tsz (őr t|s
lá) tsz (erész t|s
skó) tsz (okny t|s
söté) tsz (őke t|s
á) ts (é t|S

.group u
u u
@@ -944,7 +958,6 @@ indula) tsz (ó t|s
befeje) z (te s
bi) z (tons s
bi) z (tos s
bron) z (sz z
csontvá) z z
e) z (t s
ho) z (ta s
@@ -956,37 +969,31 @@ csontvá) z z
lefeje) z (te s
lefeje) z (ték s
pén) z (tár s
ré) z (sz z
ré) z (serpenyő z
tartó) z s
gá) z (sz z
gá) z (cső z
gé) z (sz z

ké) z (sz zz
há) z (so z
há) z (sz z
lá) z (sz z
má) zc (sz z
mé) zc (sz z
nehé) z (sé S
nehé) z (súlyú z
iga) zs (ág SS
iga) z (szí z
ga) zs (ág SS
pén) z z
szá) z (sz z
tí) z (sz z
tű) z (sz z
ví) z (sz z
tor) z (szülött z
tor) z (ság z
_vité) z z
_ví) z (s z

ga) zs (ág zS
_gá) zsz (ámla zs:
_gá) zsz (ámlá zs:
_gá) zsz (ámla zs
_gá) zsz (ámlá zs
_ré) zs (ó zS
ő) zs (uta zS
_vá) zs (or zS
@@ -1004,15 +1011,14 @@ _szára) zs (ág SS
ké) z (zsibbadás z
ké) z (sérül z
szű) z (sült z
házho) z (szállít z
gő) z (sugár z
találko) z (t s
eszkö) z (sor z
gő) z (síp z
matró) z (sapka z
nehé) z (súly z
raj) z (szeg z
raj) z (szög z
zsz z|s //general exception. Need difference first z and second sz phoneme. For example, rajzszög, rajzszeg, mézszín words.
pén) z (t s
rende) z (ked s
kocká) z (tat s
@@ -1022,11 +1028,8 @@ különbö) z (tet s
válto) z (tass s
tájéko) z (tat s
tájéko) z (tass s
mé) z (szín z
bi) z (tat s
rá) z (kód s
raj) z (szak z
hiú) z (szem z


.group

+ 12
- 1
dictsource/ta_list View File

@@ -179,7 +179,6 @@ tamil தமிழ் $text
பானம் $alt
பாணம் $alt
பாறம் $alt
பாரதி $alt
பாரதம் $alt
பரதம் $alt
பாப $alt
@@ -206,7 +205,11 @@ tamil தமிழ் $text
போனஸ் $alt
போகி $alt
பாலா $alt
பூத $alt
பாபா ba:ba:
பாக்கி $alt
பலி $alt
போதி $alt


// initial த as [d]
@@ -230,6 +233,12 @@ tamil தமிழ் $text
தனம் $alt
திக்கற்ற $alt
தானு $alt
திட $alt


// initial ச as [tS]
சீ tSi:
சே tSe:


கக $alt // initial க as [g]
@@ -250,6 +259,8 @@ tamil தமிழ் $text
கோபி $alt
கச்சாமி $alt
குரு $alt
கோர $alt


பப pVpV
தீப் di:p

+ 126
- 29
dictsource/ta_rules View File

@@ -46,11 +46,14 @@
L01) க kV
L01) க (B k
க (ிரு k
க (ூட k

க (ீத g
க (ஜ gV

_) க (ௌ g
_) க (ௌட்டில்ய k
_) கௌட (ில்ய kaUt.
_) க (ம்பீர gV
_) க (ந்தர்வ gV
_) க (ோவிந்த g
@@ -96,6 +99,26 @@
_) க (ுருவாய g
_) க (ும்மிடிப்பூண் g
_) க (ுஜராத g
_) க (ிரிதர g
_) க (ிரிஜா g
_) க (ோரம g
_) க (ோரப g
_) க (ோரக g
_) க (ோரத g
_) க (ர்ப gV
_) க (ோவா g
_) க (ாண்டீப g
_) க (ர்வ gV
_) க (ுருவா g

_கல்) க (ி k
_கல்) க (ண்ட kV
_கல்) க (த்தா kV
கொல்) க (த்தா kV
கோயில்) க (ாளை k
_) குல்க (ந்த gulkV
_ராஜ) க (ும k
_ராஜ) க (ுல k


.group ங
@@ -119,6 +142,7 @@
ச் (_ tS
ச்_) ச tSV // previous word ends in ச்
ச்_) ச (B tS
_) ச (ெண்ட tS

_) ச (ிட் tS
_) ச (ின் tS
@@ -130,11 +154,21 @@
_) ச (க்கரவர்த்தி tSV
_) ச (ென்னை tS
_) ச (ீன tS
_) ச (ீனிவா s
_) ச (ித்தப்ப tS
_) ச (ிதம்பர tS
_) ச (ித்ரா tS
_) ச (ெல்லம tS
_) ச (துர் tSV
வி) ச (ித்திர tS

_) சிரு (ஷ்டி sri
ச (ாந்தி s.
ச (ண்மு s.V
சங்க (ர s.VNkV
ச (ண்பக s.V
ச (ெண்பக s.


.group ஜ
ஜ dZV
@@ -158,7 +192,7 @@
_) ட (ோக்கியோ t.
ிங்) ட (ன் t.V // -ington
_) ட (ாக்க t. // talkies
_) டிராக்ட (ர t.ira:gt.V

.group ண
ண n.V
@@ -210,7 +244,10 @@
_) த (ூப d
_) த (ீப d
_) த (ைரிய d
_) த (ிட d
_) த (ிடீர d
_) த (ிடப d
_) த (ிடம d
_) த (ிடும d
_) த (ிரவ d
_) த (ிடீ d
_) த (ிவச d
@@ -263,7 +300,6 @@
_) த (ேவாம்ச d
_) த (ிவ்ய d
_) த (ிண்டிவன d
_) த (ுறை d
_) த (ிண்டுக்கல d
_) த (மயந்தி dV
_) த (ுரோண d
@@ -272,7 +308,14 @@
_) த (ிரௌபதி d
_) த (கன dV
_) த (ானுவ d

_) த (னுஷ dV
_) த (ிடுக் d
_) த (டவை dV
_) த (ேவேந் d
_) த (ரிசி dV
_) த (ுரை d
_) த (ேவ d
_) த (ூசி d

யு) த்த ddV
யு) த்த(B dd
@@ -299,8 +342,11 @@ _கோம) த (ி t

_) திரு (ஷ்டி dri
_) திரு (திரா dri
_) துர (ோண tr
_) திர (ௌபதி tr
_) து (ரோண t
_) தி (ரௌபதி t
_) து(ரோக d
_) தி (யாக t



.group ந
@@ -328,8 +374,6 @@ _கோம) த (ி t
ற்) ப (B p
று) ப _pV
று) ப(B _p
ன்) ப pV
ன்) ப (B p

ம) ப pV
ம) ப (ா p
@@ -367,7 +411,7 @@ _கோம) த (ி t
_) ப (ூதேவி b
_) ப (ம்பாய bV
_) ப (ாதுஷா b
_) ப (க்த bV
_) பக் (த bVk
_) ப (லம bV
_) ப (லவான bV
_) ப (ிராமண b
@@ -377,9 +421,9 @@ _கோம) த (ி t
_) ப (ூமி b
_) ப (ூலோக b
_) ப (ூகோல b
_) ப (ூத b
_) ப (ூதம b
_) ப (ூதங் b
_) ப (ுதன b
_) ப (லி bV
_) ப (கவான bV
_) ப (ௌதிக b
_) ப (ரோட bV
@@ -396,9 +440,11 @@ _கோம) த (ி t
_) ப (ெங்களூர b
_) ப (ூபாள b
_) புத்த(K buddV
_) புத்த (ம்_புது puttV
_) புத்த (ம்_புதிய puttV
_) புத்த (க puttV
_) புத் (தJ_புத+ put
_) ப (னியன bV
கோ) ப (ி p
_) ப (ாலச b
_) ப (ாலக b
_) ப (ாலமு b
@@ -408,7 +454,7 @@ _கோம) த (ி t
_) ப (ிரகதீ b
_) ப (ொம்மை b
_) ப (ொம்மல b
_) ப (ாக்கி b
_) ப (ாக்கி b
_) ப (ஸ bV
_) ப (ாஷை b
_) ப (ிரம்மை b
@@ -421,28 +467,79 @@ _கோம) த (ி t
_) ப (ாலாஜி b
_) ப (ேட்டரி b
_) ப (ோதை b
_) ப (ோதி b
_) ப (ிக்கு b
_) ப (ீரங்கி b
_) ப (ூதத் b
_) ப (ந்தம bV
_) ப (ந்தங்கள bV
_) ப (ந்தத் bV
_) ப (வ்ய bV
_) ப (ுல்லாக்க b
_) ப (ாகம b
_) ப (ாகத b
_) ப (ாகங்க b
_) ப (ாசு b
_) ப (ாஸ்மதி b
_) ப (ாணி b
_) ப (லவீன bV
_) ப (லவந்த bV
_) ப (ாரதி b
_) ப (ாஸ்கர b
_) ப (யங்கர bV
_) ப (ர்மா bV
_) ப (யப் bV
_) ப (யந் bV
_) ப (யத் bV
_) ப (லிய bV
_) ப (ோதித் b
_) ப (ோதன b


_) பிர (ம்மன brV
_) பிர (ாமணன br
_) பிர (கஸ்பதி brV
_) பிர (கதீ brV
_) பிர (கலாதன prV
_) பிர (காஷ prV
_) பிர (காச prV
_) பிர (சாத prV
_) பிர (ே pr
கோ) ப (ி p
முரன்) ப (ாட p
சமன்) ப (ாட p
முன்) ப (கல pV
நன்) ப (கல pV
பின்) ப (கல pV

_) பி (ரம்மன b
_) பி (ராமணன b
_) பி (ரகஸ்பதி b
_) பி (ரகதீ b
_) பி (ரகலாதன p
_) பி (ரகாஷ p
_) பி (ரகாச p
_) பி (ரசாத p
_) பி (ரே p
_) பிரு (கன்நளை bri
_) பிர (சாந்தி prV
_) பிர (ம்மை brV
_) பிர (சன்ன prV
_) பிர (ச்சனை prV
_) பிர (ப prV
_) பிர (தீ prV
_) பி (சாந்தி p
_) பி (ம்மை b
_) பி (சன்ன p
_) பி (ச்சனை p
_) பி (ப p
_) பி (தீ p
_) பி (ரிட b
_) பிரு (ந்தா bri
_) பி (ரியா_ p
_) பி (ரியாவின p
_) பி (ரியாவு p
_) பி (ரியாவிடம p
_) பி (ரியாவை p
_) பி (ரலய p
_) பி (ராணன p
_) பி (ரியம p
_) பி (ரதம p
_) பி (ரமாத p
_) பி (ரயா p
_) பி (ராய p
_) பி (ரயோஜன p
_) பி (ரகார p
_) பி (ரார்தன p
_) பி (ராதித் p
_) பி (ரதேச p
_) பி (ரசித்தி p
_) பி (ரம்ம b


// musical notes
சா) ப (ா p

BIN
phsource/b/xb View File


+ 357
- 875
phsource/compile_report
File diff suppressed because it is too large
View File


BIN
phsource/d/d View File


BIN
phsource/d/d_ View File


BIN
phsource/d/dr View File


BIN
phsource/d/tap1 View File


BIN
phsource/d/tap3 View File


BIN
phsource/d/xd View File


BIN
phsource/dzh/dzh View File


BIN
phsource/dzh/dzh_ View File


BIN
phsource/dzh/xdz_pzd View File


BIN
phsource/dzh/xdzh View File


BIN
phsource/g/g View File


BIN
phsource/g/g_ View File


BIN
phsource/g/xg View File


BIN
phsource/j/_j View File


BIN
phsource/j/j@ View File


BIN
phsource/j/j_ View File


BIN
phsource/j/ja View File


BIN
phsource/j/je View File


BIN
phsource/j/ji View File


BIN
phsource/j/jo View File


BIN
phsource/j/ju View File


BIN
phsource/j/xj View File


BIN
phsource/j2/_j2 View File


BIN
phsource/j2/j2@ View File


BIN
phsource/j2/j2a View File


BIN
phsource/j2/j2e View File


BIN
phsource/j2/j2i View File


BIN
phsource/j2/j2o View File


BIN
phsource/j2/j2u View File


BIN
phsource/j2/xj2 View File


BIN
phsource/l/L1_@L View File


BIN
phsource/l/L1_aL View File


BIN
phsource/l/L1_eL View File


BIN
phsource/l/L1_iL View File


BIN
phsource/l/L1_oL View File


BIN
phsource/l/L1_uL View File


BIN
phsource/l/L2_@L View File


BIN
phsource/l/L2_aL View File


BIN
phsource/l/L2_eL View File


BIN
phsource/l/L2_iL View File


BIN
phsource/l/L2_oL View File


BIN
phsource/l/L2_uL View File


BIN
phsource/l/_l View File


BIN
phsource/l/l View File


BIN
phsource/l/l@ View File


BIN
phsource/l/l_ View File


BIN
phsource/l/la View File


BIN
phsource/l/le View File


BIN
phsource/l/li View File


BIN
phsource/l/lo View File


BIN
phsource/l/lu View File


BIN
phsource/l/xl View File


BIN
phsource/l^/_l^ View File


BIN
phsource/l^/j2@ View File


BIN
phsource/l^/j2a View File


BIN
phsource/l^/j2e View File


BIN
phsource/l^/j2i View File


BIN
phsource/l^/j2o View File


BIN
phsource/l^/j2u View File


BIN
phsource/l^/l^ View File


BIN
phsource/l^/l_rfx View File


+ 122
- 108
phsource/ph_afrikaans View File

@@ -2,7 +2,7 @@

//****************************************************************
//redefinition of the : phoneme
phoneme : // Lengthen previous vowel by "length"
phoneme : // lengthen previous vowel by "length"
virtual
length 140
endphoneme
@@ -12,245 +12,252 @@ endphoneme


phoneme @ // Schwa, but always unstressed
vowel starttype (@) endtype (@)
length 140
formants vwl_af/@
vowel starttype #@ endtype #@
unstressed
before r/ vwl_af/r@+50
length 140
IF nextPh(r/) THEN
FMT(vwl_af/r@, 50)
ENDIF
FMT(vwl_af/@)
endphoneme


phoneme a // short A
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 140
formants vowel/V_2
FMT(vowel/V_2)
endphoneme


phoneme E // short E
vowel starttype (i) endtype (e)
vowel starttype #e endtype #e
length 140
formants vowel/e_mid2
FMT(vowel/e_mid2)
endphoneme

phoneme I // short I, Schwa
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 140
formants vwl_af/I
before r/ vwl_af/r@+50
IF nextPh(r/) THEN
FMT(vwl_af/r@, 50)
ENDIF
FMT(vwl_af/I)
endphoneme


phoneme O // short O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 140
formants vowel/oo_3
FMT(vowel/oo_3)
endphoneme


phoneme W // short U
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 140
formants vowel/oe
FMT(vowel/oe)
endphoneme


phoneme u // short OE
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 110
formants vowel/uu_3
FMT(vowel/uu_3)
endphoneme


phoneme & // more open [E]
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 150
formants vowel/ee_3
before l/2 DFT-30+l/L_eL_af
IF nextPh(l/2) THEN
VowelEnding(l/L_eL_af, -30)
ENDIF
FMT(vowel/ee_3)
endphoneme


phoneme &: // more open [E] longer
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 280
formants vowel/ee_3
before l/2 DFT-30+l/L_eL_af
IF nextPh(l/2) THEN
VowelEnding(l/L_eL_af, -30)
ENDIF
FMT(vowel/ee_3)
endphoneme


phoneme @L // syllabic L
vowel starttype (@) endtype l
length 160
formants vwl_en/@L
vowel starttype #@ endtype l
unstressed
before _ vwl_en/@L
length 160
FMT(vwl_en/@L)
endphoneme



phoneme A: // long A
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 280
formants vowel/aa_3
FMT(vowel/aa_3)
endphoneme


phoneme e@ // long E
vowel starttype (i) endtype (@)
vowel starttype #i endtype #@
length 230
formants vdiph/i@_2
FMT(vdiph/i@_2)
endphoneme


phoneme i // long I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 100
formants vowel/i_3
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i_3)
endphoneme


phoneme o@ // long O
vowel starttype (u) endtype (@)
vowel starttype #u endtype #@
length 250
formants vdiph2/o@
FMT(vdiph2/o@)
endphoneme


phoneme y // long U
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 180
formants vowel/y_3
FMT(vowel/y_3)
endphoneme


phoneme iu
vowel starttype (i) endtype (u)
vowel starttype #i endtype #u
length 220
formants vdiph2/iu_3
FMT(vdiph2/iu_3)
endphoneme


phoneme @U
vowel starttype (@) endtype (u)
vowel starttype #@ endtype #u
length 170
formants vdiph/Vu
FMT(vdiph/Vu)
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 220
formants vdiph/ai_4
linkout ;
IfNextVowelAppend(;)
FMT(vdiph/ai_4)
endphoneme


phoneme AI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 310
formants vdiph/aai_2
linkout ;
IfNextVowelAppend(;)
FMT(vdiph/aai_2)
endphoneme


phoneme eI
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 170
formants vdiph/@i_2
linkout ;
IfNextVowelAppend(;)
FMT(vdiph/@i_2)
endphoneme


phoneme OI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 230
formants vdiph/ooi_2
linkout ;
IfNextVowelAppend(;)
FMT(vdiph/ooi_2)
endphoneme


phoneme oI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 290
formants vdiph/oi_2
linkout ;
IfNextVowelAppend(;)
FMT(vdiph/oi_2)
endphoneme


phoneme uI
vowel starttype (u) endtype (i)
vowel starttype #u endtype #i
length 240
formants vdiph/ui_2
linkout ;
IfNextVowelAppend(;)
FMT(vdiph/ui_2)
endphoneme


phoneme Yy
vowel starttype (@) endtype (i)
vowel starttype #@ endtype #i
length 220
formants vdiph/y#y_2
linkout ;
IfNextVowelAppend(;)
FMT(vdiph/y#y_2)
endphoneme


phoneme Y@
vowel starttype (i) endtype (@)
vowel starttype #i endtype #@
length 210
formants vdiph2/y#@
FMT(vdiph2/y#@)
endphoneme


phoneme aU
vowel starttype (a) endtype (u)
vowel starttype #a endtype #u
length 230
formants vdiph/au
FMT(vdiph/au)
endphoneme


// circumflex accent vowels

phoneme e:
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 210
formants vowel/e
FMT(vowel/e)
endphoneme


phoneme O:
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 280
formants vowel/oo_1
FMT(vowel/oo_1)
endphoneme


phoneme 3:
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 230
formants vowel/3_en
FMT(vowel/3_en)
endphoneme


// Nasal vowels

phoneme A~
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 240
formants vnasal/aa_n3
FMT(vnasal/aa_n3)
endphoneme


phoneme e~
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 240
formants vnasal/e_n
FMT(vnasal/e_n)
endphoneme


phoneme o~
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 240
formants vnasal/o_n2
FMT(vnasal/o_n2)
endphoneme


@@ -260,53 +267,60 @@ endphoneme

phoneme x2
vls vel frc
vowelin f1=0 f2=2300 200 400 f3=-100 100
vowelout f1=0 f2=2300 300 400 f3=-100 100 rms=20
length 100
Vowelin f1=0 f2=2300 200 400 f3=-100 100
Vowelout f1=0 f2=2300 300 400 f3=-100 100 rms=20
lengthmod 3
wave ufric/x2%60 // stronger version of [x]
WAV(ufric/x2, 60) // stronger version of [x]
endphoneme


phoneme r
liquid starttype #r endtype #r
length 60
vowelin f1=2 f2=2700 -300 -200 f3=-1300 80
vowelout f1=2 f2=1700 -300 -200 f3=-1300 80
formants r3/r_trill+r3/r_trill3.wav%100
before _ r3/r_trill+r3/r_trill3.wav%100
trill
liquid rhotic
trill
lengthmod 6
Vowelin f1=2 f2=2700 -300 -200 f3=-1300 80
Vowelout f1=2 f2=1700 -300 -200 f3=-1300 80

NextVowelStarts
VowelStart(r/r@, -15)
VowelStart(r/ra, -15)
VowelStart(r/re, -15)
VowelStart(r/ri, -15)
VowelStart(r/ro, -15)
VowelStart(r/ru, -15)
EndSwitch

IF prevPh(isVowel) THEN
VowelEnding(r/xr, -50)
ENDIF

FMT(r3/r_trill) addWav(r3/r_trill3.wav, 100)
endphoneme


phoneme r/ // used for [r] when not preceding a vowel
liquid
length 100
lengthmod 7 //
formants r3/r_+r3/rx
after @ NULL
after _ r/rr
after t r/trr p r/trr k r/trr
lengthmod 7
IF prevPh(@) OR prevPh(I) THEN
ELSE
FMT(r3/r_) addWav(r3/rx)
ENDIF
endphoneme


phoneme l
liquid
length 100
lengthmod 7
beforenotvowel l/2 // 'dark' [l]
formants l/l
after _ l/_l t l/tl
import_phoneme en/l
endphoneme

phoneme c

phoneme c // used in -tjie
vls pal stop palatal
vowelin f1=0 f2=2700 400 600 f3= 200 80
vowelout f1=0 f2=2700 400 600 f3= 200 80 rms=20
voicingswitch g
lengthmod 2
wave ustop/ki
switchvoicing g
Vowelin f1=0 f2=2700 400 600 f3= 200 80
Vowelout f1=0 f2=2700 400 600 f3= 200 80 rms=20
WAV(ustop/ki)
endphoneme



+ 165
- 144
phsource/ph_albanian View File

@@ -1,296 +1,317 @@


phoneme @ // Schwa
vowel starttype #@ endtype #@
length 150
vowel starttype (@) endtype (@)
formants vowel/@_2
// formants vowel/8_6
FMT(vowel/@_2)
endphoneme

phoneme @/ // Schwa at end of word (silent)
vowel starttype #@ endtype #@
length 100
vowel starttype (@) endtype (@)
formants vowel/@_2
FMT(vowel/@_2)
endphoneme

phoneme V
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 170
formants vowel/@_2
before h vowel/8_6
reduceto @ 3
ChangeIfUnstressed(@)
IF nextPh(h) THEN
FMT(vowel/8_6)
ENDIF
FMT(vowel/@_2)
endphoneme

phoneme I# // use for [V] after [n^]
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 170
formants vowel/ii
reduceto @ 3
ChangeIfUnstressed(@)
FMT(vowel/ii)
endphoneme


phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 170
formants vowel/a_3
reduceto a/ 0
IF thisPh(isDiminished) THEN
FMT(vowel/a#_3)
ENDIF
FMT(vowel/a_3)
endphoneme

phoneme a/
vowel starttype (a) endtype (a)

phoneme a/ // no longer needed
vowel starttype #a endtype #a
length 170
formants vowel/a#_3
FMT(vowel/a#_3)
endphoneme


phoneme A
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 170
formants vowel/aa_3
reduceto a/ 0 // but nor "ar_" ??
IF thisPh(isDiminished) THEN
FMT(vowel/a#_3) // but nor "ar_" ??
ENDIF
FMT(vowel/aa_3)
endphoneme


phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 170
formants vowel/ee_4
FMT(vowel/ee_4)
endphoneme

phoneme E#
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 170
formants vowel/ee#_2
FMT(vowel/ee#_2)
endphoneme

phoneme e
vowel starttype (e) endtype (e)
length 170
formants vowel/e
reduceto e# 3
endphoneme

phoneme e#
vowel starttype (@) endtype (@)
vowel starttype #e endtype #e
length 170
formants vowel/e_mid2
IF thisPh(isNotStressed) THEN
FMT(vowel/e_mid2) // e#
ENDIF
FMT(vowel/e)
endphoneme


phoneme i
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 140
formants vowel/i_7
before l/2 vowel/ii#-50+l/L2_iL
before l/3 vowel/ii_en-30+l/l_i
IF nextPh(l/2) THEN
VowelEnding(l/L2_iL, -50)
FMT(vowel/ii#)
ENDIF
IF nextPh(l/3) THEN
VowelEnding(l/l_i, -30)
FMT(vowel/ii_en)
ENDIF
FMT(vowel/i_7)
endphoneme

phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 140
formants vowel/ii_6
FMT(vowel/ii_6)
endphoneme

phoneme y
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 160
formants vowel/y
FMT(vowel/y)
endphoneme



phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 170
formants vowel/oo_5
// formants vowel/oo_4
reduceto O/ 3
endphoneme

phoneme O/
vowel starttype (o) endtype (o)
length 170
formants vowel/oo_1
IF thisPh(isNotStressed) THEN
FMT(vowel/oo_1)
ENDIF
FMT(vowel/oo_5)
endphoneme

phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 160
formants vowel/u_bck
FMT(vowel/u_bck)
endphoneme



phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 220
formants vdiph/aai
FMT(vdiph/aai)
endphoneme

phoneme eI
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 220
formants vdiph2/ei_4
FMT(vdiph2/ei_4)
endphoneme

phoneme OI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 220
formants vdiph/ooi_4
FMT(vdiph/ooi_4)
endphoneme

phoneme yE
vowel starttype (u) endtype (e)
vowel starttype #u endtype #e
length 240
formants vdiph2/ye
FMT(vdiph2/ye)
endphoneme


phoneme l/4 // used for [l] when not before a vowel
liquid
length 100
lengthmod 7
formants l/l_front_
// before (r) l/_l
beforevowel l
IF nextPh(isVowel) THEN
ChangePhoneme(l)
ENDIF
FMT(l/l_front_)
endphoneme



phoneme L
liquid endtype l^ starttype l^
length 100
liquid // endtype l^ starttype l^
lengthmod 7
beforenotvowel l/4
formants l/l_front // this is not being used??
// after _ l/_l
// after t l/tl
// after l/ l/l_long // double l, make it longer
IF nextPh(isNotVowel) THEN
ChangePhoneme(l/4)
ENDIF

NextVowelStarts
VowelStart(l^/j2@)
VowelStart(l^/j2a)
VowelStart(l^/j2e)
VowelStart(l^/j2i)
VowelStart(l^/j2o)
VowelStart(l^/j2u)
EndSwitch

IF prevPh(isPause) THEN
FMT(l^/_l^)
ENDIF
FMT(l/l_front) // this is not being used??
endphoneme


phoneme ll
liquid starttype 1 endtype l
length 100
liquid
lengthmod 7
beforenotvowel l/2 // use 'dark' [l] after a vowel
formants l/l_4
// after _ l/_l

IF nextPh(isNotVowel) THEN
ChangePhoneme(l/2) // use 'dark' [l] after a vowel
ENDIF

CALL vowelstart_l

IF prevPh(#@) THEN
VowelEnding(l/xl, -50)
ELIF prevPh(isVowel) THEN
VowelEnding(l/xl, -40)
ENDIF

FMT(l/l_4)
endphoneme


phoneme w
starttype w endtype w
liquid
length 100
beforenotvowel w/
lengthmod 7
formants w/w2
after _ w/w2
CALL base/w
FMT(w/w2)
endphoneme



phoneme p
vls blb stop
vowelin f1=0 f2=1000 -50 -100 f3=-200 80
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
voicingswitch b
lengthmod 2
wave ustop/p_unasp%120
before _ ustop/p_unasp_%80
before l ustop/pl
switchvoicing b
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30

IF nextPh(isPause2) THEN
WAV(ustop/p_unasp_, 80)
ELIF nextPh(l) THEN
WAV(ustop/pl)
ENDIF
WAV(ustop/p_unasp, 120)
endphoneme


phoneme d
vcd alv stop
vowelin f1=2 f2=1700 -300 300 f3=-200 80 amp=16
vowelout f1=2 f2=1700 -300 300 f3=-100 80
formants d/d+x/d%50
before _ d/d_+x/d_
before r d/dr+x/d%50
after _ NULL
after @ d/xd
voicingswitch t
lengthmod 5
switchvoicing t
endphoneme
Vowelin f1=2 f2=1700 -300 300 f3=-200 80 amp=16
Vowelout f1=2 f2=1700 -300 300 f3=-100 80

IF PreVoicing THEN
FMT(d/xd)
ENDIF

phoneme t
vls dnt stop
vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16
vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_hi%70
before _ ustop/t_dnt%35
switchvoicing d
IF nextPh(isPause2) THEN
FMT(d/d_) addWav(x/d_)
ELIF nextPh(r) THEN
FMT(d/dr) addWav(x/d, 50)
ENDIF

FMT(d/d) addWav(x/d, 50)
endphoneme


phoneme t
import_phoneme base/t[
voicingswitch d
endphoneme


phoneme ts
vls alv afr sibilant
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/ts
before _ ustop/ts_
import_phoneme consonants/ts
voicingswitch dz
endphoneme


phoneme dz
vcd alv afr sibilant
vowelin f1=1 f2=1700 -300 300 f3=-100 80 len=50
vowelout f1=2 f2=1700 -300 300 f3=-100 80
formants d/xdz+ustop/ts%140
before _ voc/z_+ustop/ts_%70
after _ NULL
after @ d/xd
lengthmod 5
switchvoicing ts
import_phoneme consonants/dz
voicingswitch ts
endphoneme



phoneme z
vcd alv frc sibilant
vowelout f1=0 f2=1700 -300 300 f3=0 60 len=50
formants voc/z+ufric/s
before _ voc/z_+ufric/s_
voicingswitch s
lengthmod 6
switchvoicing s
Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50

IF nextPh(isPause2) THEN
FMT(voc/z_) addWav(ufric/s_)
ENDIF
FMT(voc/z) addWav(ufric/s) // louder frictive
endphoneme


phoneme dZ;
vcd pla afr sibilant palatal
vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
formants dzh/dzh+ustop/ts_pzd%150
before _ dzh/dzh_+ustop/ts_pzd
after _ NULL
after @ dzh/xdzh
voicingswitch tS;
lengthmod 5
switchvoicing tS;
Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70

IF PreVoicing THEN
FMT(dzh/xdzh)
ENDIF

IF nextPh(isPause2) THEN
FMT(dzh/dzh_) addWav(ustop/ts_pzd)
ENDIF
FMT(dzh/dzh) addWav(ustop/ts_pzd, 150)
endphoneme


phoneme c // This is [tS;]
vls pal afr sibilant palatal
vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
lengthmod 2
wave ustop/ts_pzd
before _ ustop/ts_pzd
switchvoicing dZ;
import_phoneme base/tS;
voicingswitch dZ;
endphoneme


phoneme k
vls vel stop
vowelin f1=0 f2=2300 200 400 f3=-100 80
vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
voicingswitch g
lengthmod 2
wave ustop/k_unasp
before _ ustop/k_
switchvoicing g
Vowelin f1=0 f2=2300 200 400 f3=-100 80
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20

IF nextPh(isPause2) THEN
WAV(ustop/k_)
ENDIF
WAV(ustop/k_unasp)
endphoneme


+ 57
- 97
phsource/ph_armenian View File

@@ -1,185 +1,145 @@


phoneme @
vowel starttype (@) endtype (@)
length 160
formants vowel/@
vowel starttype #@ endtype #@
unstressed
length 160
FMT(vowel/@)
endphoneme


phoneme i
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 160
formants vowel/i
FMT(vowel/i)
endphoneme


phoneme y
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 160
formants vowel/yy_4
FMT(vowel/yy_4)
endphoneme


phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 180
formants vowel/e_mid
FMT(vowel/e_mid)
endphoneme


phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 200
formants vowel/aa
FMT(vowel/aa)
endphoneme


phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 180
formants vowel/o
FMT(vowel/o)
endphoneme


phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 180
formants vowel/u_bck
FMT(vowel/u_bck)
endphoneme


phoneme W
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 180
formants vowel/oe
FMT(vowel/oe)
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 240
formants vdiph/ai
FMT(vdiph/ai)
endphoneme


phoneme eI
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 240
formants vdiph/eei
FMT(vdiph/eei)
endphoneme


phoneme i@
vowel starttype (i) endtype (@)
vowel starttype #i endtype #@
length 240
formants vdiph2/i@
FMT(vdiph2/i@)
endphoneme



phoneme p# // more aspiration
vls blb stop
vowelin f1=0 f2=1000 -50 -100 f3=-200 80
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
lengthmod 2
wave ustop/p_asp
before _ ustop/p_
before r ustop/pr
before l ustop/pl
switchvoicing b
voicingswitch b
CALL base/p
WAV(ustop/p_asp)
endphoneme


phoneme t#
import_phoneme t base
import_phoneme base/t
endphoneme


phoneme ts#
vls alv afr sibilant
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/ts
before _ ustop/ts_
import_phoneme consonants/ts
endphoneme


phoneme k#
import_phoneme k base
import_phoneme base/k
length 80
endphoneme


phoneme dz
vcd alv afr sibilant
vowelin f1=1 f2=1700 -300 300 f3=-100 80 len=50
vowelout f1=2 f2=1700 -300 300 f3=-100 80
formants d/xdz+ustop/ts%140
before _ voc/z_+ustop/ts_%70
after _ NULL
after @ d/xd
lengthmod 5
switchvoicing ts
import_phoneme consonants/dz
voicingswitch ts
endphoneme



phoneme p
vls blb stop
vowelin f1=1 f2=1000 -50 -100 f3=-200 80
vowelout f1=1 f2=1000 -500 -350 f3=-300 80 rms=30
lengthmod 2
wave ustop/p_unasp
before _ ustop/p_unasp_%80
before r ustop/pr
before l ustop/pl
switchvoicing b
import_phoneme consonants/p-
endphoneme


phoneme t
vls dnt stop
vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16
vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_hi%60
before _ ustop/t_dnt%35
switchvoicing d
import_phoneme base/t[
endphoneme


phoneme ts
vls alv afr sibilant
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/ts2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
WAV(ustop/ts2)
endphoneme


phoneme c
vls pal afr sibilant
vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1
lengthmod 2
wave ustop/ts_pzd2%90
before _ ustop/ts_pzd_
switchvoicing J
import_phoneme consonants/c2
endphoneme


phoneme k
vls vel stop
vowelin f1=0 f2=2300 200 300 f3=-150 80
vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
lengthmod 2
wave ustop/k_unasp%60 // weaker
before _ ustop/k_unasp%50
switchvoicing g
import_phoneme consonants/k-
endphoneme



phoneme Q
import_phoneme Q" base
import_phoneme base/Q"
endphoneme


phoneme Q2
liquid starttype (r) endtype (r)
vowelin f1=0 f2=1600 -300 300 f3=-200 80
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk
length 100
lengthmod 7
// beforenotvowel r/2
formants vwl_fr/@R3+r3/rx%30
after @ vwl_fr/@R5+r3/rx%40
after (u) vwl_fr/@R5+r3/rx%30
after (e) vwl_fr/@R4+r3/rx%20
endphoneme


+ 96
- 83
phsource/ph_base2 View File

@@ -6,138 +6,140 @@


phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 180
formants vowel/a_2
reduceto a/ 4
IF thisPh(isDiminished) THEN
ChangePhoneme(a/)
FMT(vowel/a#)
ENDIF
FMT(vowel/a_2)
endphoneme


phoneme a/
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 180
formants vowel/a#
FMT(vowel/a#)
endphoneme


phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 170
formants vowel/e
FMT(vowel/e)
endphoneme


phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 170
formants vowel/ee_1
FMT(vowel/ee_1)
endphoneme


phoneme i
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 150
formants vowel/i
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i)
endphoneme


phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 170
formants vowel/o
FMT(vowel/o)
endphoneme


phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 170
formants vowel/oo_4
FMT(vowel/oo_4)
endphoneme


phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 160
formants vowel/u_bck
FMT(vowel/u_bck)
endphoneme


phoneme U
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 160
formants vowel/uu_2
FMT(vowel/uu_2)
endphoneme


phoneme y
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 160
formants vowel/y
FMT(vowel/y)
endphoneme


phoneme Y
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 160
formants vowel/y#
FMT(vowel/y#)
endphoneme



phoneme aU
vowel starttype (a) endtype (u)
vowel starttype #a endtype #u
length 270
formants vdiph/au_4
FMT(vdiph/au_4)
endphoneme


phoneme eU
vowel starttype (e) endtype (u)
vowel starttype #e endtype #u
length 260
formants vdiph/eu
FMT(vdiph/eu)
endphoneme


phoneme iU
vowel starttype (i) endtype (u)
vowel starttype #i endtype #u
length 240
formants vdiph2/iu
FMT(vdiph2/iu)
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 250
formants vdiph/ai
FMT(vdiph/ai)
endphoneme


phoneme eI
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 250
formants vdiph/ei
FMT(vdiph/ei)
endphoneme


phoneme EI
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 230
formants vdiph/eei
FMT(vdiph/eei)
endphoneme


phoneme oI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 240
formants vdiph/oi
FMT(vdiph/oi)
endphoneme


phoneme uI
vowel starttype (u) endtype (i)
vowel starttype #u endtype #i
length 240
formants vdiph/ui
FMT(vdiph/ui)
endphoneme


@@ -146,79 +148,90 @@ endphoneme
//===========



phoneme w2
starttype w endtype w
liquid
length 100
beforenotvowel w/
lengthmod 7
formants w/w2
after _ w/w2

CALL base/w
IF nextPh(isVowel) THEN
FMT(w/w2) // longer [w]
ENDIF
endphoneme


phoneme p
vls blb stop
vowelin f1=0 f2=1000 -50 -100 f3=-200 80
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
lengthmod 2
wave ustop/p_unasp
before _ ustop/p_unasp_%80
before r ustop/pr
before l ustop/pl
switchvoicing b
voicingswitch b
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
IF nextPh(isPause2) THEN
WAV(ustop/p_unasp_, 80)
ELIF nextPh(isRhotic) THEN
WAV(ustop/pr)
ELIF nextPh(l) THEN
WAV(ustop/pl)
ENDIF
WAV(ustop/p_unasp)
endphoneme

phoneme ts
vls alv afr sibilant
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/ts
before _ ustop/ts_
import_phoneme consonants/ts
endphoneme


phoneme t // dental variant of /t/
vls dnt stop
vowelin f1=0 f2=1600 -300 300 f3=-100 80
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
lengthmod 2
// wave ustop/t_dnt%50
// before _ ustop/t_dnt%35
wave ustop/t_dnt2%60
before _ ustop/t_dnt%30
switchvoicing d
voicingswitch d
Vowelin f1=0 f2=1600 -300 300 f3=-100 80
Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/t_dnt, 30)
ENDIF
WAV(ustop/t_dnt2, 60)
endphoneme


phoneme d // dental variant of /d/
vcd dnt stop
vowelin f1=2 f2=1500 -300 300 f3=-150 80
vowelout f1=2 f2=1500 -300 300 f3=-150 80
formants d/d+x/d_dnt%110
before _ d/d_+x/d_
before r d/dr+x/d_dnt%110
after _ NULL
after @ d/xd
lengthmod 5
switchvoicing t
voicingswitch t
Vowelin f1=2 f2=1500 -300 300 f3=-150 80
Vowelout f1=2 f2=1500 -300 300 f3=-150 80

IF PreVoicing THEN
FMT(d/xd)
ENDIF

IF nextPh(isPause2) THEN
FMT(d/d_) addWav(x/d_)
ELIF nextPh(isRhotic) THEN
FMT(d/dr) addWav(x/d_dnt, 110)
ENDIF

FMT(d/d) addWav(x/d_dnt, 110)
endphoneme



phoneme k
vls vel stop
vowelin f1=0 f2=2300 200 400 f3=-100 80
vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
lengthmod 2
wave ustop/k_unasp%70 // weaker
before _ ustop/k_
before r ustop/kr
before l ustop/kl
before (i) ustop/ki
switchvoicing g
voicingswitch g
Vowelin f1=0 f2=2300 200 400 f3=-100 80
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20

IF nextPh(isPause2) THEN
WAV(ustop/k_)
ELIF nextPh(isRhotic) THEN
WAV(ustop/kr)
ELIF nextPh(#i) OR nextPh(;) THEN
WAV(ustop/ki)
ELIF nextPh(l) THEN
WAV(ustop/kl)
ENDIF
WAV(ustop/k_unasp, 70)
endphoneme



+ 27
- 32
phsource/ph_catalan View File

@@ -4,76 +4,71 @@
//====================================================

phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 180
formants vowel/a_6
reduceto a# 2
ChangeIfUnstressed(a#)
FMT(vowel/a_6)
endphoneme

phoneme a#
vowel starttype (@) endtype (@)
length 170
formants vowel/a#_3
vowel starttype #@ endtype #@
unstressed
length 170
FMT(vowel/a#_3)
endphoneme

phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 170
formants vowel/e
reduceto @ 2
ChangeIfUnstressed(@)
FMT(vowel/e)
endphoneme

phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 180
formants vowel/e_mid
reduceto @ 2
ChangeIfUnstressed(@)
FMT(vowel/e_mid)
endphoneme

phoneme E2 // don't reduce
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 180
formants vowel/e_mid
FMT(vowel/e_mid)
endphoneme

phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 170
formants vowel/oo
reduceto U 2
ChangeIfUnstressed(U)
FMT(vowel/oo)
endphoneme

phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 170
formants vowel/o
reduceto U 2
ChangeIfUnstressed(U)
FMT(vowel/o)
endphoneme

phoneme U
vowel starttype (u) endtype (u)
length 160
formants vowel/uu_2
vowel starttype #u endtype #u
unstressed
length 160
FMT(vowel/uu_2)
endphoneme

phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 160
formants vowel/u_bck
reduceto U 2
ChangeIfUnstressed(U)
FMT(vowel/u_bck)
endphoneme



phoneme l
liquid
length 100
lengthmod 7
beforenotvowel l/2 // use 'dark' [l] after a vowel
formants l/l
after _ l/_l t l/tl
import_phoneme en/l // use 'dark' [l] after a vowel
endphoneme



+ 125
- 0
phsource/ph_consonants View File

@@ -0,0 +1,125 @@

// Extra consonants. Use (for example):
// import_phoneme consonants/ts

phoneme ts
vls alv afr sibilant
voicingswitch dz
lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/ts_)
ENDIF
WAV(ustop/ts)
endphoneme


phoneme dz
vcd alv afr sibilant
voicingswitch ts
lengthmod 5
Vowelin f1=1 f2=1700 -300 300 f3=-100 80 len=50
Vowelout f1=2 f2=1700 -300 300 f3=-100 80

IF PreVoicing THEN
FMT(d/xd)
ENDIF

IF nextPh(isPause2) THEN
FMT(voc/z_) addWav(ustop/ts_, 60)
ENDIF
FMT(d/xdz) addWav(ustop/ts, 140)
endphoneme


phoneme p- // unaspirated
vls blb stop
lengthmod 2
voicingswitch b
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
IF nextPh(l) THEN
WAV(ustop/pl)
ELIF nextPh(r) THEN
WAV(ustop/pr)
ELIF nextPh(isPause2) THEN
WAV(ustop/p_unasp_, 80)
ENDIF
WAV(ustop/p_unasp)
endphoneme


phoneme ph // aspirated
vls blb stop
lengthmod 2
voicingswitch b
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
IF nextPh(isPause2) THEN
WAV(ustop/p_)
ENDIF
IF nextPh(r) THEN
WAV(ustop/pr)
ENDIF
IF nextPh(l) THEN
WAV(ustop/pl)
ENDIF
WAV(ustop/p_asp)
endphoneme


phoneme c2
vls pal afr sibilant
lengthmod 2
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
Vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1
IF nextPh(isPause2) THEN
WAV(ustop/ts_pzd_)
ENDIF
WAV(ustop/ts_pzd2, 90)
endphoneme



phoneme k- // unaspirated
vls vel stop
lengthmod 2
voicingswitch g
Vowelin f1=0 f2=2300 200 300 f3=-150 80
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/k_unasp, 50)
ENDIF
WAV(ustop/k_unasp, 60) // weaker
endphoneme


phoneme kh
vls vel stop
lengthmod 2
voicingswitch g
Vowelin f1=0 f2=2300 200 300 f3=-150 80
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/k_asp, 50)
ENDIF
IF nextPh(l) THEN
WAV(ustop/kl)
ENDIF
WAV(ustop/k_asp, 90)
endphoneme


phoneme s2 // second part of a long [s:]
vls alv frc sibilant
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
lengthmod 3
IF nextPh(isPause2) THEN
WAV(ufric/s_)
ENDIF
WAV(ufric/s_continue)
endphoneme




+ 118
- 95
phsource/ph_croatian View File

@@ -2,66 +2,84 @@

phoneme S // this is letter š
vls pla frc sibilant
vowelin f1=0 f2=2100 100 300 f3=-100 80
vowelout f1=0 f2=2100 100 300 f3=-100 80
length 30
lengthmod 3
wave ufric/sh3%110
before _ ufric/sh3%90
switchvoicing Z
voicingswitch Z
Vowelin f1=0 f2=2100 100 300 f3=-100 80
Vowelout f1=0 f2=2100 100 300 f3=-100 80
IF nextPh(isPause2) THEN
WAV(ufric/sh3, 90)
ENDIF
WAV(ufric/sh3, 110)
endphoneme

phoneme tS // this is letter č
vls pla afr sibilant
vowelin f1=0 f2=1900 100 200 f3=-100 80
length 90
lengthmod 2
wave ustop/tsh2%50
before _ ustop/tsh2%40
switchvoicing dZ
voicingswitch dZ
Vowelin f1=0 f2=1900 100 200 f3=-100 80
IF nextPh(isPause2) THEN
WAV(ustop/tsh2, 40)
ENDIF
WAV(ustop/tsh2, 50)
endphoneme

phoneme tS; // this is letter ć
vls pal afr sibilant palatal
vowelin f1=0 f2=2500 300 500 f3=300 80 rate len=70
lengthmod 2
wave ustop/ts_pzd3%50
before _ ustop/ts_pzd3%50
switchvoicing dZ;
voicingswitch dZ;
Vowelin f1=0 f2=2500 300 500 f3=300 80 rate len=70
IF nextPh(isPause2) THEN
WAV(ustop/ts_pzd3, 50)
ENDIF
WAV(ustop/ts_pzd3, 50)
endphoneme


phoneme Z // letter ž
vcd pla frc sibilant
vowelin f1=0 f2=2000 0 300 f3=-200 80
vowelout f1=2 f2=2000 0 300 f3=-200 80 brk
formants voc/zh+ufric/sh3%150
before _ voc/zh_+ufric/sh3%80
lengthmod 6
switchvoicing S
voicingswitch S
Vowelin f1=0 f2=2000 0 300 f3=-200 80
Vowelout f1=2 f2=2000 0 300 f3=-200 80 brk
IF nextPh(isPause2) THEN
FMT(voc/zh_) addWav(ufric/sh3, 80)
ENDIF
FMT(voc/zh) addWav(ufric/sh3, 150)
endphoneme


phoneme dZ //letter dž
vcd pla afr sibilant
vowelin f1=2 f2=1900 100 300 f3=100 80
vowelout f1=2 f2=1900 100 300 f3=100 80 brk
formants dzh/dzh2+ustop/tsh2%80
before _ dzh/dzh_+ustop/tsh2%50
after _ NULL
after @ dzh/xdzh
lengthmod 5
switchvoicing tS
voicingswitch tS
Vowelin f1=2 f2=1900 100 300 f3=100 80
Vowelout f1=2 f2=1900 100 300 f3=100 80 brk

IF PreVoicing THEN
FMT(dzh/xdzh)
ENDIF

IF nextPh(isPause2) THEN
FMT(dzh/dzh_) addWav(ustop/tsh2, 50)
ENDIF
FMT(dzh/dzh2) addWav(ustop/tsh2, 80)
endphoneme


phoneme dZ; // letter đ
vcd pla afr sibilant palatal
vowelin f1=2 f2=2500 300 500 f3=300 80 rate len=70
formants dzh/dzh2+ustop/ts_pzd3%80
before _ dzh/dzh_+ustop/ts_pzd3%50
after _ NULL
after @ dzh/xdzh
lengthmod 5
switchvoicing tS;
voicingswitch tS;
Vowelin f1=2 f2=2500 300 500 f3=300 80 rate len=70

IF PreVoicing THEN
FMT(dzh/xdzh)
ENDIF

IF nextPh(isPause2) THEN
FMT(dzh/dzh_) addWav(ustop/ts_pzd3, 50)
ENDIF
FMT(dzh/dzh2) addWav(ustop/ts_pzd3, 80)
endphoneme


@@ -70,97 +88,97 @@ endphoneme


phoneme @ // Schwa
vowel starttype (@) endtype (@)
formants vowel/@_hgh
vowel starttype #@ endtype #@
length 140
FMT(vowel/@_hgh)
endphoneme

phoneme @2 // Schwa (raised)
vowel starttype (@) endtype (@)
formants vowel/@_fnt
vowel starttype #@ endtype #@
length 140
FMT(vowel/@_fnt)
endphoneme


phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 160
formants vowel/a
reduceto & 4
ChangeIfNotStressed(&)
FMT(vowel/a)
endphoneme


phoneme A // 'a' before 'r', doesn't reduce to [&]
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 160
formants vowel/a
FMT(vowel/a)
endphoneme


phoneme &
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 140
formants vowel/a#_2
FMT(vowel/a#_2)
endphoneme


phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 140
formants vowel/e_mid
FMT(vowel/e_mid)
endphoneme


phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 140
formants vowel/e
FMT(vowel/e)
endphoneme


phoneme i
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 120
formants vowel/i_6
linkout ;
reduceto I 4
ChangeIfNotStressed(I)
IfNextVowelAppend(;)
FMT(vowel/i_6)
endphoneme


phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 120
formants vowel/ii_3
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii_3)
endphoneme


phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 140
formants vowel/oo_1
FMT(vowel/oo_1)
endphoneme


phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 140
formants vowel/u_bck
reduceto U 4
ChangeIfNotStressed(U)
FMT(vowel/u_bck)
endphoneme


phoneme U
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 140
formants vowel/u_2
FMT(vowel/u_2)
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 250
formants vdiph/ai
FMT(vdiph/ai)
endphoneme


@@ -168,62 +186,67 @@ endphoneme

phoneme t // dental variant of /t/
vls dnt stop
vowelin f1=0 f2=1600 -300 300 f3=-100 80
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_dnt%50
before _ ustop/t_dnt%35
switchvoicing d
voicingswitch d
Vowelin f1=0 f2=1600 -300 300 f3=-100 80
Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/t_dnt, 35)
ENDIF
WAV(ustop/t_dnt, 50)
endphoneme


phoneme d
vcd alv stop
vowelin f1=2 f2=1700 -300 300 f3=-100 80 amp=16
vowelout f1=2 f2=1700 -300 300 f3=-100 80
formants d/d+x/d%50
before _ d/d_+x/d_
before r d/dr+x/d%50
after _ NULL
after @ d/xd
lengthmod 5
switchvoicing t
endphoneme
voicingswitch t
Vowelin f1=2 f2=1700 -300 300 f3=-100 80 amp=16
Vowelout f1=2 f2=1700 -300 300 f3=-100 80

IF PreVoicing THEN
FMT(d/xd)
ENDIF

IF nextPh(isPause2) THEN
FMT(d/d_) addWav(x/d_)
ELIF nextPh(r) THEN
FMT(d/dr) addWav(x/d)
ENDIF

FMT(d/d) addWav(x/d, 50)
endphoneme


phoneme x
vls vel frc
vowelin f1=0 f2=2300 200 400 f3=-100 80
vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
length 100
lengthmod 3
wave ufric/x_hr%45
switchvoicing Q
voicingswitch Q
Vowelin f1=0 f2=2300 200 400 f3=-100 80
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
WAV(ufric/x_hr, 45)
endphoneme

phoneme r-
vowel starttype (@) endtype (@)

phoneme r- // syllabic r
vowel starttype #@ endtype #@
length 240
formants vowelr/r-voc
FMT(vowelr/r-voc)
endphoneme


phoneme R
liquid
vowelin f1=0 f2=1600 -300 300 f3=-200 80
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk
formants r3/r_trill2+r3/r_trill2.wav%65
trill
lengthmod 6
import_phoneme base/R
endphoneme


phoneme r*
vowel nonsyllabic
starttype (@) endtype (@)
formants vowel/@-
unstressed
appendph *
length 50
starttype #@ endtype #@
AppendPhoneme(*)
FMT(vowel/@-)
endphoneme



+ 10
- 10
phsource/ph_czech View File

@@ -1,33 +1,33 @@
// Czech phonemes inherit from Slovak

phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 120
formants vowel/e_mid
FMT(vowel/e_mid)
endphoneme

phoneme a:
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 290
formants vowel/a_3
FMT(vowel/a_3)
endphoneme

phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 120
formants vowel/oo_2
FMT(vowel/oo_2)
endphoneme

phoneme u:
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 280
formants vowel/u
FMT(vowel/u)
endphoneme

phoneme oU
vowel starttype (o) endtype (u)
vowel starttype #o endtype #u
length 260
formants vdiph/oou
FMT(vdiph/oou)
endphoneme



+ 40
- 56
phsource/ph_danish View File

@@ -1,142 +1,126 @@

phoneme @
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
unstressed
length 130
formants vowel/@_3
FMT(vowel/@_3)
endphoneme

// ToDo: change [@] to [a#] if adjacent to [r] or [R]
phoneme 3
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
unstressed
length 130
formants vowel/a#_3
FMT(vowel/a#_3)
endphoneme



phoneme i
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 150
formants vowel/i_4
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i_4)
endphoneme

phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 150
formants vowel/e
FMT(vowel/e)
endphoneme

phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 150
formants vowel/e_mid2
FMT(vowel/e_mid2)
endphoneme

phoneme &
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 150
formants vowel/ee_2
FMT(vowel/ee_2)
endphoneme

phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 150
formants vowel/a_2
FMT(vowel/a_2)
endphoneme

phoneme A
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 150
formants vowel/a_3
FMT(vowel/a_3)
endphoneme

phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 150
formants vowel/u_bck
FMT(vowel/u_bck)
endphoneme

phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 150
formants vowel/o_2
FMT(vowel/o_2)
endphoneme

phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 150
formants vowel/o_5
FMT(vowel/o_5)
endphoneme

phoneme V
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 150
formants vowel/V_4
FMT(vowel/V_4)
endphoneme

phoneme 0
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 150
formants vowel/oo_2
FMT(vowel/oo_2)
endphoneme


phoneme y
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 150
formants vowel/y
FMT(vowel/y)
endphoneme

phoneme Y
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 150
formants vowel/yy
FMT(vowel/yy)
endphoneme

phoneme W
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 150
formants vowel/oe
FMT(vowel/oe)
endphoneme




//phoneme n
// vcd alv nasal
// vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
// length 100
// lengthmod 4
// formants NULL
// after _ n/_n
// after n n/_n // lengthen [nn]
// before _ n/n#_ // shorter
// before (r) n/nj
//endphoneme
// CONSONANTS

phoneme v // approximant, not fricative
vcd lbd frc
vowelin f1=0 f2=1000 -300 -200 f3=-300 100
vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50
lengthmod 6
formants voc/v
before _ voc/v_
switchvoicing f
import_phoneme base/v#
voicingswitch f
endphoneme


phoneme r // used for 'r' after a vowel (to create a diphthong)
liquid
formants r/a_
lengthmod 7
FMT(r/a_)
endphoneme

phoneme R //
liquid
formants r/aa
phoneme R
lengthmod 7
liquid
FMT(r/aa)
endphoneme


+ 54
- 101
phsource/ph_dutch View File

@@ -10,78 +10,80 @@


phoneme @ // Schwa
vowel starttype (@) endtype (@)
formants vowel/@_4
vowel starttype #@ endtype #@
unstressed
length 125
FMT(vowel/@_4)
endphoneme

phoneme i
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 160
formants vowel/i_2
after w w/wi2
IF prevPh(w) THEN
VowelStart(w/wi2)
ENDIF
FMT(vowel/i_2)
endphoneme

phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 130
formants vowel/ii
FMT(vowel/ii)
endphoneme

phoneme y
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 180
formants vowel/y
FMT(vowel/y)
endphoneme

phoneme 8
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 140
formants vowel/y#
FMT(vowel/y#)
endphoneme

phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 150
formants vowel/u_bck
FMT(vowel/u_bck)
endphoneme

phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 140
formants vowel/e_mid2
FMT(vowel/e_mid2)
endphoneme

phoneme E2 // as[E] but reduces to @ if unstressed
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 140
formants vowel/ee_2
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/ee_2)
endphoneme

phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 150
formants vowel/o_5
FMT(vowel/o_5)
endphoneme

phoneme O: // for "oor"
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 210
formants vowel/o_6
FMT(vowel/o_6)
endphoneme

phoneme a:
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 210
formants vowel/a
FMT(vowel/a)
endphoneme

phoneme A
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 160
formants vowel/aa_7
FMT(vowel/aa_7)
endphoneme


@@ -89,52 +91,52 @@ endphoneme
//===========

phoneme e:
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 190
formants vdiph/ei
FMT(vdiph/ei)
endphoneme

phoneme Y:
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 220
formants vdiph/y#y_3
FMT(vdiph/y#y_3)
endphoneme

phoneme o:
vowel starttype (o) endtype (u)
vowel starttype #o endtype #u
length 200
formants vdiph/Vu_3
FMT(vdiph/Vu_3)
endphoneme


phoneme EI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 210
formants vdiph/eei
FMT(vdiph/eei)
endphoneme

phoneme Wy
vowel starttype (@) endtype (u)
vowel starttype #@ endtype #u
length 220
formants vdiph/&y
FMT(vdiph/&y)
endphoneme

phoneme VU
vowel starttype (a) endtype (o)
vowel starttype #a endtype #o
length 220
formants vdiph/aau_2
FMT(vdiph/aau_2)
endphoneme

phoneme eU
vowel starttype (e) endtype (u)
vowel starttype #e endtype #u
length 220
formants vdiph/eu
FMT(vdiph/eu)
endphoneme

phoneme yU
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 220
formants vdiph2/yu
FMT(vdiph2/yu)
endphoneme


@@ -145,76 +147,27 @@ endphoneme


phoneme r // from Afrikaans
liquid starttype #r endtype #r
length 60
vowelin f1=2 f2=2700 -300 -200 f3=-1300 80
vowelout f1=2 f2=1700 -300 -200 f3=-1300 80
formants r3/r_trill+r3/r_trill3.wav%99
before _ r3/r_trill+r3/r_trill3.wav%99
trill
lengthmod 6
endphoneme


phoneme r2
liquid
lengthmod 7
beforenotvowel r/
trill
formants r/rr
after _ r/rr
after t r/trr p r/trr k r/trr
before _ r/r_
endphoneme


phoneme r/ // variant of [r] when not preceding a vowel
liquid vowel2
length 100
lengthmod 7 //
formants NULL
import_phoneme af/r
endphoneme


phoneme v2 // approximant, not fricative
vcd lbd frc
vowelin f1=0 f2=1000 -300 -200 f3=-300 100
vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50
lengthmod 6
formants voc/v
before _ voc/v_
switchvoicing f
import_phoneme base/v#
endphoneme


phoneme Q
vcd vel frc
vowelin f1=2 f2=2300 200 300 f3=-300 80
vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
lengthmod 6
formants voc/Q_less+vocw/Q2%140
before _ voc/Q_+vocw/Q_
switchvoicing x
endphoneme

voicingswitch x
Vowelin f1=2 f2=2300 200 300 f3=-300 80
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk


phoneme x2 // a stronger version of [x] (for Afrikaans)
vls vel frc
vowelin f1=0 f2=2300 200 400 f3=-100 100
vowelout f1=0 f2=2300 300 400 f3=-100 100 rms=20
length 100
lengthmod 3
wave ufric/x2 // stronger version
IF nextPh(isPause2) THEN
FMT(voc/Q_) addWav(vocw/Q_)
ENDIF
FMT(voc/Q_less) addWav(vocw/Q2, 140)
endphoneme


phoneme Sx // Swedish "sj" sound for TESTING
vls vel frc
vowelin f1=0 f2=2300 300 400 f3=200 100
vowelout f1=0 f2=2300 300 400 f3=200 100 rms=20
length 100
lengthmod 3
wave ufric/sx_sv%60
endphoneme



+ 200
- 205
phsource/ph_english View File

@@ -1,49 +1,76 @@


phoneme k
vls vel stop
vowelin f1=0 f2=2300 200 400 f3=-100 80
vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
lengthmod 2
wave ustop/k
before _ ustop/k_
before r ustop/kr
before l ustop/kl
before i: ustop/ki
before i@ ustop/ki
endphoneme

phoneme t2 // [t] which doesn't reduce
vls alv stop
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t%90
before _ ustop/t_
before @- ustop/t_dnt%50
before r ustop/tr
before R ustop/tr
switchvoicing d
import_phoneme base/t
endphoneme


phoneme t# // reduced [t] as in "city"
vcd alv stop
vowelin f1=1 f2=1700 -300 300 f3=-100 80
vowelout f1=2 f2=1700 -300 300 f3=-100 80
formants d/tap2+x/d%70
after @ d/x_tap
lengthmod 5
Vowelin f1=1 f2=1700 -300 300 f3=-100 80
Vowelout f1=2 f2=1700 -300 300 f3=-100 80

IF KlattSynth THEN
IF PreVoicing THEN
FMT(klatt/x_tap)
ENDIF
FMT(klatt/tap2) addWav(x/d, 70)
ENDIF

IF PreVoicing THEN
FMT(d/x_tap)
ENDIF
FMT(d/tap2) addWav(x/d, 70)
endphoneme


phoneme l
phoneme l // use dark [l/2] before not-vowel
liquid
length 100
lengthmod 7
beforenotvowel l/2 // use 'dark' [l] after a vowel
formants l/l
after _ l/_l t l/tl

IF nextPh(isNotVowel) THEN
ChangePhoneme(l/2)
ENDIF

CALL base/l
endphoneme


phoneme g-
vcd vel stop
lengthmod 5
Vowelin f1=2 f2=2300 200 300 f3=-300 80
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk

IF PreVoicing THEN
FMT(g/xg)
ENDIF

IF nextPh(isPause2) THEN
FMT(g/g_) addWav(x/g2_)
ENDIF
FMT(g/g) addWav(x/g2_)
endphoneme


phoneme r- // linking r, used in English between certain vowels and a following vowel
liquid rhotic
lengthmod 0

NextVowelStarts
VowelStart(r2/r2@)
VowelStart(r2/r2a)
VowelStart(r2/r2e)
VowelStart(r2/r2i)
VowelStart(r2/r2o)
VowelStart(r2/r2u)
EndSwitch

IF prevPh(isVowel) THEN
VowelEnding(r/xr, -60)
ENDIF

FMT(r/r)
endphoneme


@@ -52,372 +79,340 @@ endphoneme
// VOWELS
//*******************************************************************


phoneme @ // Schwa
vowel starttype (@) endtype (@)
formants vowel/@
vowel starttype #@ endtype #@
unstressed
linkout r-
length 140
IfNextVowelAppend(r-)
FMT(vowel/@)
endphoneme


phoneme 3 // Schwa, used for rhotic schwa in American
vowel starttype (@) endtype (@)
formants vowel/@
vowel starttype #@ endtype #@
unstressed
linkout r-
beforevowel @
length 140
IfNextVowelAppend(r-)
FMT(vowel/@)
endphoneme


phoneme @2 // Schwa, changes to I before a vowel
vowel starttype (@) endtype (@)
formants vowel/@
vowel starttype #@ endtype #@
unstressed
beforevowel I2
length 120
IF nextPh(isVowel) THEN
ChangePhoneme(I2)
ENDIF
FMT(vowel/@)
endphoneme


phoneme @5 // Schwa, changes to U before a vowel
vowel starttype (@) endtype (@)
formants vowel/@
vowel starttype #@ endtype #@
unstressed
beforevowelpause U
length 140
IF nextPh(isVowel) OR nextPh(isPause) THEN
ChangePhoneme(U)
ENDIF
FMT(vowel/@)
endphoneme


phoneme @L
vowel starttype (@) endtype l
length 160
formants vwl_en/@L
vowel starttype #@ endtype l
unstressed
before _ vwl_en/@L
length 160
CALL vowelstart_l
FMT(vwl_en/@L)
endphoneme


phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 150
// formants vowel/a_en
formants vowel/a
reduceto a2 0
ChangeIfDiminished(a2)
FMT(vowel/a)
endphoneme


phoneme a2
vowel starttype (@) endtype (a)
vowel starttype #@ endtype #@
unstressed
length 150
formants vowel/a#_3
linkout r-
FMT(vowel/a#_3)
endphoneme


phoneme aa // 'bath' etc.
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 150
// formants vowel/a_en
formants vowel/a
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/a)
endphoneme


phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 140
formants vowel/ee_5
reduceto I 0
ChangeIfDiminished(I2)
FMT(vowel/ee_5)
endphoneme


phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 130
formants vowel/ii_2
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii_2)
endphoneme


phoneme I2
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
unstressed
length 130
formants vowel/ii_4
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii_4)
endphoneme


phoneme i // optional variant of [I] for end of words
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 140
formants vowel/ii_en
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii_en)
endphoneme


phoneme 0
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 140
formants vowel/0
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/0)
endphoneme


phoneme V
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 140
formants vowel/V_2
reduceto @ 0

ChangeIfDiminished(@)
FMT(vowel/V_2)
endphoneme


phoneme U
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 150
formants vowel/uu
FMT(vowel/uu)
endphoneme



phoneme A:
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 230
formants vowel/aa_2
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/aa_2)
endphoneme


phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in American
vowel starttype (a) endtype (a)
phoneme A@ // Used for [A:] when followed by 'r'
vowel starttype #a endtype #a
length 230
formants vowel/aa_2
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/aa_2)
endphoneme


phoneme 3:
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 210
formants vowel/3_en
reduceto @ 0
linkout r-
IfNextVowelAppend(r-)
ChangeIfDiminished(@)
FMT(vowel/3_en)
endphoneme


phoneme i:
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 175
formants vowel/i_en
after w w/wi2
linkout ;
IfNextVowelAppend(;)
IF prevPh(w) THEN
VowelStart(w/wi2)
ENDIF
FMT(vowel/i_en)
endphoneme


phoneme O:
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 230
formants vowel/oo_en
reduceto @ 0
// linkout r-
ChangeIfDiminished(@)
FMT(vowel/oo_en)
endphoneme


phoneme O
vowel starttype #o endtype #o
length 200
ChangeIfDiminished(@)
FMT(vowel/oo_en)
endphoneme


phoneme O@
vowel starttype (o) endtype (@)
vowel starttype #o endtype #o
length 240
formants vowel/oo_en
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/oo_en)
endphoneme


phoneme o@
vowel starttype (o) endtype (@)
vowel starttype #o endtype #o
length 250
formants vowel/oo_en
linkout r-
endphoneme


phoneme O
vowel starttype (o) endtype (o)
length 200
formants vowel/oo_en
reduceto @ 0
IfNextVowelAppend(r-)
FMT(vowel/oo_en)
endphoneme


phoneme u:
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 210
formants vdiph2/uw_2
// before l/2 vowel/u_fnt-40+l/L2_uL
before l/2 vwl_en/u_L-40+l/L2_uL
IF nextPh(l/2) THEN
FMT(vwl_en/u_L)
ENDIF
FMT(vdiph2/uw_2)
endphoneme


phoneme aU
vowel starttype (a) endtype (u)
vowel starttype #a endtype #u
length 230
formants vdiph/au
FMT(vdiph/au)
endphoneme


phoneme oU
vowel starttype (@) endtype (u)
vowel starttype #@ endtype #u
length 220
formants vdiph/@u_en
FMT(vdiph/@u_en)
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 230
// formants vdiph/ai_en2
formants vdiph/ai_2
FMT(vdiph/ai_2)
endphoneme


phoneme eI
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 210
formants vdiph/eei
FMT(vdiph/eei)
endphoneme


phoneme OI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 230
formants vdiph/ooi
FMT(vdiph/ooi)
endphoneme


phoneme e@
vowel starttype (e) endtype (@)
vowel starttype #e endtype #@
length 230
formants vowel/ee_1
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/ee_1)
endphoneme


phoneme i@
vowel starttype (i) endtype (@)
vowel starttype #i endtype #@
length 250
formants vdiph2/ii@
linkout r-
IfNextVowelAppend(r-)
FMT(vdiph2/ii@)
endphoneme


phoneme i@3
vowel starttype (i) endtype (@)
vowel starttype #i endtype #@
length 250
formants vdiph2/ii@
linkout r-
IfNextVowelAppend(r-)
FMT(vdiph2/ii@)
endphoneme



phoneme U@
vowel starttype (u) endtype (@)
vowel starttype #u endtype #@
length 200
formants vdiph2/uu@
linkout r-
IfNextVowelAppend(r-)
FMT(vdiph2/uu@)
endphoneme


phoneme aI@
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 270
formants vwl_en/aI@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en/aI@)
endphoneme


phoneme aU@
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 270
formants vwl_en/aU@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en/aU@)
endphoneme


// extra vowels

phoneme e:
vowel starttype (e) endtype (e)
length 210
formants vowel/e
endphoneme


phoneme o:
vowel starttype (o) endtype (o)
length 220
formants vowel/o
endphoneme


phoneme eU
vowel starttype (e) endtype (u)
length 240
formants vdiph/eu
endphoneme


phoneme IR // used for "ir" when [3:] is split (Scottish)
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 190
formants vowelr/V_r
appendph r
IfNextVowelAppend(r-)
FMT(vowelr/V_r)
endphoneme


phoneme VR // used for "or"/"ur" when [3:] is split (Scottish)
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 210
formants vowelr/V3_r
appendph r
IfNextVowelAppend(r-)
FMT(vowelr/V3_r)
endphoneme



phoneme A~
vowel starttype (a) endtype (a)
length 260
formants vnasal/aa_n2
phoneme o:
vowel starttype #o endtype #o
length 220
FMT(vowel/o)
endphoneme


phoneme E~
vowel starttype (e) endtype (e)
phoneme A~
vowel starttype #a endtype #a
length 260
formants vnasal/ee_n
FMT(vnasal/aa_n2)
endphoneme


phoneme O~
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 240
formants vnasal/oo_n2
FMT(vnasal/oo_n2)
endphoneme


phoneme y:
vowel starttype (u) endtype (u)
length 220
formants vowel/y
endphoneme


phoneme Y:
vowel starttype (@) endtype (@)
length 230
formants vowel/y#
endphoneme


phoneme W
vowel starttype (@) endtype (@)
length 170
formants vowel/oe
phoneme e:
vowel starttype #e endtype #e
length 210
FMT(vowel/e)
endphoneme



+ 91
- 94
phsource/ph_english_n View File

@@ -1,13 +1,9 @@

phoneme N
vcd vel nasal
vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
length 100
formants NULL
after _ nn/_nn
before _ nn/nn_
lengthmod 8 // longer than 'n'
linkout g-
IfNextVowelAppend(g-)
CALL base/N
endphoneme


@@ -17,241 +13,242 @@ endphoneme
//*******************************************************************

phoneme 3 // Schwa, used for rhotic schwa in American
vowel starttype (@) endtype (@)
formants vowel/@_fr
vowel starttype #@ endtype #@
unstressed
linkout r-
beforevowel @
length 140
IfNextVowelAppend(r-)
FMT(vowel/@_fr)
endphoneme


phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 140
formants vowel/a
reduceto a2 0
ChangeIfDiminished(a2)
FMT(vowel/a)
endphoneme


phoneme E
vowel starttype (e) endtype (e)
vowel starttype #a endtype #a
length 150
formants vowel/ee
reduceto I 0
// before l/ DFT-30+L/eL_af
ChangeIfDiminished(I2)
FMT(vowel/ee)
endphoneme


phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 130
formants vowel/ii
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii)
endphoneme


phoneme I2
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
unstressed
length 140
formants vowel/ii
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii)
endphoneme


phoneme i // optional variant of [I] for end of words
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 150
formants vowel/e_3
linkout ;
IfNextVowelAppend(;)
FMT(vowel/e_3)
endphoneme


phoneme 0
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 150
formants vowel/0_2
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/0_2)
endphoneme


phoneme V
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 140
formants vowel/o-_2
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/o-_2)
endphoneme


phoneme U
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 170
formants vowel/uu
FMT(vowel/uu)
endphoneme



phoneme a2
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
unstressed
length 140
formants vowel/a#_3
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/a#_3)
endphoneme


phoneme A:
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 240
formants vowel/aa_5
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/aa_5)
endphoneme


phoneme A@
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 250
formants vwl_en_n/aa_5
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/aa_5)
endphoneme


phoneme aa // 'bath' etc.
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 150
formants vowel/a
linkout r-
FMT(vowel/a)
endphoneme


phoneme 3:
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 230
formants vowel/3_2
reduceto @ 0
linkout r-
IfNextVowelAppend(r-)
ChangeIfDiminished(@)
FMT(vowel/3_2)
endphoneme


phoneme i:
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 175
formants vowel/i
after w w/wi2
linkout ;
IfNextVowelAppend(;)
IF prevPh(w) THEN
VowelStart(w/wi2)
ENDIF
FMT(vowel/i)
endphoneme


phoneme O:
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 240
formants vowel/oo_1
reduceto @ 0
linkout r-
IfNextVowelAppend(r-)
ChangeIfDiminished(@)
FMT(vowel/oo_1)
endphoneme


phoneme O@
vowel starttype (o) endtype (@)
vowel starttype #o endtype #@
length 240
formants vwl_en_n/O@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en_n/O@)
endphoneme


phoneme o@
vowel starttype (o) endtype (@)
vowel starttype #o endtype #@
length 240
formants vwl_en_n/O@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en_n/O@)
endphoneme


phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 150
formants vowel/oo_en
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/oo_en)
endphoneme


phoneme u:
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 200
formants vdiph2/uw_4
FMT(vdiph2/uw_4)
endphoneme


phoneme aU
vowel starttype (e) endtype (u)
vowel starttype #e endtype #u
length 230
formants vdiph/eeu_3
FMT(vdiph/eeu_3)
endphoneme


phoneme oU
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 220
formants vowel/o
FMT(vowel/o)
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 230
formants vdiph/ae_2
FMT(vdiph/ae_2)
endphoneme


phoneme eI
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 210
formants vowel/e
FMT(vowel/e)
endphoneme


phoneme OI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 230
formants vdiph/ooi
FMT(vdiph/ooi)
endphoneme


phoneme e@
vowel starttype (e) endtype (@)
vowel starttype #e endtype #@
length 220
formants vdiph2/ee@
linkout r-
IfNextVowelAppend(r-)
FMT(vdiph2/ee@)
endphoneme


phoneme i@
vowel starttype (i) endtype (@)
vowel starttype #i endtype #@
length 240
formants vdiph2/i@
linkout r-
IfNextVowelAppend(r-)
FMT(vdiph2/i@)
endphoneme


phoneme U@
vowel starttype (u) endtype (@)
vowel starttype #u endtype #@
length 200
formants vdiph2/uu@
linkout r-
IfNextVowelAppend(r-)
FMT(vdiph2/uu@)
endphoneme


phoneme aI@
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 270
formants vwl_en/aI@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en/aI@)
endphoneme


phoneme aU@
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 270
formants vwl_en/aU@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en/aU@)
endphoneme


+ 100
- 108
phsource/ph_english_rp View File

@@ -5,270 +5,262 @@


phoneme @ // Schwa
vowel starttype (@) endtype (@)
formants vowel/@
before _ vowel/@_low
vowel starttype #@ endtype #@
unstressed
linkout r-
length 140
IfNextVowelAppend(r-)
IF thisPh(isWordEnd) THEN
FMT(vowel/@_low)
ENDIF
FMT(vowel/@)
endphoneme


phoneme 3 // Schwa, used for rhotic schwa in American
vowel starttype (@) endtype (@)
formants vowel/@
before _ vowel/@_low
unstressed
linkout r-
beforevowel @
length 140
import_phoneme @
endphoneme


phoneme @2 // Schwa, changes to I before a vowel
vowel starttype (@) endtype (@)
formants vowel/@_low
vowel starttype #@ endtype #@
unstressed
beforevowel I
length 120
IF nextPh(isVowel) THEN
ChangePhoneme(I2)
ENDIF
FMT(vowel/@_low)
endphoneme


phoneme @5 // Schwa, changes to U before a vowel
vowel starttype (@) endtype (@)
formants vowel/@_low
vowel starttype #@ endtype #@
unstressed
beforevowelpause U
length 140
endphoneme


phoneme @L
vowel starttype (@) endtype l
length 160
formants vwl_en/@L
unstressed
before _ vwl_en/@L
IF nextPh(isVowel) OR nextPh(isPause) THEN
ChangePhoneme(U)
ENDIF
FMT(vowel/@_low)
endphoneme


phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 175
formants vowel/&
reduceto a2 0
ChangeIfDiminished(a2)
FMT(vowel/&)
endphoneme


phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 140
formants vowel/e_mid
reduceto I 0
ChangeIfDiminished(I2)
FMT(vowel/e_mid)
endphoneme


phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 130
formants vowel/ii
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii)
endphoneme

phoneme I2
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
unstressed
length 130
formants vowel/ii
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii)
endphoneme


phoneme i // optional variant of [I] for end of words
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 140
formants vowel/ii_final
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii_final)
endphoneme


phoneme 0
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 140
formants vowel/0_3
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/0_3)
endphoneme


phoneme V
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 140
formants vowel/V_3
// formants vwl_af/a
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/V_3)
endphoneme


phoneme U
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 150
formants vowel/o-_3
FMT(vowel/o-_3)
endphoneme



phoneme a2
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
unstressed
length 150
formants vowel/@_low
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/@_low)
endphoneme


phoneme A:
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 240
formants vwl_en_rp/aa
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en_rp/aa)
endphoneme


phoneme A@
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 240
formants vwl_en_rp/aa
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en_rp/aa)
endphoneme


phoneme aa // 'bath' etc.
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 200
formants vwl_en_rp/aa
linkout r-
FMT(vwl_en_rp/aa)
endphoneme


phoneme 3:
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 210
formants vowel/3_3
reduceto @ 0
linkout r-
ChangeIfDiminished(@)
IfNextVowelAppend(r-)
FMT(vowel/3_3)
endphoneme


phoneme i:
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 175
formants vowel/i
after w w/wi2
linkout ;
IfNextVowelAppend(;)
IF prevPh(w) THEN
VowelStart(w/wi2)
ENDIF
FMT(vowel/i)
endphoneme


phoneme O:
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 230
formants vowel/oo_1
reduceto @ 0
linkout r-
ChangeIfDiminished(@)
IfNextVowelAppend(r-)
FMT(vowel/oo_1)
endphoneme


phoneme O@
vowel starttype (o) endtype (@)
vowel starttype #o endtype #@
length 230
formants vowel/oo_1
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/oo_1)
endphoneme


phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 150
formants vowel/oo_en
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/oo_en)
endphoneme


phoneme u:
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 190
formants vowel/u_fnt
FMT(vowel/u_fnt)
endphoneme


phoneme aU
vowel starttype (a) endtype (u)
vowel starttype #a endtype #u
length 230
formants vdiph/au_3
FMT(vdiph/au_3)
endphoneme


phoneme oU
vowel starttype (@) endtype (u)
vowel starttype #@ endtype #u
length 220
formants vdiph/@u_2
FMT(vdiph/@u_2)
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 230
formants vdiph/ai_6
FMT(vdiph/ai_6)
endphoneme


phoneme eI
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 210
formants vdiph2/ei_2
// formants vdiph/eei_3
FMT(vdiph2/ei_2)
endphoneme


phoneme OI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 230
formants vdiph/ooi_3
FMT(vdiph/ooi_3)
endphoneme


phoneme e@
vowel starttype (e) endtype (@)
vowel starttype #e endtype #@
length 220
formants vdiph2/ee@_2
linkout r-
IfNextVowelAppend(r-)
FMT(vdiph2/ee@_2)
endphoneme


phoneme i@
vowel starttype (i) endtype (@)
vowel starttype #i endtype #@
length 240
formants vwl_en_rp/i@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en_rp/i@)
endphoneme


phoneme U@
vowel starttype (u) endtype (@)
vowel starttype #u endtype #@
length 230
formants vowel/o_mid
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/o_mid)
endphoneme


phoneme aI@
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 270
formants vwl_en/aI@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en/aI@)
endphoneme


phoneme aU@
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 270
formants vwl_en_rp/aU@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en_rp/aU@)
endphoneme

+ 155
- 147
phsource/ph_english_sc View File

@@ -6,320 +6,329 @@


phoneme @ // Schwa
vowel starttype (@) endtype (@)
formants vowel/@_3
vowel starttype #@ endtype #@
unstressed
linkout r-
length 140
IfNextVowelAppend(r-)
FMT(vowel/@_3)
endphoneme


phoneme 3 // Schwa, used for rhotic schwa in American
vowel starttype (@) endtype (@)
formants vowel/V
before _ vowelr/V3_r
vowel starttype #@ endtype #@
unstressed
linkout r-
beforevowel @
length 140
IF nextPh(isVowel) THEN
ChangePhoneme(@)
ENDIF
IfNextVowelAppend(r-)
IF nextPh(isPause) THEN
FMT(vowelr/V3_r)
ENDIF
FMT(vowel/V)
endphoneme


phoneme @2 // Schwa, changes to I before a vowel
vowel starttype (@) endtype (@)
formants vowel/@_3
vowel starttype #@ endtype #@
unstressed
beforevowel I2
length 120
IF nextPh(isVowel) THEN
ChangePhoneme(I2)
ENDIF
FMT(vowel/@_3)
endphoneme


phoneme @5 // Schwa, changes to U before a vowel
vowel starttype (@) endtype (@)
formants vowel/@_3
vowel starttype #@ endtype #@
unstressed
beforevowelpause U
length 140
endphoneme


phoneme @L
vowel starttype (@) endtype l
length 160
formants vwl_en/@L
unstressed
before _ vwl_en/@L
IF nextPh(isVowel) OR nextPh(isPause) THEN
ChangePhoneme(U)
ENDIF
FMT(vowel/@_3)
endphoneme


phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 200
formants vowel/a_3
reduceto a/ 4
ChangeIfDiminished(a2)
ChangeIfNotStressed(a/)
FMT(vowel/a_3)
endphoneme


phoneme a/
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 160
formants vowel/a_3
reduceto a2 0
ChangeIfDiminished(a2)
FMT(vowel/a_3)
endphoneme


phoneme a2
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
unstressed
length 140
formants vowel/a#
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/a#)
endphoneme


phoneme aa // 'bath' etc.
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 220
formants vowel/a_3
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/a_3)
endphoneme


phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 170
formants vowel/e_e
reduceto I 0
ChangeIfDiminished(I2)
FMT(vowel/e_e)
endphoneme


phoneme I
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 110
formants vowel/e#
before l/2 vowel/@_3-30+l/L2_@L
IF nextPh(l/2) THEN
VowelEnding(l/L2_@L, -30)
FMT(vowel/@_3)
ENDIF
FMT(vowel/e#)
endphoneme


phoneme I2
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
unstressed
length 110
formants vowel/e#
CALL I
endphoneme


phoneme i // optional variant of [I] for end of words
vowel starttype (i) endtype (e)
vowel starttype #i endtype #e
length 150
formants vowel/e_5
linkout ;
IfNextVowelAppend(;)
FMT(vowel/e_5)
endphoneme


phoneme 0
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 200
formants vowel/oo_2
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/oo_2)
endphoneme


phoneme V
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 140
formants vowel/V_4
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/V_4)
endphoneme


phoneme U
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 140
formants vowel/u#_4
FMT(vowel/u#_4)
endphoneme


phoneme A:
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 220
formants vowel/a_3
before r vowelr/aa_r+30
linkout r-
IfNextVowelAppend(r-)
IF nextPh(r) THEN
FMT(vowelr/aa_r, 30)
ENDIF
FMT(vowel/a_3)
endphoneme


phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in American
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 250
formants vowelr/aa_r
appendph r
AppendPhoneme(r)
FMT(vowelr/aa_r)
endphoneme


phoneme 3:
vowel starttype (e) endtype (@)
vowel starttype #e endtype #@
length 210
formants vdiph2/e@
appendph r
reduceto VR 4 // also need "replace 02 3: VR" in voice file
ChangeIfNotStressed(VR) // also need "replace 02 3: VR" in voice file
AppendPhoneme(r)
FMT(vdiph2/e@)
endphoneme


phoneme i:
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 130
formants vowel/i_5
before v vowel/i_5+50
before z vowel/i_5+50
before D vowel/i_5+50
before _ vowel/i_5+50
after w w/wi2
linkout ;
IfNextVowelAppend(;)
IF prevPh(w) THEN
VowelStart(w/wi2)
ENDIF
IF nextPh(isVFricative) OR nextPh(isPause) THEN
Length 180
ENDIF
FMT(vowel/i_5)
endphoneme


phoneme O:
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 200
formants vowel/oo
before r vwl_en_us/or
reduceto @ 0
ChangeIfDiminished(@)
IF nextPh(r) THEN
FMT(vwl_en_us/or)
ENDIF
FMT(vowel/oo)
endphoneme


phoneme O@
vowel starttype (o) endtype (@)
vowel starttype #o endtype #@
length 230
formants vowelr/oo_r
appendph r
AppendPhoneme(r)
FMT(vowelr/oo_r)
endphoneme

phoneme o@
vowel starttype (o) endtype (@)
vowel starttype #o endtype #@
length 230
formants vowelr/o_r
appendph r
AppendPhoneme(r)
FMT(vowelr/o_r)
endphoneme


phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 150
formants vowel/0_3
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/0_3)
endphoneme


phoneme u:
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 160
formants vowel/u#
before v vowel/u#+40
before z vowel/u#+40
before D vowel/u#+40
before _ vowel/u#_4+40
IF nextPh(isVFricative) THEN
Length 200
ENDIF
IF nextPh(isPause) THEN
FMT(vowel/u#_4, 40)
ENDIF
FMT(vowel/u#)
endphoneme


phoneme aU
vowel starttype (a) endtype (u)
vowel starttype #a endtype #u
length 200
formants vdiph/au#
FMT(vdiph/au#)
endphoneme


phoneme oU
vowel starttype (o) endtype (u)
vowel starttype #o endtype #u
length 190
formants vowel/o_3
before l/2 vowel/o_3-60+l/L2_oL
FMT(vowel/o_3)
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 190
beforevowel aI2
// formants vdiph/&i_2
formants vdiph/ai_7
before v vdiph/ai_7+50
before z vdiph/ai_7+50
before l/2 vwl_en/aI@_2+vwl_en/@L_2
IF nextPh(isVowel) OR nextPh(isVFricative) THEN
ChangePhoneme(aI2)
ENDIF
IF nextPh(l/2) THEN
// before l/2 vwl_en/aI@_2+vwl_en/@L_2
FMT(vwl_en/aI@_2)
ENDIF

// FMT(vdiph/&i_2
FMT(vdiph/ai_7)
endphoneme


phoneme aI2
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 240
formants vdiph/ai_7
FMT(vdiph/ai_7)
endphoneme


phoneme eI
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 190
formants vowel/e_2
FMT(vowel/e_2)
endphoneme


phoneme OI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 210
formants vdiph/0i_2
FMT(vdiph/0i_2)
endphoneme


phoneme e@
vowel starttype (e) endtype (@)
vowel starttype #e endtype #@
length 220
formants vdiph2/e@
appendph r
AppendPhoneme(r)
FMT(vdiph2/e@)
endphoneme


phoneme i@3
vowel starttype (i) endtype (@)
vowel starttype #i endtype #@
length 220
formants vowelr/i_r
appendph r
AppendPhoneme(r)
FMT(vowelr/i_r)
endphoneme


phoneme U@
vowel starttype (u) endtype (@)
vowel starttype #u endtype #@
length 240
formants vdiph2/u#@
linkout r-
IfNextVowelAppend(r-)
FMT(vdiph2/u#@)
endphoneme


phoneme aI@
vowel starttype (a) endtype (@)
phoneme aU@
vowel starttype #a endtype #@
length 270
formants vwl_en/aI@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en/aU@)
endphoneme


phoneme aU@
vowel starttype (a) endtype (@)
phoneme aI@
vowel starttype #a endtype #@
length 270
formants vwl_en/aU@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en/aI@_2)
endphoneme


phoneme @L
vowel starttype (o) endtype l
length 160
formants vwl_en/@L_2
vowel starttype #@ endtype l
unstressed
before _ vwl_en/@L_2
endphoneme


phoneme aI@
vowel starttype (a) endtype (@)
length 270
formants vwl_en/aI@_2
linkout r-
length 160
CALL vowelstart_l
FMT(vwl_en/@L_2)
endphoneme


@@ -331,20 +340,19 @@ endphoneme

phoneme r/ // used for [r] when not preceding a vowel
liquid
length 100
lengthmod 2 //
formants NULL
FMT(NULL)
endphoneme

phoneme r
liquid starttype #r endtype #r
length 100
liquid rhotic
lengthmod 7
beforenotvowel r/
trill
formants r/r
after _ r/_r t r/tr p r/tr k r/tr
before _ r/r_

IF nextPh(isNotVowel) THEN
ChangePhoneme(r/)
ENDIF
CALL base/r
endphoneme



+ 135
- 107
phsource/ph_english_us View File

@@ -5,279 +5,284 @@


phoneme 3 // Schwa, used for rhotic schwa in American
vowel starttype (@) endtype (@)
formants vwl_en_us/3_us
vowel starttype #@ endtype #@
unstressed
linkout r-
length 210
IfNextVowelAppend(r-)
FMT(vwl_en_us/3_us)
endphoneme


phoneme @ // Schwa
vowel starttype (@) endtype (@)
formants vowel/@_4
vowel starttype #@ endtype #@
unstressed
before_r 3
length 130
IF nextPh(isRhotic) THEN
ChangePhoneme(3)
ENDIF
FMT(vowel/@_4)
endphoneme

phoneme @/ // Schwa, end of word
vowel starttype (@) endtype (@)
formants vowel/@_low2
vowel starttype #@ endtype #@
unstressed
length 130
FMT(vowel/@_low2)
endphoneme

phoneme @2 // Schwa, changes to I before a vowel
vowel starttype (@) endtype (@)
formants vowel/@_low2
vowel starttype #@ endtype #@
unstressed
beforevowel I2
length 120
IF nextPh(isVowel) THEN
ChangePhoneme(I2)
ENDIF
FMT(vowel/@_low2)
endphoneme

phoneme @L
vowel starttype (@) endtype l
length 160
formants vwl_en/@L
vowel starttype #@ endtype l
unstressed
before _ vwl_en/@L
length 160
FMT(vwl_en/@L)
endphoneme


phoneme a
vowel starttype (e) endtype (@)
vowel starttype #e endtype #@
length 210
formants vwl_en_us/a
before n vnasal/ee_n2
before N vnasal/ee_n2
before m vnasal/ee_n2
reduceto a2 0

ChangeIfDiminished(a2)

IF nextPh(isNasal) THEN
FMT(vnasal/ee_n2)
ENDIF
FMT(vwl_en_us/a)
endphoneme


phoneme aa // 'bath' etc.
vowel starttype (a) endtype (@)
length 210
formants vwl_en_us/a
linkout r-
import_phoneme en_us/a
endphoneme


phoneme a2
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
unstressed
length 150
formants vowel/a#_3
linkout r-
FMT(vowel/a#_3)
endphoneme


phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 195
formants vwl_en_us/ee
reduceto I2 0
ChangeIfDiminished(I2)
FMT(vwl_en_us/ee)
endphoneme


phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 160
formants vowel/ii_4
linkout ;
reduceto I2 0
IfNextVowelAppend(;)
ChangeIfDiminished(I2)
FMT(vowel/ii_4)
endphoneme


phoneme I2
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
unstressed
length 160
formants vowel/ii#_3
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii#_3)
endphoneme


phoneme i // optional variant of [I] for end of words
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
unstressed
length 170
formants vowel/ii_final
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii_final)
endphoneme


phoneme 0
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 200
formants vowel/aa_8
before r vwl_en_us/oor
reduceto @ 0
ChangeIfDiminished(@)
IF nextPh(r) THEN
FMT(vwl_en_us/oor)
ENDIF
FMT(vowel/aa_8)
endphoneme


phoneme V
vowel starttype (a) endtype (@)
length 180
formants vowel/V_6
reduceto @ 0
vowel starttype #a endtype #@
length 170
ChangeIfDiminished(@)
FMT(vowel/V_6)
endphoneme


phoneme U
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 145
formants vowel/8_2
FMT(vowel/8_2)
endphoneme


phoneme A:
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 210
formants vowel/aa_8
before r vwl_en_us/ar
linkout r-
IF nextPh(r) THEN
FMT(vwl_en_us/ar)
ENDIF
FMT(vowel/aa_8)
endphoneme


phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in American
vowel starttype (a) endtype (@)
vowel starttype #a endtype #a
length 260
formants vwl_en_us/ar
appendph r
IfNextVowelAppend(r-)
FMT(vwl_en_us/ar)
endphoneme


phoneme 3:
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 240
formants vwl_en_us/3_us2
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en_us/3_us2)
endphoneme


phoneme i:
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 170
formants vowel/i_en
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i_en)
endphoneme


phoneme O:
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 210
formants vowel/0_3
before r vwl_en_us/oor
reduceto @ 0
ChangeIfDiminished(@)
IF nextPh(r) THEN
FMT(vwl_en_us/oor)
ENDIF
FMT(vowel/0_3)
endphoneme


phoneme O@
vowel starttype (o) endtype (@)
vowel starttype #o endtype #@
length 250
formants vwl_en_us/oor
// formants vwl_en_us/or
appendph r
IfNextVowelAppend(r)
FMT(vwl_en_us/oor)
endphoneme


phoneme o@
vowel starttype (o) endtype (@)
vowel starttype #o endtype #@
length 250
formants vwl_en_us/or
appendph r
IfNextVowelAppend(r)
FMT(vwl_en_us/or)
endphoneme


phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 200
formants vowel/aa#
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/aa#)
endphoneme


phoneme u:
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 190
formants vdiph2/uw
FMT(vdiph2/uw)
endphoneme


phoneme aU
vowel starttype (a) endtype (o)
vowel starttype #a endtype #o
length 235
formants vdiph/aoo
FMT(vdiph/aoo)
endphoneme


phoneme oU
vowel starttype (@) endtype (u)
vowel starttype #@ endtype #u
length 230
formants vdiph/8u
FMT(vdiph/8u)
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 250
formants vdiph/aae
FMT(vdiph/aae)
endphoneme


phoneme eI
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 230
formants vdiph2/ei_4
FMT(vdiph2/ei_4)
endphoneme


phoneme OI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 285
formants vdiph/ooi_4
FMT(vdiph/ooi_4)
endphoneme


phoneme e@
vowel starttype (e) endtype (@)
vowel starttype #e endtype #@
length 280
formants vwl_en_us/er
appendph r
IfNextVowelAppend(r)
FMT(vwl_en_us/er)
endphoneme


phoneme i@3
vowel starttype (i) endtype (@)
vowel starttype #i endtype #@
length 280
formants vwl_en_us/ir
appendph r
IfNextVowelAppend(r)
FMT(vwl_en_us/ir)
endphoneme


phoneme U@
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 250
formants vwl_en_us/ur
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en_us/ur)
endphoneme


phoneme aI@
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 300
formants vwl_en_us/ai@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en_us/ai@)
endphoneme


phoneme aU@
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 300
formants vwl_en_us/aU@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en_us/aU@)
endphoneme


@@ -287,9 +292,32 @@ endphoneme

phoneme r/ // used for [r] when not preceding a vowel
liquid
length 100
lengthmod 2 //
formants NULL
// formants NULL
endphoneme


phoneme t
vls alv stop
voicingswitch d
lengthmod 2

IF prevPh(isVowel) OR prevPh(n) THEN
IF nextPh(isVowel) AND nextPh(isUnstressed) AND thisPh(notWordStart) AND nextPh(notWordStart) THEN
ChangePhoneme(t#)
ENDIF
ENDIF

Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20

IF nextPh(isPause2) THEN
WAV(ustop/t_)
ELIF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN
WAV(ustop/tr)
ELIF nextPh(@-) THEN
WAV(ustop/t_dnt, 50)
ENDIF
WAV(ustop/t, 90)
endphoneme


+ 74
- 78
phsource/ph_english_wi View File

@@ -5,226 +5,222 @@
//*******************************************************************

phoneme @ // Schwa
vowel starttype (@) endtype (@)
formants vowel/@_fnt
vowel starttype #@ endtype #@
unstressed
linkout r-
length 140
IfNextVowelAppend(r-)
FMT(vowel/@_fnt)
endphoneme


phoneme @2 // Schwa, changes to I before a vowel
vowel starttype (@) endtype (@)
formants vowel/@_fnt
vowel starttype #@ endtype #@
unstressed
beforevowel I2
length 120
IF nextPh(isVowel) THEN
ChangePhoneme(I2)
ENDIF
FMT(vowel/@_fnt)
endphoneme



phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 160
formants vowel/a_2
FMT(vowel/a_2)
endphoneme


phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 170
formants vowel/e
reduceto I 0
ChangeIfDiminished(I2)
FMT(vowel/e)
endphoneme


phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 140
formants vowel/ii_6
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii_6)
endphoneme


phoneme I2
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
unstressed
length 140
formants vowel/ii_6
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii_6)
endphoneme


phoneme i // optional variant of [I] for end of words
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 150
formants vowel/i
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i)
endphoneme


phoneme 0
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 140
formants vowel/aa#
FMT(vowel/aa#)
endphoneme


phoneme V
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 140
formants vowel/oo_4
FMT(vowel/oo_4)
endphoneme


phoneme U
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 150
formants vowel/uu_bck
FMT(vowel/uu_bck)
endphoneme



phoneme a2
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
unstressed
length 140
formants vowel/a#
linkout r-
FMT(vowel/a#)
endphoneme


phoneme A:
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 240
formants vowel/a_2
FMT(vowel/a_2)
endphoneme


phoneme A@
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 260
formants vowel/a_2
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/a_2)
endphoneme


phoneme aa // 'bath' etc.
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 210
formants vowel/a_2
FMT(vowel/a_2)
endphoneme


phoneme 3:
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 240
formants vowel/oo_4
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/oo_4)
endphoneme


phoneme i:
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 190
formants vowel/i_fnt
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i_fnt)
endphoneme


phoneme O:
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 240
formants vowel/oo
FMT(vowel/oo)
endphoneme


phoneme O@
vowel starttype (o) endtype (@)
vowel starttype #o endtype #@
length 240
formants vowel/oo
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/oo)
endphoneme


phoneme o@
vowel starttype (o) endtype (@)
vowel starttype #o endtype #@
length 240
formants vdiph2/o_oo
linkout r-
IfNextVowelAppend(r-)
FMT(vdiph2/o_oo)
endphoneme


phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 150
formants vowel/oo
FMT(vowel/oo)
endphoneme


phoneme u:
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 190
formants vowel/u
FMT(vowel/u)
endphoneme


phoneme aU
vowel starttype (a) endtype (u)
vowel starttype #a endtype #u
length 230
formants vdiph/aau_2
FMT(vdiph/aau_2)
endphoneme


phoneme oU
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 230
formants vowel/o
FMT(vowel/o)
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 230
formants vdiph/ai
FMT(vdiph/ai)
endphoneme


phoneme eI
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 210
formants vowel/e
FMT(vowel/e)
endphoneme


phoneme OI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 230
formants vdiph/0i_2
FMT(vdiph/0i_2)
endphoneme


phoneme e@
vowel starttype (e) endtype (@)
vowel starttype #e endtype #@
length 220
formants vdiph2/e@
linkout r-
IfNextVowelAppend(r-)
FMT(vdiph2/e@)
endphoneme


phoneme i@
vowel starttype (i) endtype (a)
vowel starttype #i endtype #a
length 240
formants vdiph2/ie
linkout r-
IfNextVowelAppend(r-)
FMT(vdiph2/ie)
endphoneme



phoneme l
liquid
length 100
lengthmod 7
beforenotvowel l/ // use 'clear' [l] after a vowel
formants l/l
after _ l/_l t l/tl
import_phoneme base/l // use clear [l] before not-vowel
endphoneme


+ 82
- 99
phsource/ph_english_wm View File

@@ -1,255 +1,238 @@

phoneme N
vcd vel nasal
vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
length 100
formants NULL
after _ nn/_nn
before _ nn/nn_
lengthmod 8 // longer than 'n'
linkout g-
IfNextVowelAppend(g-)
CALL base/N
endphoneme




//*******************************************************************
// VOWELS
//*******************************************************************



phoneme @L
vowel starttype (@) endtype l
length 160
formants vwl_en/@L
unstressed
before _ vwl_en/@L
endphoneme


phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 170
formants vowel/a
reduceto a2 0
ChangeIfDiminished(a2)
FMT(vowel/a)
endphoneme


phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 150
formants vowel/e
// formants vowel/ee_1
reduceto I 0
ChangeIfDiminished(I2)
FMT(vowel/e)
endphoneme


phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 140
formants vowel/ii_6
before l vowel/ii
linkout ;
IfNextVowelAppend(;)
IF nextPh(l) OR nextPh(l/2) THEN
FMT(vowel/ii)
ENDIF
FMT(vowel/ii_6)
endphoneme


phoneme I2
vowel starttype (i) endtype (i)
import_phoneme I
unstressed
length 140
formants vowel/ii_6
before l vowel/ii
linkout ;
endphoneme


phoneme i // optional variant of [I] for end of words
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 220
formants vowel/i
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i)
endphoneme


phoneme 0
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 140
formants vowel/oo_4
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/oo_4)
endphoneme


phoneme V
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 140
formants vowel/o-_2
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/o-_2)
endphoneme


phoneme U
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 150
formants vowel/uu
linkout _|
IfNextVowelAppend(_|)
FMT(vowel/uu)
endphoneme


phoneme a2
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
unstressed
length 140
formants vowel/a#_3
// linkout r-
FMT(vowel/a#_3)
endphoneme


phoneme A:
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 240
formants vowel/aa_5
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/aa_5)
endphoneme


phoneme A@
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 240
formants vowel/aa_5
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/aa_5)
endphoneme


phoneme aa // 'bath' etc.
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 150
formants vowel/a
linkout r-
FMT(vowel/a)
endphoneme


phoneme 3:
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 250
formants vowel/y#
reduceto @ 0
linkout r-
ChangeIfDiminished(@)
IfNextVowelAppend(r-)
FMT(vowel/y#)
endphoneme


phoneme i:
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 220
formants vdiph2/ei_3
// after w w/wi2
linkout ;
IfNextVowelAppend(;)
FMT(vdiph2/ei_3)
endphoneme


phoneme O:
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 240
formants vowel/oo_1
reduceto @ 0
linkout r-
ChangeIfDiminished(@)
IfNextVowelAppend(r-)
FMT(vowel/oo_1)
endphoneme


phoneme O@
vowel starttype (o) endtype (@)
vowel starttype #o endtype #@
length 240
formants vowel/oo_1
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/oo_1)
endphoneme


phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 150
formants vowel/oo_1
reduceto @ 0
ChangeIfDiminished(@)
FMT(vowel/oo_1)
endphoneme


phoneme u:
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 200
formants vdiph/@u
FMT(vdiph/@u)
endphoneme


phoneme aU
vowel starttype (a) endtype (u)
vowel starttype #a endtype #u
length 230
formants vdiph/eeu_3
FMT(vdiph/eeu_3)
endphoneme


phoneme oU
vowel starttype (@) endtype (u)
vowel starttype #@ endtype #u
length 220
formants vdiph/Vu_2
FMT(vdiph/Vu_2)
endphoneme


phoneme aI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 240
formants vdiph/ooi_3
FMT(vdiph/ooi_3)
endphoneme


phoneme eI
vowel starttype (@) endtype (i)
vowel starttype #@ endtype #i
length 240
formants vdiph/@i_3
FMT(vdiph/@i_3)
endphoneme


phoneme OI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 230
formants vdiph/oi
FMT(vdiph/oi)
endphoneme


phoneme e@
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 240
formants vowel/3_en
linkout r-
IfNextVowelAppend(r-)
FMT(vowel/3_en)
endphoneme


phoneme i@
vowel starttype (i) endtype (@)
vowel starttype #i endtype #@
length 240
formants vdiph2/i@_2
linkout r-
IfNextVowelAppend(r-)
FMT(vdiph2/i@_2)
endphoneme


phoneme U@
vowel starttype (u) endtype (@)
vowel starttype #u endtype #@
length 200
formants vdiph2/uu@
linkout r-
IfNextVowelAppend(r-)
FMT(vdiph2/uu@)
endphoneme


phoneme aI@
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 270
formants vwl_en/ooi@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en/ooi@)
endphoneme


phoneme aU@
vowel starttype (a) endtype (@)
vowel starttype #a endtype #@
length 270
formants vwl_en/aU@
linkout r-
IfNextVowelAppend(r-)
FMT(vwl_en/aU@)
endphoneme



+ 25
- 31
phsource/ph_esperanto View File

@@ -5,95 +5,89 @@


phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 180
formants vowel/a_2
FMT(vowel/a_2)
endphoneme


phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 170
formants vowel/e
FMT(vowel/e)
endphoneme


phoneme i
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 170
formants vowel/i
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i)
endphoneme


phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 170
formants vowel/oo
FMT(vowel/oo)
endphoneme


phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 170
formants vowel/u
FMT(vowel/u)
endphoneme


phoneme aU
vowel starttype (a) endtype (u)
vowel starttype #a endtype #u
length 250
formants vdiph/au_4
FMT(vdiph/au_4)
endphoneme


phoneme eU
vowel starttype (e) endtype (u)
vowel starttype #e endtype #u
length 250
formants vdiph/eu
FMT(vdiph/eu)
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 250
formants vdiph/ai
FMT(vdiph/ai)
endphoneme


phoneme eI
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 250
formants vdiph/eei_2
FMT(vdiph/eei_2)
endphoneme


phoneme oI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 250
formants vdiph/ooi
FMT(vdiph/ooi)
endphoneme


phoneme uI
vowel starttype (u) endtype (i)
vowel starttype #u endtype #i
length 250
formants vdiph/ui
FMT(vdiph/ui)
endphoneme



// CONSONANTS
//===========



phoneme ts
vls alv afr sibilant
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/ts
before _ ustop/ts_
import_phoneme consonants/ts
endphoneme



+ 120
- 132
phsource/ph_finnish View File

@@ -11,87 +11,87 @@ endphoneme


phoneme i
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 140
formants vowel/i_4
linkout ;
reduceto I 1
IfNextVowelAppend(;)
ChangeIfUnstressed(I)
FMT(vowel/i_4)
endphoneme

phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 140
formants vowel/ii_3
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii_3)
endphoneme



phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 150
formants vowel/e_mid2
FMT(vowel/e_mid2)
endphoneme


phoneme &
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 150
formants vowel/&
FMT(vowel/&)
endphoneme


phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 170
formants vowel/aa_9
// reduceto a2 1
// ChangeIfUnstressed(a2)
FMT(vowel/aa_9)
endphoneme

phoneme a2
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 170
formants vowel/aa#
FMT(vowel/aa#)
endphoneme


phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 155
formants vowel/oo_1
FMT(vowel/oo_1)
endphoneme

phoneme Y
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 155
formants vowel/y#
FMT(vowel/y#)
endphoneme


phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 140
formants vowel/u_bck
FMT(vowel/u_bck)
endphoneme

phoneme u1 // TEST
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 140
formants vowel/u_2
FMT(vowel/u_2)
endphoneme

phoneme U // TEST
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 140
formants vowel/uu_4
FMT(vowel/uu_4)
endphoneme



phoneme y
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 150
formants vowel/y
FMT(vowel/y)
endphoneme


@@ -101,132 +101,132 @@ endphoneme
//===========

phoneme ai
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 310
long
formants vdiph/aai_3
FMT(vdiph/aai_3)
endphoneme

phoneme &i
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 290
long
formants vdiph/&i
FMT(vdiph/&i)
endphoneme

phoneme oi
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 280
long
formants vdiph/ooi
FMT(vdiph/ooi)
endphoneme

phoneme ei
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 280
long
formants vdiph/eei_2
FMT(vdiph/eei_2)
endphoneme

phoneme Yi
vowel starttype (@) endtype (i)
vowel starttype #@ endtype #i
length 270
long
formants vdiph/y#i
FMT(vdiph/y#i)
endphoneme

phoneme ui
vowel starttype (u) endtype (i)
vowel starttype #u endtype #i
length 270
long
formants vdiph/ui_4
FMT(vdiph/ui_4)
endphoneme

phoneme yi
vowel starttype (u) endtype (i)
vowel starttype #u endtype #i
length 270
long
formants vdiph/yi
FMT(vdiph/yi)
endphoneme


phoneme au
vowel starttype (a) endtype (u)
vowel starttype #a endtype #u
length 300
long
formants vdiph/aau
FMT(vdiph/aau)
endphoneme

phoneme ou
vowel starttype (o) endtype (u)
vowel starttype #o endtype #u
length 280
long
formants vdiph/ou
FMT(vdiph/ou)
endphoneme

phoneme eu
vowel starttype (e) endtype (u)
vowel starttype #e endtype #u
length 280
long
formants vdiph/eu_2
FMT(vdiph/eu_2)
endphoneme

phoneme iu
vowel starttype (i) endtype (u)
vowel starttype #i endtype #u
length 280
long
formants vdiph2/iu_2
FMT(vdiph2/iu_2)
endphoneme


phoneme &y
vowel starttype (a) endtype (u)
vowel starttype #a endtype #u
length 280
long
formants vdiph/&y
FMT(vdiph/&y)
endphoneme

phoneme ey
vowel starttype (e) endtype (u)
vowel starttype #e endtype #u
length 280
long
formants vdiph/eey
FMT(vdiph/eey)
endphoneme

phoneme Yy
vowel starttype (@) endtype (u)
vowel starttype #@ endtype #u
length 270
long
formants vdiph/y#y
FMT(vdiph/y#y)
endphoneme

phoneme iy
vowel starttype (i) endtype (u)
vowel starttype #i endtype #u
length 260
long
formants vdiph2/iy
FMT(vdiph2/iy)
endphoneme


phoneme uo
vowel starttype (u) endtype (o)
vowel starttype #u endtype #o
length 280
long
formants vdiph2/uo
FMT(vdiph2/uo)
endphoneme

phoneme ie
vowel starttype (i) endtype (e)
vowel starttype #i endtype #e
length 280
long
formants vdiph2/ie
FMT(vdiph2/ie)
endphoneme

phoneme yY
vowel starttype (u) endtype (@)
vowel starttype #u endtype #@
length 280
long
formants vdiph2/y-y#
FMT(vdiph2/y-y#)
endphoneme


@@ -236,109 +236,97 @@ endphoneme
//===========


phoneme r // this is [R2] but shorter

phoneme R2 // this is [R2], but shorter
liquid
vowelin f1=0 f2=1700 -300 300 f3=-300 80
vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk
formants r3/r_trill_short+r3/r_trill.wav%50
trill
lengthmod 6
Vowelin f1=0 f2=1700 -300 300 f3=-300 80
Vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk
FMT(r3/r_trill_short) addWav(r3/r_trill.wav, 50)
endphoneme




phoneme v // approximant, not fricative
vcd lbd frc
vowelin f1=0 f2=1000 -300 -200 f3=-300 100
vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50
lengthmod 6
formants voc/v
before _ voc/v_
switchvoicing f
voicingswitch f
Vowelin f1=0 f2=1000 -300 -200 f3=-300 100
Vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50
IF nextPh(isPause2) THEN
FMT(voc/v_)
ENDIF
FMT(voc/v)
endphoneme


phoneme t // dental variant of /t/
vls dnt stop
vowelin f1=0 f2=1600 -300 300 f3=-100 80
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_dnt%50
before _ ustop/t_dnt%35
switchvoicing d
import_phoneme base/t[
voicingswitch d
endphoneme



phoneme d // (weak) dental variant of /d/
phoneme d
vcd dnt stop
vowelin f1=2 f2=1700 -100 200 f3=0 80
vowelout f1=2 f2=1700 -100 200 f3=0 80 rms=20
// vowelin f1=2 f2=2095 100 200 f3=100 80
// vowelout f1=2 f2=3000 100 200 f3=100 80 rms=20 len=1
formants d/d+x/d_dnt%60
before _ d/d_+x/d_
before r d/dr+x/d_dnt%60
after _ NULL
after @ d/xd
voicingswitch t
lengthmod 5
switchvoicing t
Vowelin f1=2 f2=1700 -100 200 f3=0 80
Vowelout f1=2 f2=1700 -100 200 f3=0 80 rms=20

IF PreVoicing THEN
FMT(d/xd)
ENDIF

IF nextPh(isPause2) THEN
FMT(d/d_) addWav(x/d_)
ELIF nextPh(r) THEN
FMT(d/dr) addWav(x/d_dnt, 60)
ENDIF

FMT(d/d) addWav(x/d_dnt, 60)
endphoneme



phoneme p
vls blb stop
vowelin f1=0 f2=1000 -50 -100 f3=-200 80
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
lengthmod 2
wave ustop/p_unasp
before _ ustop/p_unasp_%80
before r ustop/pr
before l ustop/pl
switchvoicing b
import_phoneme base2/p
voicingswitch b
endphoneme



phoneme k
vls vel stop
vowelin f1=0 f2=2300 200 400 f3=-100 80
vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
lengthmod 2
wave ustop/k_unasp%60 // weaker
before _ ustop/k_
before r ustop/kr
before l ustop/kl
before (i) ustop/ki
switchvoicing g
endphoneme


phoneme s2
vls alv frc sibilant
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 3
wave ufric/s_continue
before _ ufric/s_
before p ufric/s!
before t ufric/s!
before k ufric/s!
switchvoicing z
import_phoneme base2/k
voicingswitch g
endphoneme


phoneme s2 // second part of long [s]
import_phoneme consonants/s2
endphoneme


phoneme h
vls glt apr
length 100
lengthmod 3
wave h/h_%70 // no vowel following
before (@) h/h@
before (a) h/ha
before (e) h/he
before (i) h/hi
before (o) h/hu_fi%70
before (u) h/hu_fi%80

IF nextPh(#@) THEN
WAV(h/h@)
ELIF nextPh(#a) THEN
WAV(h/ha)
ELIF nextPh(#e) THEN
WAV(h/he)
ELIF nextPh(#i) THEN
WAV(h/hi)
ELIF nextPh(#o) THEN
WAV(h/hu_fi, 70)
ELIF nextPh(#u) THEN
WAV(h/hu_fi, 80)
ENDIF
WAV(h/h_, 70) // no vowel following
endphoneme



+ 493
- 377
phsource/ph_french
File diff suppressed because it is too large
View File


+ 23
- 24
phsource/ph_french_ca View File

@@ -16,56 +16,56 @@ endphoneme


phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 164
formants vowel/e_mid
FMT(vowel/e_mid)
endphoneme


phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 174
formants vowel/u_bck
FMT(vowel/u_bck)
endphoneme


phoneme E~
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 192
formants vnasal/ee_n
FMT(vnasal/ee_n)
endphoneme


phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 158
formants vowel/ii
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii)
endphoneme

phoneme U
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 150
formants vowel/uu_bck
FMT(vowel/uu_bck)
endphoneme


phoneme y"
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 140
formants vowel/yy // was sv_y2
FMT(vowel/yy) // was sv_y2
endphoneme

phoneme E: // [ae] diphthong
vowel starttype (@) endtype (e)
vowel starttype #@ endtype #e
length 230
formants vdiph/ae
FMT(vdiph/ae)
endphoneme

phoneme A
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 166
formants vowel/aa
FMT(vowel/aa)
endphoneme


@@ -77,12 +77,11 @@ endphoneme
// uses the consonants in file "phonemes", unless overridden here

phoneme R
liquid
vowelin f1=0 f2=1500 -400 400 f3=-400 80
length 100
liquid trill
lengthmod 7
beforenotvowel r/
trill
formants vwl_fr/@R2+r3/rx%120
Vowelin f1=0 f2=1500 -400 400 f3=-400 80
IF nextPh(isNotVowel) THEN
ChangePhoneme(r/)
ENDIF
FMT(vwl_fr/@R2) addWav(r3/rx, 120)
endphoneme


+ 161
- 115
phsource/ph_german View File

@@ -7,204 +7,238 @@


phoneme @ // Schwa
vowel starttype (@) endtype (@)
formants vowel/@_3
vowel starttype #@ endtype #@
unstressed
before r/ vowel/a#_3 // replace [@r] by [3]
length 125
IF nextPh(r/) THEN
FMT(vowel/a#_3) // replace [@r] by [3]
ENDIF
FMT(vowel/@_3)
endphoneme


phoneme 3 // open Schwa
vowel starttype (@) endtype (@)
// formants vwl_de/3
formants vowel/a#_3
vowel starttype #@ endtype #@
unstressed
// length 160
length 125
FMT(vowel/a#_3)
endphoneme


phoneme a
vowel starttype (a) endtype (a)
// length 140
vowel starttype #a endtype #a
length 110
formants vowel/a
before * DFT+40
IF nextPh(*) THEN
length 150
ENDIF
FMT(vowel/a)
endphoneme


phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 120
formants vowel/e_mid2
before * DFT+40
IF nextPh(*) THEN
length 160
ENDIF
FMT(vowel/e_mid2)
endphoneme


phoneme E2 // as[E] but reduces to @ if unstressed
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 120
formants vowel/e_mid2
before * DFT+40
reduceto @ 0
ChangeIfDiminished(@)
IF nextPh(*) THEN
length 160
ENDIF
FMT(vowel/e_mid2)
endphoneme


phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 120
formants vowel/ii
before * DFT+40
linkout ;
IF nextPh(*) THEN
length 160
ENDIF
IfNextVowelAppend(;)
FMT(vowel/ii)
endphoneme


phoneme I:
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 190
formants vowel/ii
FMT(vowel/ii)
endphoneme


phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 120
formants vowel/oo
before * DFT+40
IF nextPh(*) THEN
length 160
ENDIF
FMT(vowel/oo)
endphoneme


phoneme U
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 140
formants vowel/uu_2
before * DFT+40
IF nextPh(*) THEN
length 180
ENDIF
FMT(vowel/uu_2)
endphoneme


phoneme A:
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 250
formants vowel/aa_6
FMT(vowel/aa_6)
endphoneme

phoneme A
vowel starttype (a) endtype (a)

phoneme A // reduces to [a] if not stressed
vowel starttype #a endtype #a
length 240
formants vowel/aa_6
reduceto a 4 // ??
ChangeIfNotStressed(a)
FMT(vowel/aa_6)
endphoneme


phoneme i:
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 180
formants vowel/i_2
after w w/wi2
before * DFT+40
IF nextPh(*) THEN
length 220
ENDIF
IF prevPh(w) THEN
VowelStart(w/wi2)
ENDIF
FMT(vowel/i_2)
endphoneme


phoneme i2
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 180
formants vowel/i_2
after w w/wi2
before * DFT+40
reduceto I 4
IF nextPh(*) THEN
length 220
ENDIF
ChangeIfNotStressed(I)
IF prevPh(w) THEN
VowelStart(w/wi2)
ENDIF
FMT(vowel/i_2)
endphoneme


phoneme u:
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 190
// formants vwl_de/u:
formants vowel/u
before * DFT+40
IF nextPh(*) THEN
length 230
ENDIF
FMT(vowel/u)
endphoneme


phoneme aU
vowel starttype (a) endtype (u)
vowel starttype #a endtype #u
length 220
formants vdiph/aau_2
FMT(vdiph/aau_2)
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 210
formants vdiph/ai_5
FMT(vdiph/ai_5)
endphoneme


phoneme EI
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 210
formants vdiph/eei
FMT(vdiph/eei)
endphoneme



phoneme OY
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 220
formants vdiph/oi
FMT(vdiph/oi)
endphoneme


phoneme E:
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 190
formants vowel/e_mid2
FMT(vowel/e_mid2)
endphoneme


phoneme e:
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 190
formants vowel/e_2
before * DFT+40
IF nextPh(*) THEN
length 230
ENDIF
FMT(vowel/e_2)
endphoneme


phoneme o:
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 200
formants vowel/o
before * DFT+40
IF nextPh(*) THEN
length 240
ENDIF
FMT(vowel/o)
endphoneme


phoneme y:
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 200
formants vowel/y
before * DFT+40
IF nextPh(*) THEN
length 240
ENDIF
FMT(vowel/y)
endphoneme


phoneme y
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 130
formants vowel/yy_4
before * DFT+40
IF nextPh(*) THEN
length 170
ENDIF
FMT(vowel/yy_4)
endphoneme


phoneme Y:
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 220
formants vowel/y#
before * DFT+40
IF nextPh(*) THEN
length 260
ENDIF
FMT(vowel/y#)
endphoneme


phoneme W
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 160
formants vowel/oe
before * DFT+40
IF nextPh(*) THEN
length 200
ENDIF
FMT(vowel/oe)
endphoneme


@@ -213,73 +247,85 @@ endphoneme
//===========

phoneme ts
vls alv afr sibilant
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/ts
before _ ustop/ts_
import_phoneme consonants/ts
endphoneme


phoneme pF
vls blb afr
vowelout f1=0 f2=1000 -500 -350 f3=-200 80
Vowelout f1=0 f2=1000 -500 -350 f3=-200 80
lengthmod 2
wave ufric/f // could replace this with a [pf] wav file
WAV(ufric/f) // could replace this with a [pf] wav file
endphoneme


phoneme C2 // for "ig" -> [IC] or [Ig]
vls pal frc palatal
beforevowel g
vowelin f1=0 f2=2700 400 600 f3=200 70
vowelout f1=0 f2=2700 400 600 f3=200 70 rms=20
length 100
lengthmod 3
wave ufric/ch
IF nextPh(isVowel) THEN
ChangePhoneme(g)
ENDIF
CALL C
endphoneme


phoneme l/ // used for [l] when not before a vowel
liquid
length 100
lengthmod 7
formants l/l_3
before (r) l/_l
beforevowel l

IF nextPh(isVowel) THEN
ChangePhoneme(l)
ENDIF

PrevVowelEndings
VowelEnding(l/L1_@L, -60)
VowelEnding(l/L1_aL, -40)
VowelEnding(l/L1_eL, -30)
VowelEnding(l/L1_iL, -30)
VowelEnding(l/L1_oL, -40)
VowelEnding(l/L1_uL, -40)
EndSwitch

FMT(l/l_3)
endphoneme


phoneme j
liquid
palatal
length 100
beforenotvowel j/
formants NULL
after _ j/_j_short
liquid palatal
lengthmod 7

IF nextPh(isVowel) THEN
NextVowelStarts
VowelStart(j/j@)
VowelStart(j/ja)
VowelStart(j/je)
VowelStart(j/ji)
VowelStart(j/jo)
VowelStart(j/ju)
EndSwitch

VowelEnding(j/xj, -30)

IF prevPh(isPause) THEN
FMT(j/_j_short) // difference from base/j
ENDIF
ELSE
// no vowel follows
Vowelout len=70
FMT(j/j_)
ENDIF
endphoneme




// This is actually the ENGLISH "rolling r". For german, we now use * in the dictionary,
// so this phoneme will only be used in english words in german texts.
phoneme r
liquid starttype #r endtype #r
lengthmod 7
beforenotvowel r/
liquid rhotic
trill
formants r/r
after _ r/rr
after t r/trr p r/trr k r/trr
before _ r/r_
endphoneme


phoneme r/ // variant of [r] when not preceding a vowel, in english words only
liquid vowel2
length 100
lengthmod 7 //
formants NULL
lengthmod 7
CALL base/r
endphoneme



+ 31
- 33
phsource/ph_greek View File

@@ -5,28 +5,28 @@


phoneme a/
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 180
formants vowel/a_4
FMT(vowel/a_4)
endphoneme

phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 180
formants vowel/e_mid2
FMT(vowel/e_mid2)
endphoneme

phoneme i
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 140
formants vowel/i
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i)
endphoneme

phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 180
formants vowel/oo
FMT(vowel/oo)
endphoneme


@@ -35,39 +35,37 @@ endphoneme

phoneme t // revert to alveolar /t/
vls alv stop
vowelin f1=1 f2=1600 -300 300 f3=-100 80 amp=11
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_short%80
before _ ustop/t_
switchvoicing d
voicingswitch d
Vowelin f1=1 f2=1600 -300 300 f3=-100 80 amp=11
Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/t_)
ENDIF
WAV(ustop/t_short, 80)
endphoneme


phoneme d // revert to alveolar /d/
vcd alv stop
vowelin f1=2 f2=1700 -300 300 f3=-100 80
vowelout f1=2 f2=1700 -300 300 f3=-100 80
formants d/d+x/d
before _ d/d_+x/d_
before r d/dr+x/d
after _ NULL
after @ d/xd
lengthmod 5
switchvoicing t
import_phoneme base/d
voicingswitch t
endphoneme


phoneme k
vls vel stop
vowelin f1=0 f2=2300 200 400 f3=-100 80
vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
lengthmod 2
wave ustop/k_unasp%70
before _ ustop/k_
before r ustop/kr
before l ustop/kl
// before (i) ustop/ki
switchvoicing g
voicingswitch g
Vowelin f1=0 f2=2300 200 400 f3=-100 80
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20

IF nextPh(isPause2) THEN
WAV(ustop/k_)
ELIF nextPh(isRhotic) THEN
WAV(ustop/kr)
ELIF nextPh(l) THEN
WAV(ustop/kl)
ENDIF
WAV(ustop/k_unasp, 70)
endphoneme


+ 20
- 20
phsource/ph_greek_ancient View File

@@ -10,66 +10,66 @@ endphoneme


phoneme y
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 160
formants vowel/yy_4
FMT(vowel/yy_4)
endphoneme

phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 140
formants vowel/e
FMT(vowel/e)
endphoneme

phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 150
formants vowel/ee_1
FMT(vowel/ee_1)
endphoneme

phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 140
formants vowel/o
FMT(vowel/o)
endphoneme

phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 150
formants vowel/0
FMT(vowel/0)
endphoneme


phoneme EU
vowel starttype (e) endtype (u)
vowel starttype #e endtype #u
length 230
formants vdiph/eeu
FMT(vdiph/eeu)
endphoneme

phoneme OI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 230
formants vdiph/0i
FMT(vdiph/0i)
endphoneme

phoneme OU
vowel starttype (o) endtype (u)
vowel starttype #o endtype #u
length 230
formants vdiph/oou
FMT(vdiph/oou)
endphoneme


phoneme yI
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 230
formants vdiph/yi
FMT(vdiph/yi)
endphoneme


phoneme f // consider this an affrictive
vls blb afr
vowelout f1=0 f2=1000 -500 -350 f3=-200 80
lengthmod 2
wave ufric/f // could replace this with a [pf] wav file
Vowelout f1=0 f2=1000 -500 -350 f3=-200 80
WAV(ufric/f) // could replace this with a [pf] wav file
endphoneme


+ 182
- 286
phsource/ph_hindi View File

@@ -9,151 +9,155 @@ phoneme : // Lengthen the previous vowel by "length"
endphoneme

phoneme @
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 130
formants vowel/@_bck
before H vowel/@_low
reduceto @- 0
ChangeIfDiminished(@-)
IF nextPh(H) THEN
FMT(vowel/@_low)
ENDIF
FMT(vowel/@_bck)
endphoneme

phoneme @/
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 130
formants vowel/@_bck
FMT(vowel/@_bck)
endphoneme

phoneme V
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 130
formants vowel/V_3
before H vowel/@_low
reduceto @ 4
ChangeIfNotStressed(@)
IF nextPh(H) THEN
FMT(vowel/@_low)
ENDIF
FMT(vowel/V_3)
endphoneme

phoneme @2
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 130
formants vowel/@_low
FMT(vowel/@_low)
endphoneme

phoneme @3
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 130
formants vowel/@_3
reduceto @- 0
ChangeIfDiminished(@-)
FMT(vowel/@_3)
endphoneme

phoneme @4
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 130
formants vowel/@
FMT(vowel/@)
endphoneme




phoneme i:
vowel long starttype (i) endtype (i)
vowel long starttype #i endtype #i
length 230
formants vowel/i_fnt
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i_fnt)
endphoneme

phoneme i // as [i:] but not marked as 'long'
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 230
formants vowel/i_6
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i_6)
endphoneme

phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 100
formants vowel/ii_3
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii_3)
endphoneme

phoneme e:
vowel long starttype (e) endtype (e)
vowel long starttype #e endtype #e
length 220
formants vowel/e_2
FMT(vowel/e_2)
endphoneme

phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 130
formants vowel/e_2
FMT(vowel/e_2)
endphoneme

phoneme E:
vowel long starttype (e) endtype (e)
vowel long starttype #e endtype #e
length 220
formants vdiph/ee-e
FMT(vdiph/ee-e)
endphoneme

phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 130
formants vowel/e_mid
FMT(vowel/e_mid)
endphoneme

phoneme &:
vowel long starttype (a) endtype (a)
vowel long starttype #a endtype #a
length 220
formants vowel/&
FMT(vowel/&)
endphoneme


phoneme a:
vowel long starttype (a) endtype (a)
vowel long starttype #a endtype #a
length 230
formants vowel/aa_9
FMT(vowel/aa_9)
endphoneme

phoneme a
vowel long starttype (a) endtype (a)
vowel long starttype #a endtype #a
length 130
formants vowel/a#_3
FMT(vowel/a#_3)
endphoneme


phoneme o:
vowel long starttype (o) endtype (o)
vowel long starttype #o endtype #o
length 220
formants vowel/o_2
FMT(vowel/o_2)
endphoneme

phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 130
formants vowel/o
FMT(vowel/o)
endphoneme

phoneme O:
vowel long starttype (o) endtype (o)
vowel long starttype #o endtype #o
length 210
formants vowel/oo_4
FMT(vowel/oo_4)
endphoneme


phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 130
formants vowel/0
FMT(vowel/0)
endphoneme


phoneme U
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 120
formants vowel/uu_bck
FMT(vowel/uu_bck)
endphoneme


phoneme u:
vowel long starttype (u) endtype (u)
vowel long starttype #u endtype #u
length 230
formants vowel/u_bck
FMT(vowel/u_bck)
endphoneme


@@ -161,98 +165,82 @@ endphoneme
//=============

phoneme i~
vowel long starttype (i) endtype (i)
vowel long starttype #i endtype #i
length 220
formants vnasal/i_n2
FMT(vnasal/i_n2)
endphoneme

phoneme I~
vowel starttype (i) endtype (i)
vowel long starttype #i endtype #i
length 170
formants vnasal/ii_n
FMT(vnasal/ii_n)
endphoneme

phoneme e~
vowel long starttype (e) endtype (e)
vowel long starttype #e endtype #e
length 220
formants vnasal/e_n
FMT(vnasal/e_n)
endphoneme

phoneme E~
vowel long starttype (e) endtype (e)
phoneme E~
vowel long starttype #e endtype #e
length 230
formants vnasal/ee_n2
FMT(vnasal/ee_n2)
endphoneme

phoneme a~
vowel long starttype (a) endtype (a)
vowel long starttype #a endtype #a
length 250
formants vnasal/aa_n
FMT(vnasal/aa_n)
endphoneme

phoneme V~
vowel long starttype (@) endtype (@)
vowel long starttype #@ endtype #@
length 250
formants vnasal/V_n
FMT(vnasal/V_n)
endphoneme

phoneme O~
vowel long starttype (o) endtype (o)
vowel long starttype #o endtype #o
length 230
formants vnasal/oo_n2
FMT(vnasal/oo_n2)
endphoneme

phoneme o~
vowel long starttype (o) endtype (o)
vowel long starttype #o endtype #o
length 220
formants vnasal/o_n
endphoneme

phoneme u~
vowel long starttype (u) endtype (u)
length 230
formants vnasal/u_n
FMT(vnasal/o_n)
endphoneme

phoneme U~
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 170
formants vnasal/u_n
FMT(vnasal/u_n)
endphoneme


phoneme r-
vowel starttype (@) endtype (@)
unstressed
length 220
formants vowelr/r-voc
endphoneme

phoneme l-
vowel starttype (@) endtype (@)
unstressed
length 200
formants vwl_hi/l-voc
phoneme u~
vowel long starttype #u endtype #u
length 230
FMT(vnasal/u_n)
endphoneme



// Diphthongs
//===========


phoneme aI
vowel long starttype (@) endtype (i)
vowel long starttype #@ endtype #i
length 240
long
formants vdiph/&i
FMT(vdiph/&i)
endphoneme

phoneme aU
vowel long starttype (a) endtype (u)
vowel long starttype #a endtype #u
length 240
long
formants vdiph/aau_3
FMT(vdiph/aau_3)
endphoneme


@@ -260,51 +248,14 @@ endphoneme
// CONSONANTS
//===========

phoneme l.
liquid rfx
lengthmod 7
formants l^/l_rfx
endphoneme




phoneme v // approximant
vcd lbd frc
vowelin f1=1 f2=900 -300 -300 f3=-100 100
vowelout f1=1 f2=900 -500 -300 f3=-100 60 len=50
lengthmod 6
formants voc/v#
before _ voc/v#_
switchvoicing f
phoneme v // approximant, not fricative
import_phoneme base/v#
voicingswitch f
endphoneme



phoneme h // use with voiced aspirated conants [bh] [dh] etc
vls glt apr
length 100
lengthmod 3
wave h/h_%70 // no vowel following
before (@) h/h@+35
before (a) h/ha+35
before (e) h/he+35
before (i) h/hi+35
before (o) h/ho+35
before (u) h/hu+35
endphoneme

phoneme H // use for full "h"
vls glt apr
length 100
lengthmod 3
wave h/h_%70 // no vowel following
before (@) h/h@
before (a) h/ha
before (e) h/he
before (i) h/hi
before (o) h/ho
before (u) h/hu
import_phoneme base/h
endphoneme


@@ -313,58 +264,32 @@ endphoneme
//==================

phoneme p
vls blb stop
vowelin f1=1 f2=1000 -50 -100 f3=-200 80
vowelout f1=1 f2=1000 -500 -350 f3=-300 80 rms=30
lengthmod 2
wave ustop/p_unasp
before _ ustop/p_unasp_%80
before r ustop/pr
before l ustop/pl
switchvoicing b
import_phoneme consonants/p-
endphoneme


phoneme ph
vls blb stop
vowelin f1=0 f2=1000 -50 -100 f3=-200 80
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
lengthmod 2
wave ustop/p_asp
before _ ustop/p_
before r ustop/pr
before l ustop/pl
switchvoicing b
import_phoneme consonants/ph
endphoneme


phoneme b // this is [b]
vcd blb stop
vowelout f1=1 f2=1000 -500 -300 f3=-300 80 brk
formants b/b+x/b
before _ b/b_+x/b
before (a) b/ba+x/b
before (@) b/b@+x/b
before (e) b/be+x/b
before (i) b/bi+x/b
before (o) b/bo+x/b
before (u) b/bu+x/b
before @- b/b@2+x/b
after _ NULL
after @ b/xb
lengthmod 5
switchvoicing p
import_phoneme base/b
endphoneme


phoneme bh
vcd blb stop
vowelin f1=0 f2=1000 -50 -100 f3=-200 80
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
lengthmod 5
formants b/xb+ustop/p_asp%70
after @ b/xb
switchvoicing ph
voicingswitch ph
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30

IF PreVoicing THEN
FMT(b/xb)
ENDIF

FMT( b/xb) addWav(ustop/p_asp, 70)
endphoneme


@@ -374,51 +299,42 @@ endphoneme
//==================

phoneme t // dental variant of /t/
vls dnt stop
vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16
vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_hi%60
before _ ustop/t_dnt%35
switchvoicing d
import_phoneme base/t[
voicingswitch d
endphoneme



phoneme th // dental variant of /t/
vls dnt stop
vowelin f1=0 f2=1500 -300 300 f3=-100 80 amp=16
vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_dnt%50
before _ ustop/t_dnt%35
switchvoicing d
voicingswitch d
Vowelin f1=0 f2=1500 -300 300 f3=-100 80 amp=16
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/t_dnt, 35)
ENDIF
WAV(ustop/t_dnt, 50)
endphoneme



phoneme d // dental variant of /d/
vcd dnt stop
vowelin f1=2 f2=1500 -300 300 f3=-150 80
vowelout f1=2 f2=1500 -300 300 f3=-150 80
formants d/d+x/d_dnt%110
before _ d/d_+x/d_
before r d/dr+x/d_dnt%110
after _ NULL
after @ d/xd
lengthmod 5
switchvoicing t
import_phoneme base/d[
voicingswitch t
endphoneme


phoneme dh
vcd dnt stop
vowelin f1=0 f2=1500 -300 300 f3=-100 80
vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
lengthmod 5
formants d/xd3+ustop/t_dnt%40
after @ d/xd
switchvoicing th
voicingswitch th
Vowelin f1=0 f2=1500 -300 300 f3=-100 80
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20

IF PreVoicing THEN
FMT(d/xd)
ENDIF

FMT(d/xd3) addWav(ustop/t_dnt, 40)
endphoneme


@@ -429,46 +345,55 @@ endphoneme

phoneme t.
vls rfx stop
vowelin f1=0 f2=1800 -300 300 f3=-400 80
vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2
lengthmod 2
wave ustop/t_short
before _ ustop/t_
switchvoicing d.
voicingswitch d.
Vowelin f1=0 f2=1800 -300 300 f3=-400 80
Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2
WAV(ustop/t_short)
endphoneme

phoneme th.
vls rfx stop
vowelin f1=0 f2=1800 -300 300 f3=-400 80
vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2
lengthmod 2
wave ustop/t
// wave ustop/th_rfx
switchvoicing dh.
voicingswitch dh.
Vowelin f1=0 f2=1800 -300 300 f3=-400 80
Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2
// WAV(ustop/th_rfx)
WAV(ustop/t)
endphoneme

phoneme d.
vcd rfx stop
vowelin f1=1 f2=1800 -300 300 f3=-400 80
vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2
formants d/d+x/d
before _ d/d_+x/d_
before r d/dr+x/d
after _ NULL
after @ d/xd
lengthmod 5
switchvoicing t.
voicingswitch t.
Vowelin f1=1 f2=1800 -300 300 f3=-400 80
Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2

IF PreVoicing THEN
FMT(d/xd)
ENDIF

IF nextPh(isPause2) THEN
FMT(d/d_) addWav(x/d_)
ENDIF

FMT(d/dr) addWav(x/d)
endphoneme


phoneme dh.
vcd rfx stop
vowelin f1=1 f2=1800 -300 300 f3=-400 80
vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2
formants d/xd+x/d+ustop/t
// formants d/xd+x/d+ustop/th_rfx
after @ d/xd
lengthmod 5
switchvoicing th.
voicingswitch th.
Vowelin f1=1 f2=1800 -300 300 f3=-400 80
Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2

IF PreVoicing THEN
FMT(d/xd)
ENDIF

FMT(d/dr) addWav(ustop/t)
// FMT(d/dr) addWav(ustop/th_rfx)
endphoneme


@@ -479,48 +404,33 @@ endphoneme

// also try [tS] and [dZ]

phoneme c // this is [ts;]
vls pal afr sibilant
vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1
lengthmod 2
wave ustop/ts_pzd2%90
before _ ustop/ts_pzd_
switchvoicing J
phoneme c
import_phoneme base/c
endphoneme


phoneme ch // this is [ts;]
vls pal afr sibilant
vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1
lengthmod 2
wave ustop/ts_pzd
before _ ustop/ts_pzd
switchvoicing J
phoneme ch
import_phoneme base/tS;
endphoneme


phoneme J // this is [dz;]
vcd pla afr sibilant
vowelin f1=1 f2=2700 400 600 f3=300 80 rate len=70
vowelout f1=2 f2=2700 400 600 f3=300 80 colr=1
formants dzh/dzh+x/dz_pzd
before _ dzh/dzh_+x/dzh_
after _ NULL @ dzh/xdzh
lengthmod 5
switchvoicing c
phoneme J
import_phoneme base/J
endphoneme


phoneme Jh
vcd pal afr sibilant
vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1
lengthmod 5
formants dzh/xdz_pzd+ustop/ts_pzd
after @ dzh/xdz_pzd
switchvoicing ch
voicingswitch ch
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
Vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1

IF PreVoicing THEN
FMT(dzh/xdz_pzd)
ENDIF

FMT(dzh/xdz_pzd) addWav(ustop/ts_pzd)
endphoneme


@@ -532,48 +442,34 @@ endphoneme


phoneme k
vls vel stop
vowelin f1=0 f2=2300 200 300 f3=-150 80
vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
lengthmod 2
wave ustop/k_unasp%60 // weaker
before _ ustop/k_unasp%50
switchvoicing g
import_phoneme consonants/k-
voicingswitch g
endphoneme

phoneme kh
vls vel stop
vowelin f1=0 f2=2300 200 300 f3=-150 80
vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
lengthmod 2
wave ustop/k_asp%90
before _ ustop/k_asp%50
before r ustop/kr
before l ustop/kl
switchvoicing g
import_phoneme consonants/kh
voicingswitch gh
endphoneme


phoneme g
vcd vel stop
vowelin f1=1 f2=2300 200 300 f3=-300 80
vowelout f1=1 f2=2300 250 300 f3=-300 80 brk
formants g/g+x/g2
before _ g/g_+x/g2_
after _ NULL
after @ g2/xg
lengthmod 5
import_phoneme base/g
voicingswitch k
endphoneme


phoneme gh
vcd dnt stop
vowelin f1=1 f2=2300 200 300 f3=-150 80 rms=20
vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
lengthmod 5
formants g2/xg+ustop/k_asp%70
after @ g2/xg
switchvoicing kh
voicingswitch kh
Vowelin f1=1 f2=2300 200 300 f3=-150 80 rms=20
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20

IF PreVoicing THEN
FMT(g2/xg)
ENDIF

FMT(g2/xg) addWav(ustop/k_asp, 70)
endphoneme



+ 76
- 101
phsource/ph_hungarian View File

@@ -2,99 +2,91 @@
// Short vowels

phoneme A
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 140
formants vowel/0_3
FMT(vowel/0_3)
endphoneme

phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 140
formants vowel/e_mid
FMT(vowel/e_mid)
endphoneme

phoneme i
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 140
formants vowel/i_4
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i_4)
endphoneme

phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 130
formants vowel/o_mid
FMT(vowel/o_mid)
endphoneme

phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 130
formants vowel/uu_bck
FMT(vowel/uu_bck)
endphoneme

phoneme Y
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 130
formants vowel/y#_2
FMT(vowel/y#_2)
endphoneme

phoneme y
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 130
formants vowel/yy_4
FMT(vowel/yy_4)
endphoneme


// Long Vowels

phoneme i:
vowel starttype (i) endtype (i)
long
vowel starttype #i endtype #i
length 220
formants vowel/i
// linkout ;
FMT(vowel/i)
endphoneme

phoneme e:
vowel starttype (e) endtype (e)
long
vowel starttype #e endtype #e
length 240
formants vowel/e_3
FMT(vowel/e_3)
endphoneme

phoneme a:
vowel starttype (a) endtype (a)
long
vowel starttype #a endtype #a
length 270
formants vowel/a
FMT(vowel/a)
endphoneme

phoneme o:
vowel starttype (o) endtype (o)
long
vowel starttype #o endtype #o
length 260
formants vowel/o_2
FMT(vowel/o_2)
endphoneme

phoneme u:
vowel starttype (u) endtype (u)
long
vowel starttype #u endtype #u
length 240
formants vowel/u_bck
FMT(vowel/u_bck)
endphoneme

phoneme y:
vowel starttype (u) endtype (u)
long
vowel starttype #u endtype #u
length 240
formants vowel/y
FMT(vowel/y)
endphoneme

phoneme Y:
vowel starttype (@) endtype (@)
long
vowel starttype #@ endtype #@
length 260
formants vowel/y#
FMT(vowel/y#)
endphoneme


@@ -105,102 +97,85 @@ endphoneme

phoneme ts
vls alv afr sibilant
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/ts // don't use ustop/ts_ (before non-vowel)
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
WAV(ustop/ts) // don't use ustop/ts_ (before non-vowel)
endphoneme


phoneme t // dental variant of /t/
vls dnt stop
vowelin f1=0 f2=1600 -300 300 f3=-100 80
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_dnt%50
before _ ustop/t_dnt%45
switchvoicing d
voicingswitch d
Vowelin f1=0 f2=1600 -300 300 f3=-100 80
Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/t_dnt, 45)
ENDIF
WAV(ustop/t_dnt, 50)
endphoneme


phoneme d // dental variant of /d/
vcd dnt stop
vowelin f1=2 f2=1500 -300 300 f3=-150 80
vowelout f1=2 f2=1500 -300 300 f3=-150 80
formants d/d+x/d_dnt%110
before _ d/d_+x/d_dnt%100
before r d/dr+x/d_dnt%110
after _ NULL
after @ d/xd
lengthmod 5
switchvoicing t
import_phoneme base/d[
voicingswitch t
endphoneme


phoneme c
vls pal afr sibilant
vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1
lengthmod 2
wave ustop/ts_pzd2%70
before _ ustop/ts_pzd_
switchvoicing J
import_phoneme consonants/c2
voicingswitch J
endphoneme




phoneme p // unaspirated
vls blb stop
vowelin f1=0 f2=1000 -50 -100 f3=-200 80
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
lengthmod 2
wave ustop/p_unasp
before _ ustop/p_unasp_%80
before r ustop/pr
before l ustop/pl
switchvoicing b
import_phoneme consonants/p-
voicingswitch b
endphoneme



phoneme k // unsapirated
vls vel stop
vowelin f1=0 f2=2300 200 400 f3=-100 80
vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
lengthmod 2
wave ustop/k_unasp%70 // weaker
before _ ustop/k_
before r ustop/kr
before l ustop/kl
before (i) ustop/ki
switchvoicing g
import_phoneme consonants/k-
voicingswitch g
endphoneme



phoneme s2 // second part of geminated [s:]
vls alv frc sibilant
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 3
wave ufric/s_continue
before _ ufric/s_
before p ufric/s!
before t ufric/s!
before k ufric/s!
switchvoicing z
import_phoneme consonants/s2
endphoneme


phoneme l
liquid
length 100
lengthmod 7
beforenotvowel l/
formants l/l
after _ l/_l
after t l/tl
// after l/ l/l_long // double l, make it longer

IF nextPh(isNotVowel) THEN
ChangePhoneme(l/)
ENDIF

CALL vowelstart_l

IF prevPh(#@) THEN
VowelEnding(l/xl, -50)
ELIF prevPh(isVowel) THEN
VowelEnding(l/xl, -40)
ENDIF

IF prevPh(isPause) THEN
FMT(l/_l)
ENDIF

IF prevPh(t) THEN
FMT(l/tl)
ENDIF

// IF prevPh(l/) THEN
// FMT(l/l_long) // double l, make it longer
// ENDIF

FMT(l/l)
endphoneme




+ 94
- 108
phsource/ph_icelandic View File

@@ -14,126 +14,126 @@ endphoneme
//=======

phoneme i
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 130
formants vowel/i_4
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i_4)
endphoneme


phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 130
formants vowel/ii
linkout ;
IfNextVowelAppend(;)
FMT(vowel/ii)
endphoneme


phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 130
formants vowel/e_e
reduceto E 4
ChangeIfNotStressed(E)
FMT(vowel/e_e)
endphoneme


phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 130
formants vowel/e_mid
FMT(vowel/e_mid)
endphoneme


phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 130
formants vowel/a_3
reduceto & 4
ChangeIfNotStressed(&)
FMT(vowel/a_3)
endphoneme


phoneme &
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 130
formants vowel/a#_2
FMT(vowel/a#_2)
endphoneme


phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 130
formants vdiph2/o_oo
reduceto O 4
ChangeIfNotStressed(O)
FMT(vdiph2/o_oo)
endphoneme


phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 130
formants vowel/oo_5
FMT(vowel/oo_5)
endphoneme


phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 130
formants vowel/u_bck
FMT(vowel/u_bck)
endphoneme


phoneme y
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 130
formants vowel/yy_4
FMT(vowel/yy_4)
endphoneme

phoneme y#
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 130
formants vowel/y##
FMT(vowel/y##)
endphoneme

phoneme W
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 130
formants vowel/y#_3
FMT(vowel/y#_3)
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 170
formants vdiph/ai_7
FMT(vdiph/ai_7)
endphoneme

phoneme eI
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 170
formants vdiph/ei
FMT(vdiph/ei)
endphoneme

phoneme aU
vowel starttype (a) endtype (u)
vowel starttype #a endtype #u
length 170
formants vdiph/au_4
FMT(vdiph/au_4)
endphoneme

phoneme oU
vowel starttype (o) endtype (u)
vowel starttype #o endtype #u
length 170
formants vdiph/ou_3
FMT(vdiph/ou_3)
endphoneme

phoneme oU2 // long version for óf
vowel starttype (o) endtype (u)
vowel starttype #o endtype #u
length 230
formants vdiph/ou_3
FMT(vdiph/ou_3)
endphoneme

phoneme Yy
vowel starttype (@) endtype (i)
vowel starttype #@ endtype #i
length 150
formants vdiph/y#i_2
FMT(vdiph/y#i_2)
endphoneme


@@ -143,135 +143,121 @@ endphoneme

phoneme m#
vcd blb nasal
// starttype m endtype m
vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
length 100
lengthmod 6
formants NULL
before _ m/m#_
Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
FMT(m/m#_)
endphoneme


phoneme n#
vcd alv nasal
starttype n endtype n
vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
length 100
lengthmod 6
formants NULL
before _ n/n#_
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk

NextVowelStarts
VowelStart(n/n@)
VowelStart(n/na)
VowelStart(n/ne)
VowelStart(n/ni)
VowelStart(n/no)
VowelStart(n/nu)
EndSwitch

FMT(n/n#_)
endphoneme


phoneme n^#
vcd pal nasal palatal
vowelout f1=3 f2=2300 300 400 f3=100 80 brk rate
length 100
lengthmod 6
formants NULL
before _ n^/n^#_
Vowelout f1=3 f2=2300 300 400 f3=100 80 brk rate
FMT(n^/n^#_)
endphoneme



phoneme N#
vcd vel nasal
starttype N endtype N
vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
length 100
formants NULL
before _ nn/nn#_
lengthmod 6 // longer than 'n'
lengthmod 6
Vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk

NextVowelStarts
VowelStart(nn/nn@)
VowelStart(nn/nna)
VowelStart(nn/nne)
VowelStart(nn/nni)
VowelStart(nn/nno)
VowelStart(nn/nnu)
EndSwitch

FMT(nn/nn#_)
endphoneme


phoneme l#
vls alv frc
length 100
lengthmod 3
wave ufric/ll%25
WAV(ufric/ll, 25)
endphoneme


phoneme tl#
vls alv stop
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ufric/tl#%50
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
WAV(ufric/tl#, 50)
endphoneme


phoneme r# // used for [r] when not preceding a vowel
liquid
length 100
lengthmod 2 //
formants r3/r#_+r3/rx
FMT(r3/r#_) addWav(r3/rx)
// before n r3/r_n+r3/rx
endphoneme


phoneme c
vls vel stop
vowelin f1=0 f2=2700 200 400 f3=300 80 rate len=60
vowelout f1=0 f2=2700 300 400 f3=300 80 rms=20
lengthmod 2
wave ustop/ki
switchvoicing g
endphoneme


phoneme b
vls blb stop
vowelin f1=1 f2=1000 -300 -200 f3=-200 80 amp=11
vowelout f1=2 f2=1000 -300 -300 f3=-300 80 brk
lengthmod 5
wave x/b
// before _ x/b_
Vowelin f1=1 f2=1000 -300 -200 f3=-200 80 amp=11
Vowelout f1=2 f2=1000 -300 -300 f3=-300 80 brk
WAV(x/b)
endphoneme


phoneme d
vls alv stop
vowelin f1=2 f2=1700 -300 300 f3=-100 80
vowelout f1=2 f2=1700 -300 300 f3=-100 80
lengthmod 5
wave x/d%80
before _ x/d_
Vowelin f1=2 f2=1700 -300 300 f3=-100 80
Vowelout f1=2 f2=1700 -300 300 f3=-100 80
IF nextPh(isPause2) THEN
WAV(x/d_)
ENDIF
WAV(x/d, 80)
endphoneme


phoneme g
vls vel stop
vowelin f1=2 f2=2300 200 300 f3=-300 80
vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
lengthmod 5
wave x/g2%150
before _ x/g_
Vowelin f1=2 f2=2300 200 300 f3=-300 80
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
IF nextPh(isPause2) THEN
WAV(x/g_)
ENDIF
WAV(x/g2, 150)
endphoneme



phoneme v // no fricative noise
vcd lbd frc
vowelin f1=1 f2=900 -300 -300 f3=-100 100
vowelout f1=1 f2=900 -500 -300 f3=-100 60 len=50
lengthmod 6
formants voc/v
before _ voc/v_
switchvoicing f
import_phoneme base/v#
voicingswitch f
endphoneme


phoneme s2 // 2nd part of geminated s
vls alv frc sibilant
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 3
wave ufric/s_continue
before _ ufric/s_
before p ufric/s!
before t ufric/s!
before k ufric/s!
switchvoicing z
import_phoneme consonants/s2
endphoneme


+ 33
- 40
phsource/ph_indonesian View File

@@ -1,106 +1,99 @@
phoneme @
vowel starttype (@) endtype (@)
length 140
formants vowel/@_low
vowel starttype #@ endtype #@
unstressed
length 140
FMT(vowel/@_low)
endphoneme



phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 180
formants vowel/a
reduceto a/ 1
ChangeIfUnstressed(a/)
FMT(vowel/a)
endphoneme


phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 180
formants vowel/e_mid
reduceto @ 1
ChangeIfUnstressed(@)
FMT(vowel/e_mid)
endphoneme

phoneme E2 // as [E] but don't reduce to [@]
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 180
formants vowel/e_mid
FMT(vowel/e_mid)
endphoneme


phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 180
formants vowel/e
FMT(vowel/e)
endphoneme


phoneme i
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 180
formants vowel/i_6
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i_6)
endphoneme


phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 180
formants vowel/oo
FMT(vowel/oo)
endphoneme


phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 180
formants vowel/o
FMT(vowel/o)
endphoneme


phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 180
formants vowel/u
FMT(vowel/u)
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 240
formants vdiph/ai
FMT(vdiph/ai)
endphoneme

phoneme eI
vowel starttype (e) endtype (i)
vowel starttype #e endtype #i
length 240
formants vdiph/eei_2
FMT(vdiph/eei_2)
endphoneme

phoneme aU
vowel starttype (a) endtype (u)
vowel starttype #a endtype #u
length 240
formants vdiph/au_4
FMT(vdiph/au_4)
endphoneme

phoneme @U
vowel starttype (@) endtype (u)
vowel starttype #@ endtype #u
length 240
formants vdiph/@u_en
FMT(vdiph/@u_en)
endphoneme



phoneme d // English [d]
vcd alv stop
vowelin f1=1 f2=1700 -300 300 f3=-100 80
vowelout f1=2 f2=1700 -300 300 f3=-100 80
formants d/d+x/d
before _ d/d_+x/d_
before r d/dr+x/d
after _ NULL
after @ d/xd
lengthmod 5
switchvoicing t
import_phoneme base/d
voicingswitch t
endphoneme


+ 42
- 38
phsource/ph_italian View File

@@ -10,115 +10,115 @@ endphoneme


phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 180
formants vowel/a
reduceto a/ 4
ChangeIfNotStressed(a/)
FMT(vowel/a)
endphoneme


phoneme a/
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 180
formants vowel/a_5
FMT(vowel/a_5)
endphoneme


phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 170
formants vowel/e_2
reduceto e/ 4
ChangeIfNotStressed(e/)
FMT(vowel/e_2)
endphoneme

phoneme e/
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 170
formants vowel/e
FMT(vowel/e)
endphoneme



phoneme E
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 170
formants vowel/e_mid
reduceto e/ 3 // [E] only in stressed syllables ?
ChangeIfUnstressed(e/) // [E] only in stressed syllables ?
FMT(vowel/e_mid)
endphoneme


phoneme i
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 140
formants vowel/i
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i)
endphoneme


phoneme I
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 150
formants vowel/i_4
linkout ;
IfNextVowelAppend(;)
FMT(vowel/i_4)
endphoneme



phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 170
formants vowel/o
reduceto o/ 4
ChangeIfNotStressed(o/)
FMT(vowel/o)
endphoneme

phoneme o/
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 170
formants vowel/o
FMT(vowel/o)
endphoneme


phoneme O
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 170
formants vowel/oo_4
reduceto o/ 3 // [O] only in stressed syllables ?
ChangeIfUnstressed(o/) // [O] only in stressed syllables ?
FMT(vowel/oo_4)
endphoneme


phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 160
formants vowel/u_bck
reduceto U 4
ChangeIfNotStressed(U)
FMT(vowel/u_bck)
endphoneme

phoneme U
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 160
formants vowel/u_bck
FMT(vowel/u_bck)
endphoneme


phoneme aU
vowel starttype (a) endtype (u)
vowel starttype #a endtype #u
length 270
formants vdiph/au_4
FMT(vdiph/au_4)
endphoneme



phoneme aI
vowel starttype (a) endtype (i)
vowel starttype #a endtype #i
length 250
formants vdiph/ai
FMT(vdiph/ai)
endphoneme


phoneme oI
vowel starttype (o) endtype (i)
vowel starttype #o endtype #i
length 230
formants vdiph/oi
FMT(vdiph/oi)
endphoneme


@@ -126,3 +126,7 @@ endphoneme
// CONSONANTS
//===========

phoneme l^
import_phoneme base/l^
Length 140
endphoneme

+ 108
- 45
phsource/ph_kinyarwanda View File

@@ -2,99 +2,161 @@
//******************************
// Phonemes for Kinyarwanda (rw), inherits "base2"
//******************************
phoneme a
vowel starttype (a) endtype (a)
vowel starttype #a endtype #a
length 180
formants vowel/a_2
reduceto a/ 4
beforepause a#
beforevowel NULL

IF nextPh(isVowel) THEN
ChangePhoneme(NULL)
ENDIF

IF nextPh(isPause) THEN
ChangePhoneme(a#)
ENDIF

ChangeIfNotStressed(a/)
FMT(vowel/a_2)
endphoneme


phoneme a/
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 180
formants vowel/a#
beforepause a#
beforevowel NULL

IF nextPh(isVowel) THEN
ChangePhoneme(NULL)
ENDIF

IF nextPh(isPause) THEN
ChangePhoneme(a#)
ENDIF

FMT(vowel/a#)
endphoneme


phoneme e
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 170
formants vowel/e
beforepause e#
beforevowel NULL

IF nextPh(isVowel) THEN
ChangePhoneme(NULL)
ENDIF

IF nextPh(isPause) THEN
ChangePhoneme(e#)
ENDIF

FMT(vowel/e)
endphoneme


phoneme i
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 150
formants vowel/i
beforepause i#
beforevowel NULL

IF nextPh(isVowel) THEN
ChangePhoneme(NULL)
ENDIF

IF nextPh(isPause) THEN
ChangePhoneme(i#)
ENDIF

FMT(vowel/i)
endphoneme


phoneme o
vowel starttype (o) endtype (o)
vowel starttype #o endtype #o
length 170
formants vowel/o
beforepause o#
beforevowel NULL

IF nextPh(isVowel) THEN
ChangePhoneme(NULL)
ENDIF

IF nextPh(isPause) THEN
ChangePhoneme(o#)
ENDIF

FMT(vowel/o)
endphoneme


phoneme u
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 160
formants vowel/u_bck
beforepause u#
beforevowel NULL

IF nextPh(isVowel) THEN
ChangePhoneme(NULL)
ENDIF

IF nextPh(isPause) THEN
ChangePhoneme(u#)
ENDIF

FMT(vowel/u_bck)
endphoneme


phoneme a#
vowel starttype (@) endtype (@)
vowel starttype #@ endtype #@
length 100
formants vowel/a#
beforevowel NULL

IF nextPh(isVowel) THEN
ChangePhoneme(NULL)
ENDIF

FMT(vowel/a#)
endphoneme


phoneme e#
vowel starttype (e) endtype (e)
vowel starttype #e endtype #e
length 100
formants vowel/e
beforevowel NULL

IF nextPh(isVowel) THEN
ChangePhoneme(NULL)
ENDIF

FMT(vowel/e)
endphoneme


phoneme i#
vowel starttype (i) endtype (i)
vowel starttype #i endtype #i
length 100
formants vowel/i
linkout ;
beforevowel NULL

IF nextPh(isVowel) THEN
ChangePhoneme(NULL)
ENDIF

FMT(vowel/i)
endphoneme


phoneme o#
vowel starttype (o) endtype (o)
length 170
formants vowel/o
beforevowel NULL
vowel starttype #o endtype #o
length 100

IF nextPh(isVowel) THEN
ChangePhoneme(NULL)
ENDIF

FMT(vowel/o)
endphoneme


phoneme u#
vowel starttype (u) endtype (u)
vowel starttype #u endtype #u
length 100
formants vowel/u_bck
beforevowel NULL

IF nextPh(isVowel) THEN
ChangePhoneme(NULL)
ENDIF

FMT(vowel/u_bck)
endphoneme


@@ -103,13 +165,14 @@ phoneme : // Lengthen previous vowel by "length"
length 120
endphoneme


phoneme + // high tone, use after a vowel
stress
tone 0 30 envelope/p_fall NULL
Tone(0, 30, envelope/p_fall, NULL)
endphoneme

phoneme +2 // high tone, use after a vowel
stress
tone 0 30 envelope/i_risefall2 NULL
Tone(0, 30, envelope/i_risefall2, NULL)
endphoneme


+ 0
- 129
phsource/ph_korean View File

@@ -1,129 +0,0 @@
phoneme a
vowel starttype (a) endtype (a)
length 190
formants vowel/a
endphoneme
phoneme E
vowel starttype (e) endtype (e)
length 180
formants vowel/e_mid2
endphoneme
phoneme e
vowel starttype (e) endtype (e)
length 180
formants vowel/e
endphoneme
phoneme i
vowel starttype (i) endtype (i)
length 160
formants vowel/i
endphoneme
phoneme o
vowel starttype (o) endtype (o)
length 180
formants vowel/o_2
endphoneme
phoneme V
vowel starttype (a) endtype (a)
length 180
formants vowel/aa_8
endphoneme
phoneme Y
vowel starttype (@) endtype (@)
length 180
formants vowel/y#
endphoneme
phoneme u
vowel starttype (u) endtype (u)
length 180
formants vowel/u_bck
endphoneme

phoneme y
vowel starttype (i) endtype (u)
length 180
formants vdiph2/uw_6
endphoneme

phoneme u-
vowel starttype (u) endtype (u)
length 180
formants vowel/u_unr
endphoneme


phoneme ji
vowel starttype (i) endtype (i)
length 220
formants vdiph/yi_fr
endphoneme


phoneme p`
vls blb stop
vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=31
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
lengthmod 2
wave ustop/p_unasp%130
endphoneme


phoneme t` // dental variant of /t/
vls dnt stop
vowelin f1=0 f2=1600 -300 300 f3=-100 80 amp=31
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_dnt
switchvoicing d
endphoneme

phoneme c`
vls pal afr sibilant palatal
vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70 amp=31
lengthmod 2
wave ustop/ts_pzd2%120
switchvoicing dZ;
endphoneme


phoneme k`
vls vel stop
vowelin f1=0 f2=2300 200 400 f3=-100 80 amp=31
vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
lengthmod 2
wave ustop/k_unasp%130
endphoneme


phoneme s`
vls alv frc sibilant
vowelin f1=0 f2=1700 -300 300 f3=-100 80 amp=31
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 3
wave ufric/s%120
before j ufric/sh_pzd%120
before i ufric/sh_pzd%120
endphoneme


phoneme r // flap [**]
liquid alv
beforenotvowel l
vowelout f1=3 f2=1600 -300 300 f3=-300 80 rms=35 len=15
vowelin f1=2 f2=1600 -300 300 f3=-100 80 len=20
formants r3/@tap
after (e) r3/@tap2
after (i) r3/@tap2
lengthmod 3
endphoneme



+ 0
- 0
phsource/ph_kurdish View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save