Files
espeak-ng/phsource/ph_arabic
T

148 lines
2.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
phoneme #r virtual
// Used for "r" sounds
endphoneme
phoneme H // arabic Hah
vls phr frc
ipa ħ
lengthmod 5
WAV(vwl_ar/hah,80)
endphoneme
phoneme Z // arabic ZAH
vcd dnt frc
ipa ð
// following definition is taken from English D
lengthmod 6
Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
IF KlattSynth THEN
Vowelin f1=0 f2=1290 -300 300 f3=0 0
ENDIF
IF nextPh(isPause2) THEN
FMT(voc/dh_) addWav(vocw/dh)
ENDIF
FMT(voc/dh) addWav(vocw/dh)
endphoneme
phoneme A // arabic Ain
vcd frc
ipa ʕ
voicingswitch a
length 160
Vowelin f1=2 f2=2300 -400 500 f3=300 80
Vowelout f1=2 f2=2300 -300 450 f3=-100 10
FMT(r/xr,25) addWav(h/h_,30)
endphoneme
phoneme gH // arabic Ghain, the phoneme is derived from Q
vcd vel frc
voicingswitch R2
ipa ɣ
Vowelin f1=2 f2=2300 200 300 f3=-300 80
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
FMT(g/g) addWav(vwl_ar/dhad)
endphoneme
phoneme dH //arabic Dhad TODO this probably should be simple d from standard phonemes
vcd alv stp
ipa dˤ
Vowelin f1=1 f2=1700 -300 300 f3=-100 80
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk
IF PreVoicing THEN
FMT(d/xd)
ENDIF
IF nextPh(isPause2) THEN
FMT(d/d_) addWav(x/d_)
ENDIF
FMT(d/d) addWav(x/d)
endphoneme
phoneme s[
vls dnt stp
voicingswitch s
IF nextPh(s[) THEN
length 50
ELSE
length 160
ENDIF
lengthmod 7
WAV(vwl_ar/shin)
endphoneme
phoneme X
vls uvl frc
voicingswitch Q
lengthmod 7
Vowelin f1=0 f2=2300 200 400 f3=-100 80
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
WAV(ufric/xx, 70)
endphoneme
// vowels
phoneme a
vwl starttype #a endtype #a
IF nextPhW(isPause) THEN
length 80
ELSE
length 140
ENDIF
FMT(vowel/a_2)
endphoneme
phoneme i
vwl starttype #i endtype #i
IF nextPhW(isPause) THEN
length 80
ELSE
length 140
ENDIF
FMT(vowel/i)
endphoneme
phoneme u
vwl starttype #u endtype #u
IF nextPhW(isPause) THEN
length 80
ELSE
length 140
ENDIF
FMT(vowel/u)
endphoneme
// "dark" vowels after "thick" consonants
phoneme a.
vwl starttype #a endtype #a
IF nextPhW(isPause) THEN
length 80
ELSE
length 140
ENDIF
FMT(vowel/aa_7)
endphoneme
phoneme i.
vwl starttype #i endtype #i
IF nextPhW(isPause) THEN
length 80
ELSE
length 140
ENDIF
FMT(vowel/ii_5)
endphoneme
phoneme u.
vwl starttype #u endtype #u
IF nextPhW(isPause) THEN
length 80
ELSE
length 140
ENDIF
FMT(vowel/u_7)
endphoneme
phoneme : // lengthen previous vowel by "length"
virtual
length 180
endphoneme