Files
espeak-ng/phsource/ph_afrikaans
T
jonsd ebf0535e6d [1.43.57]
Indicate language changes in IPA phoneme output.

Phoneme definitions FMT(), second parameter is amplitude percentage.

Phoneme definitions CALL(),  If phoneme type is not defined, copy the static attributes from the called phoneme.

Unpronouncable word check: stop when an apostrophe is reached.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@250 d46cf337-b52f-0410-862d-fd96e6ae7743
2010-07-18 22:43:04 +00:00

329 lines
4.9 KiB
Plaintext
Executable File

//****************************************************************
//redefinition of the : phoneme
phoneme : // lengthen previous vowel by "length"
virtual
length 140
endphoneme
// VOWELS
//****************************************************************
phoneme @ // Schwa, but always unstressed
vowel starttype #@ endtype #@
unstressed
length 140
IF nextPh(r/) THEN
Length 190
FMT(vwl_af/r@)
ENDIF
FMT(vwl_af/@)
endphoneme
phoneme a // short A
vowel starttype #a endtype #a
length 140
FMT(vowel/V_2)
endphoneme
phoneme E // short E
vowel starttype #e endtype #e
length 140
FMT(vowel/e_mid2)
endphoneme
phoneme I // short I, Schwa
vowel starttype #@ endtype #@
length 140
IF nextPh(r/) THEN
Length 190
FMT(vwl_af/r@)
ENDIF
FMT(vwl_af/I)
endphoneme
phoneme O // short O
vowel starttype #o endtype #o
length 140
FMT(vowel/oo_3)
endphoneme
phoneme W // short U
vowel starttype #@ endtype #@
length 140
FMT(vowel/oe)
endphoneme
phoneme u // short OE
vowel starttype #u endtype #u
length 110
FMT(vowel/uu_3)
endphoneme
phoneme & // more open [E]
vowel starttype #e endtype #e
length 150
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
length 280
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
unstressed
length 160
FMT(vwl_en/@L)
endphoneme
phoneme A: // long A
vowel starttype #a endtype #a
length 280
FMT(vowel/aa_3)
endphoneme
phoneme e@ // long E
vowel starttype #i endtype #@
length 230
FMT(vdiph/i@_2)
endphoneme
phoneme i // long I
vowel starttype #i endtype #i
length 100
IfNextVowelAppend(;)
FMT(vowel/i_3)
endphoneme
phoneme o@ // long O
vowel starttype #u endtype #@
length 250
FMT(vdiph2/o@)
endphoneme
phoneme y // long U
vowel starttype #i endtype #i
length 180
FMT(vowel/y_3)
endphoneme
phoneme iu
vowel starttype #i endtype #u
length 220
FMT(vdiph2/iu_3)
endphoneme
phoneme @U
vowel starttype #@ endtype #u
length 170
FMT(vdiph/Vu)
endphoneme
phoneme aI
vowel starttype #a endtype #i
length 220
IfNextVowelAppend(;)
FMT(vdiph/ai_4)
endphoneme
phoneme AI
vowel starttype #a endtype #i
length 310
IfNextVowelAppend(;)
FMT(vdiph/aai_2)
endphoneme
phoneme eI
vowel starttype #e endtype #i
length 170
IfNextVowelAppend(;)
FMT(vdiph/@i_2)
endphoneme
phoneme OI
vowel starttype #o endtype #i
length 230
IfNextVowelAppend(;)
FMT(vdiph/ooi_2)
endphoneme
phoneme oI
vowel starttype #o endtype #i
length 290
IfNextVowelAppend(;)
FMT(vdiph/oi_2)
endphoneme
phoneme uI
vowel starttype #u endtype #i
length 240
IfNextVowelAppend(;)
FMT(vdiph/ui_2)
endphoneme
phoneme Yy
vowel starttype #@ endtype #i
length 220
IfNextVowelAppend(;)
FMT(vdiph/y#y_2)
endphoneme
phoneme Y@
vowel starttype #i endtype #@
length 210
FMT(vdiph2/y#@)
endphoneme
phoneme aU
vowel starttype #a endtype #u
length 230
FMT(vdiph/au)
endphoneme
// circumflex accent vowels
phoneme e:
vowel starttype #e endtype #e
length 210
FMT(vowel/e)
endphoneme
phoneme O:
vowel starttype #o endtype #o
length 280
FMT(vowel/oo_1)
endphoneme
phoneme 3:
vowel starttype #@ endtype #@
length 230
FMT(vowel/3_en)
endphoneme
// Nasal vowels
phoneme A~
vowel starttype #a endtype #a
length 240
FMT(vnasal/aa_n3)
endphoneme
phoneme e~
vowel starttype #e endtype #e
length 240
FMT(vnasal/e_n)
endphoneme
phoneme o~
vowel starttype #o endtype #o
length 240
FMT(vnasal/o_n2)
endphoneme
// CONSONANTS
//===========
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
lengthmod 3
WAV(ufric/x2, 60) // stronger version of [x]
endphoneme
phoneme r
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
lengthmod 7
IF prevPh(@) OR prevPh(I) THEN
ELSE
FMT(r3/r_) addWav(r3/rx)
ENDIF
endphoneme
phoneme l
import_phoneme en/l
endphoneme
phoneme c // used in -tjie
vls pal stop palatal
voicingswitch g
lengthmod 2
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