Files
espeak-ng/phsource/ph_dutch
T
jonsd 191ec1d37e [1.45.04] release
Don't speak punctuation names faster at high speeds.

lang=ml, recognise "virama + U+200d" (zero-width joiner) to indicte 'chillu' characters.

Fix problem of punctuation character announcement repeated at the start of the next sentence after speaking is stopped.

Fixed crash due to large numbers of box-drawing characters in text input.

Fixed phoneme translation of 't' sounds for US-English voices.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@261 d46cf337-b52f-0410-862d-fd96e6ae7743
2011-04-25 16:51:06 +00:00

284 lines
4.3 KiB
Plaintext

//=========================================================
// Dutch
//=========================================================
// Vowels
//=======
phoneme @ // Schwa
vowel starttype #@ endtype #@
unstressed
length 125
FMT(vowel/@_4)
endphoneme
phoneme i
vowel starttype #i endtype #i
length 160
IF prevPh(w) THEN
VowelStart(w/wi2)
ENDIF
FMT(vowel/i_2)
endphoneme
phoneme I
vowel starttype #i endtype #i
length 130
FMT(vowel/ii)
endphoneme
phoneme y
vowel starttype #u endtype #u
length 180
FMT(vowel/y)
endphoneme
phoneme 8
vowel starttype #u endtype #u
length 140
FMT(vowel/y#)
endphoneme
phoneme u
vowel starttype #u endtype #u
length 150
FMT(vowel/u_bck)
endphoneme
phoneme E
vowel starttype #e endtype #e
length 140
FMT(vowel/e_mid2)
endphoneme
phoneme E2 // as[E] but reduces to @ if unstressed
vowel starttype #e endtype #e
length 140
ChangeIfDiminished(@)
FMT(vowel/ee_2)
endphoneme
phoneme O
vowel starttype #o endtype #o
length 140
FMT(vowel/o_6)
endphoneme
phoneme O: // for "oor"
vowel starttype #o endtype #o
length 210
FMT(vowel/o_6)
endphoneme
phoneme a:
vowel starttype #a endtype #a
length 210
IF thisPh(isUnstressed) THEN
IF thisPh(isWordEnd) THEN
FMT(vowel/a#_2)
ELSE
FMT(vowel/a#_4)
ENDIF
ENDIF
FMT(vowel/a)
endphoneme
phoneme A
vowel starttype #a endtype #a
length 160
IF thisPh(isUnstressed) THEN
FMT(vowel/a#_2)
ENDIF
FMT(vowel/aa_7)
endphoneme
phoneme A~
import_phoneme fr/A~
endphoneme
phoneme O~
vowel starttype #o endtype #o
length 190
FMT(vnasal/oo_n2)
endphoneme
// Diphthongs
//===========
phoneme e:
vowel starttype #e endtype #i
length 190
FMT(vdiph/ei)
endphoneme
phoneme e# // as [e:] but change to [@] in unstressed syllables
vowel starttype #e endtype #i
length 190
ChangeIfUnstressed(@)
ChangePhoneme(e:)
endphoneme
phoneme Y:
vowel starttype #@ endtype #@
length 220
FMT(vdiph/y#y_3)
endphoneme
phoneme o:
vowel starttype #o endtype #u
length 200
FMT(vdiph/ou_4)
endphoneme
phoneme EI
vowel starttype #a endtype #i
length 210
FMT(vdiph/eei)
endphoneme
phoneme Wy
vowel starttype #@ endtype #u
length 220
FMT(vdiph/&y)
endphoneme
phoneme VU
vowel starttype #a endtype #o
length 220
FMT(vdiph/aau_2)
endphoneme
phoneme eU
vowel starttype #e endtype #u
length 220
FMT(vdiph/eu)
endphoneme
phoneme yU
vowel starttype #u endtype #u
length 220
FMT(vdiph2/yu)
endphoneme
// CONSONANTS
//===========
phoneme r
import_phoneme base/R2
endphoneme
phoneme Q
vcd vel frc
lengthmod 6
voicingswitch x
Vowelin f1=2 f2=2300 200 300 f3=-300 80
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
IF prevPhW(x) THEN
ChangePhoneme(NULL)
ENDIF
IF nextPhW(isVoiced) THEN
ELSE
ChangePhoneme(x)
ENDIF
IF nextPh(isPause2) THEN
FMT(voc/Q_) addWav(vocw/Q_)
ENDIF
FMT(voc/Q_less) addWav(vocw/Q2, 140)
endphoneme
phoneme ! // Short pause, replaces assimilated t,d,p,b at end of word
pause
ipa NULL
starttype _ endtype _
lengthmod 1
length 25
endphoneme
phoneme k
import_phoneme consonants/k- // unaspirated
endphoneme
phoneme t
IF thisPh(isWordEnd) THEN
IF nextPh(t) OR nextPh(d) THEN
ChangePhoneme(!)
ENDIF
ENDIF
CALL consonants/t-
endphoneme
phoneme d
IF thisPh(isWordEnd) THEN
IF nextPh(t) OR nextPh(d) THEN
ChangePhoneme(!)
ENDIF
ENDIF
IF prevPh(!) THEN // previous was [t] or [d], now assimilated
ChangePhoneme(t)
ENDIF
CALL base/d
endphoneme
phoneme p
IF thisPh(isWordEnd) THEN
IF nextPh(p) OR nextPh(b) THEN
ChangePhoneme(!)
ENDIF
ENDIF
CALL consonants/p- // unaspirated
endphoneme
phoneme b
IF thisPh(isWordEnd) THEN
IF nextPh(p) OR nextPh(b) THEN
ChangePhoneme(!)
ENDIF
ENDIF
IF prevPh(!) THEN // previous was [p] or [b], now assimilated
ChangePhoneme(p)
ENDIF
CALL base/b
endphoneme
phoneme s
IF thisPh(isWordEnd) THEN
IF nextPh(s) OR nextPh(z) THEN
ChangePhoneme(!)
ENDIF
ENDIF
CALL base/s // unaspirated
endphoneme
phoneme z
IF thisPh(isWordEnd) THEN
IF nextPh(s) OR nextPh(z) THEN
ChangePhoneme(!)
ENDIF
ENDIF
IF prevPh(!) THEN // previous was [s] or [z], now assimilated
ChangePhoneme(s)
ENDIF
CALL base/s
endphoneme