ph_croatian 3.99 KB


phoneme S  // this is letter š
  vls pla frc sibilant
  lengthmod 3
  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
  lengthmod 2
  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
  ipa tɕ
  lengthmod 2
  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
  lengthmod 6
  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
  lengthmod 5
  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
  lengthmod 5
  ipa dʑ
  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






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

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


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


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


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


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


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


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


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


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


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


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


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




phoneme t        // dental variant of /t/
  vls dnt stop
  lengthmod 2
  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
  lengthmod 5
  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
  lengthmod 3
  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
  import_phoneme base/R
endphoneme


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