| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 | 
//=========================================================
// Latin
//=========================================================
phoneme a
  vwl starttype #a endtype #a
  length 170
  FMT(vowel/a_5)
endphoneme
phoneme E
  vwl starttype #e endtype #e
  length 170
  FMT(vowel/ee_1)
endphoneme
phoneme I
  vwl starttype #i endtype #i
  length 150
  IfNextVowelAppend(;)
  FMT(vowel/ii_5)
endphoneme
phoneme O
  vwl starttype #o endtype #o
  length 160
  FMT(vowel/o)
endphoneme
phoneme U
  vwl starttype #u endtype #u
  length 160
  FMT(vowel/u)
endphoneme
phoneme a:
  vwl starttype #a endtype #a
  length 270
  FMT(vowel/a_3)
endphoneme
phoneme e:
  vwl starttype #e endtype #e
  length 260
  FMT(vowel/e)
endphoneme
phoneme i:
  vwl starttype #i endtype #i
  length 240
  FMT(vowel/i_2)
endphoneme
phoneme o:
  vwl starttype #o endtype #o
  length 250
  FMT(vowel/o_2)
endphoneme
phoneme u:
  vwl starttype #u endtype #u
  length 250
  FMT(vowel/u_bck2)
endphoneme
phoneme y
  vwl starttype #i endtype #i
  length 150
  FMT(vowel/y)
endphoneme
phoneme y:
  vwl starttype #i endtype #i
  length 250
  FMT(vowel/y_2)
endphoneme
phoneme aU
  vwl starttype #a endtype #u
  length 270
  FMT(vdiph/aau_2)
endphoneme
phoneme aI
  vwl starttype #a endtype #i
  length 270
  FMT(vdiph/ae)
endphoneme
phoneme eI
  vwl starttype #e endtype #i
  length 270
  FMT(vdiph/ei)
endphoneme
phoneme EU
  vwl starttype #e endtype #u
  length 270
  FMT(vdiph/eeu_2)
endphoneme
phoneme OI
  vwl starttype #o endtype #i
  length 250
  FMT(vdiph/oi)
endphoneme
//===========
// CONSONANTS
//===========
phoneme p // unaspirated
  import_phoneme consonants/p-
  voicingswitch b
endphoneme
// <h> should actually be a modifier of a phoneme, but we use a short /h/ here.
phoneme <h>
  vls glt apr
  length 50
  lengthmod 3
  ipa ʰ
  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/ho)
  ELIF nextPh(#u) THEN
    WAV(h/hu)
  ENDIF
  WAV(h/h_, 70)  // no vowel following
endphoneme
// Allen, Vox Latina, Chapter 1, Section v
// Use 'dark' l (l/2) at the end of a word or another consonant
phoneme l
  import_phoneme en/l
endphoneme
 |