Files
espeak-ng/phsource/ph_hindi
T
jonsd 3bf61040b9 [1.43.52]
espeakedit --compile  also compiles the intonation data

Added feature to produce phonemes as International Phonetic Alphabet.
phoneme definitions: Added "ipa" instruction to specify IPA phoneme name.

When spelling as individual characters, calculate the stress position for each character name.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@249 d46cf337-b52f-0410-862d-fd96e6ae7743
2010-07-05 09:01:28 +00:00

481 lines
7.0 KiB
Plaintext

//====================================================
// Hindi
//====================================================
phoneme : // Lengthen the previous vowel by "length"
virtual
length 100
endphoneme
phoneme @
vowel starttype #@ endtype #@
length 130
ChangeIfDiminished(@-)
IF nextPh(H) THEN
FMT(vowel/@_low)
ENDIF
FMT(vowel/@_bck)
endphoneme
phoneme @/
vowel starttype #@ endtype #@
length 130
FMT(vowel/@_bck)
endphoneme
phoneme V
vowel starttype #@ endtype #@
length 130
ChangeIfNotStressed(@)
IF nextPh(H) THEN
FMT(vowel/@_low)
ENDIF
FMT(vowel/V_3)
endphoneme
phoneme @2
vowel starttype #@ endtype #@
length 130
FMT(vowel/@_low)
endphoneme
phoneme @3
vowel starttype #@ endtype #@
length 130
ChangeIfDiminished(@-)
FMT(vowel/@_3)
endphoneme
phoneme @4
vowel starttype #@ endtype #@
length 130
FMT(vowel/@)
endphoneme
phoneme i:
vowel long starttype #i endtype #i
length 230
IfNextVowelAppend(;)
FMT(vowel/i_fnt)
endphoneme
phoneme i // as [i:] but not marked as 'long'
vowel starttype #i endtype #i
length 230
IfNextVowelAppend(;)
FMT(vowel/i_6)
endphoneme
phoneme I
vowel starttype #i endtype #i
length 100
IfNextVowelAppend(;)
FMT(vowel/ii_3)
endphoneme
phoneme e:
vowel long starttype #e endtype #e
length 220
FMT(vowel/e_2)
endphoneme
phoneme e
vowel starttype #e endtype #e
length 130
FMT(vowel/e_2)
endphoneme
phoneme E:
vowel long starttype #e endtype #e
length 220
FMT(vdiph/ee-e)
endphoneme
phoneme E
vowel starttype #e endtype #e
length 130
FMT(vowel/e_mid)
endphoneme
phoneme &:
vowel long starttype #a endtype #a
length 220
FMT(vowel/&)
endphoneme
phoneme a:
vowel long starttype #a endtype #a
length 230
FMT(vowel/aa_9)
endphoneme
phoneme a
vowel long starttype #a endtype #a
length 130
FMT(vowel/a#_3)
endphoneme
phoneme o:
vowel long starttype #o endtype #o
length 220
FMT(vowel/o_2)
endphoneme
phoneme o
vowel starttype #o endtype #o
length 130
FMT(vowel/o)
endphoneme
phoneme O:
vowel long starttype #o endtype #o
length 210
FMT(vowel/oo_4)
endphoneme
phoneme O
vowel starttype #o endtype #o
length 130
FMT(vowel/0)
endphoneme
phoneme U
vowel starttype #u endtype #u
length 120
FMT(vowel/uu_bck)
endphoneme
phoneme u:
vowel long starttype #u endtype #u
length 230
FMT(vowel/u_bck)
endphoneme
// Nasal vowels
//=============
phoneme i~
vowel long starttype #i endtype #i
length 220
FMT(vnasal/i_n2)
endphoneme
phoneme I~
vowel long starttype #i endtype #i
length 170
FMT(vnasal/ii_n)
endphoneme
phoneme e~
vowel long starttype #e endtype #e
length 220
FMT(vnasal/e_n)
endphoneme
phoneme E~
vowel long starttype #e endtype #e
length 230
FMT(vnasal/ee_n2)
endphoneme
phoneme a~
vowel long starttype #a endtype #a
length 250
FMT(vnasal/aa_n)
endphoneme
phoneme V~
vowel long starttype #@ endtype #@
length 250
FMT(vnasal/V_n)
endphoneme
phoneme O~
vowel long starttype #o endtype #o
length 230
FMT(vnasal/oo_n2)
endphoneme
phoneme o~
vowel long starttype #o endtype #o
length 220
FMT(vnasal/o_n)
endphoneme
phoneme U~
vowel starttype #u endtype #u
length 170
FMT(vnasal/u_n)
endphoneme
phoneme u~
vowel long starttype #u endtype #u
length 230
FMT(vnasal/u_n)
endphoneme
// Diphthongs
//===========
phoneme aI
vowel long starttype #@ endtype #i
length 240
long
FMT(vdiph/&i)
endphoneme
phoneme aU
vowel long starttype #a endtype #u
length 240
long
FMT(vdiph/aau_3)
endphoneme
// CONSONANTS
//===========
phoneme v // approximant, not fricative
import_phoneme base/v#
voicingswitch f
endphoneme
phoneme H // use for full "h"
import_phoneme base/h
endphoneme
// bilabial plosives
//==================
phoneme p
import_phoneme consonants/p-
endphoneme
phoneme ph
import_phoneme consonants/ph
endphoneme
phoneme b // this is [b]
import_phoneme base/b
endphoneme
phoneme bh
vcd blb stop
lengthmod 5
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
// dental plosives
//==================
phoneme t // dental variant of /t/
import_phoneme base/t[
voicingswitch d
endphoneme
phoneme th // dental variant of /t/
vls dnt stop
lengthmod 2
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/
import_phoneme base/d[
voicingswitch t
endphoneme
phoneme dh
vcd dnt stop
lengthmod 5
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
// retroflex plosives
//===================
phoneme t.
vls rfx stop
lengthmod 2
ipa ʈ
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
lengthmod 2
ipa ʈh
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
lengthmod 5
voicingswitch t.
ipa ɖ
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
lengthmod 5
ipa ɖh
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
// palatal plosives
//=================
// also try [tS] and [dZ]
phoneme c
import_phoneme base/c
endphoneme
phoneme ch
import_phoneme base/tS;
endphoneme
phoneme J
import_phoneme base/J
endphoneme
phoneme Jh
vcd pal afr sibilant
lengthmod 5
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
// velar plosives
//==================
phoneme k
import_phoneme consonants/k-
voicingswitch g
endphoneme
phoneme kh
import_phoneme consonants/kh
voicingswitch gh
endphoneme
phoneme g
import_phoneme base/g
voicingswitch k
endphoneme
phoneme gh
vcd dnt stop
lengthmod 5
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