mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-04 06:32:20 +00:00
[1.48.05] continued.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@377 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
Executable
+3
@@ -0,0 +1,3 @@
|
||||
name gujarati-test
|
||||
language gu
|
||||
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
name telugu-test
|
||||
language te
|
||||
|
||||
intonation 2
|
||||
//consonants 80
|
||||
Executable
+518
@@ -0,0 +1,518 @@
|
||||
// short vowels
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
unstressed
|
||||
length 180
|
||||
CALL ShortVowelLength
|
||||
IF prevPh(s[) OR prevPh(d[) OR prevPh(t[) OR prevPh(Z) THEN
|
||||
FMT(vowel/0_3)
|
||||
ELSE
|
||||
FMT(vowel/a#)
|
||||
ENDIF
|
||||
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 140
|
||||
unstressed
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/i)
|
||||
endphoneme
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
unstressed
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/u)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
phoneme : // lengthen previous vowel by "length"
|
||||
virtual
|
||||
length 200
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
|
||||
// long vowels
|
||||
phoneme a:
|
||||
vowel starttype #a endtype #a
|
||||
length 300
|
||||
//CALL LongVowelLength
|
||||
IF prevPh(s[) OR prevPh(d[) OR prevPh(t[) OR prevPh(Z) THEN
|
||||
FMT(vowel/0_3)
|
||||
ELSE
|
||||
FMT(vowel/a#)
|
||||
ENDIF
|
||||
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme i:
|
||||
vowel starttype #i endtype #i
|
||||
length 300
|
||||
//CALL LongVowelLength
|
||||
FMT(vowel/i)
|
||||
endphoneme
|
||||
|
||||
phoneme u:
|
||||
vowel starttype #u endtype #u
|
||||
length 300
|
||||
//CALL LongVowelLength
|
||||
FMT(vowel/u)
|
||||
endphoneme
|
||||
|
||||
|
||||
// Redifine consnant for arabic
|
||||
|
||||
|
||||
|
||||
|
||||
phoneme l
|
||||
liquid
|
||||
lengthmod 7
|
||||
|
||||
IF nextPh(isNotVowel) THEN
|
||||
ChangePhoneme(l/)
|
||||
ENDIF
|
||||
|
||||
IF nextPh(isNotVowel) THEN
|
||||
// in case the next phoneme is no longer a vowel, in pass=2
|
||||
PrevVowelEndings
|
||||
VowelEnding(l/L1_@L, -60)
|
||||
VowelEnding(l/L1_aL, -40)
|
||||
VowelEnding(l/L1_eL, -30)
|
||||
VowelEnding(l/L1_iL, -30)
|
||||
VowelEnding(l/L1_oL, -40)
|
||||
VowelEnding(l/L1_uL, -40)
|
||||
EndSwitch
|
||||
|
||||
FMT(l/l_)
|
||||
RETURN
|
||||
ENDIF
|
||||
|
||||
CALL vowelstart_l
|
||||
|
||||
IF prevPh(#@) THEN
|
||||
VowelEnding(l/xl, -50)
|
||||
ELIF prevPh(isVowel) THEN
|
||||
VowelEnding(l/xl, -40)
|
||||
ENDIF
|
||||
|
||||
IF prevPh(isPause) THEN
|
||||
FMT(l/_l)
|
||||
ENDIF
|
||||
|
||||
IF prevPh(t) THEN
|
||||
FMT(l/tl)
|
||||
ENDIF
|
||||
|
||||
IF prevPh(l/) THEN
|
||||
FMT(l/l_long) // double l, make it longer
|
||||
ENDIF
|
||||
|
||||
FMT(l/l)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
phoneme w
|
||||
liquid
|
||||
lengthmod 7
|
||||
FMT(w/w_)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
phoneme j
|
||||
liquid palatal
|
||||
lengthmod 7
|
||||
FMT(j/j_)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
//*******************************************************************
|
||||
// NASAL CONSONANTS
|
||||
//*******************************************************************
|
||||
|
||||
|
||||
phoneme m
|
||||
vcd blb nasal
|
||||
Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
|
||||
lengthmod 4
|
||||
FMT(m/m_)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme n
|
||||
vcd alv nasal
|
||||
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
|
||||
lengthmod 4
|
||||
FMT(n/n_)
|
||||
endphoneme
|
||||
|
||||
|
||||
//*******************************************************************
|
||||
// VOICED STOPS
|
||||
//*******************************************************************
|
||||
|
||||
|
||||
phoneme b
|
||||
vcd blb stop
|
||||
voicingswitch p
|
||||
Vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk
|
||||
lengthmod 7
|
||||
FMT(b/b) addWav(x/b)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme d
|
||||
vcd alv stop
|
||||
voicingswitch t
|
||||
lengthmod 5
|
||||
Vowelin f1=1 f2=1700 -300 300 f3=-100 80
|
||||
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk
|
||||
|
||||
FMT(d/d) addWav(x/d)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme d[
|
||||
vcd dnt stop
|
||||
voicingswitch t[
|
||||
lengthmod 5
|
||||
Vowelin f1=2 f2=1500 -300 300 f3=-150 80
|
||||
Vowelout f1=2 f2=1500 -300 300 f3=-150 80
|
||||
FMT(d/d) addWav(x/d_dnt, 100)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme dZ
|
||||
vcd pla afr sibilant
|
||||
voicingswitch tS
|
||||
//lengthmod 8
|
||||
Vowelin f1=2 f2=2300 200 400 f3=100 80
|
||||
Vowelout f1=2 f2=2300 250 300 f3=100 80 brk
|
||||
|
||||
FMT(dzh/dzh) addWav(x/dzh)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
phoneme J
|
||||
vcd pal afr sibilant palatal
|
||||
voicingswitch c
|
||||
lengthmod 5
|
||||
Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
|
||||
Vowelout f1=2 f2=2700 400 600 f3=300 80 colr=1
|
||||
|
||||
IF KlattSynth THEN
|
||||
IF nextPh(isPause2) THEN
|
||||
FMT(klatt/dz_pzd_) addWav(x/dzh, 35)
|
||||
ENDIF
|
||||
FMT(klatt/dz_pzd) addWav(x/dzh, 45)
|
||||
ENDIF
|
||||
|
||||
FMT(dzh/dz_pzd) addWav(x/dzh, 45)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme g
|
||||
vcd vel stop
|
||||
voicingswitch k
|
||||
lengthmod 5
|
||||
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(x/g2, 150)
|
||||
endphoneme
|
||||
|
||||
//*******************************************************************
|
||||
// VOICED fricatives
|
||||
//*******************************************************************
|
||||
|
||||
phoneme D
|
||||
vcd dnt frc
|
||||
voicingswitch T
|
||||
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
|
||||
FMT(voc/dh) addWav(vocw/dh)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme z
|
||||
vcd alv frc sibilant
|
||||
//voicingswitch s
|
||||
lengthmod 1
|
||||
Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
|
||||
|
||||
IF KlattSynth THEN
|
||||
Vowelin f1=0 f2=1390 -300 300 f3=0 0
|
||||
Vowelout f1=1 f2=1390 -300 300 f3=-100 60 len=50 brk
|
||||
ENDIF
|
||||
|
||||
FMT(voc/z) addWav(ufric/s_, 85)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme Z
|
||||
vcd pla frc sibilant
|
||||
voicingswitch S
|
||||
lengthmod 6
|
||||
Vowelin f1=0 f2=2000 0 300 f3=-200 80
|
||||
Vowelout f1=2 f2=2000 0 300 f3=-200 80 brk
|
||||
|
||||
IF KlattSynth THEN
|
||||
IF nextPh(isPause2) THEN
|
||||
FMT(klatt/zh_) addWav(vocw/zh)
|
||||
ENDIF
|
||||
FMT(klatt/zh) addWav(vocw/zh, 130)
|
||||
ENDIF
|
||||
|
||||
FMT(voc/zh) addWav(vocw/zh, 130)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//*******************************************************************
|
||||
// UNVOICED STOPS
|
||||
//*******************************************************************
|
||||
|
||||
phoneme t
|
||||
vls alv stop
|
||||
voicingswitch d
|
||||
lengthmod 2
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
||||
WAV(ustop/t, 90)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme t[ // dental variant of /t/
|
||||
vls dnt stop
|
||||
voicingswitch d[
|
||||
lengthmod 2
|
||||
Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16
|
||||
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
|
||||
|
||||
WAV(ustop/t_dnt, 35)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
|
||||
phoneme k
|
||||
vls vel stop
|
||||
voicingswitch g
|
||||
lengthmod 2
|
||||
Vowelin f1=0 f2=2300 200 300 f3=-200 80
|
||||
Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20
|
||||
|
||||
IF KlattSynth THEN
|
||||
Vowelout f1=0 f2=2300 200 300 f3=-200 80 rms=20
|
||||
ENDIF
|
||||
|
||||
WAV(ustop/k)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme q
|
||||
vls uvl stop
|
||||
lengthmod 2
|
||||
Vowelin f1=1 f2=1700 0 200 f3=-300 80 gpaus f4 rms=30
|
||||
Vowelout f1=1 f2=1700 -100 200 f3=-300 80 f4 rms=35
|
||||
WAV(ustop/q, 48)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
//*******************************************************************
|
||||
// UNVOICED fricatives
|
||||
//*******************************************************************
|
||||
|
||||
phoneme f
|
||||
vls lbd frc
|
||||
voicingswitch v
|
||||
lengthmod 3
|
||||
Vowelout f1=0 f2=1000 -500 -350 f3=-200 80
|
||||
WAV(ufric/f)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme T
|
||||
vls dnt frc
|
||||
voicingswitch D
|
||||
lengthmod 3
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
||||
WAV(ufric/th)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme s
|
||||
vls alv frc sibilant
|
||||
voicingswitch z
|
||||
lengthmod 3
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
||||
WAV(ufric/s)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme S
|
||||
vls pla frc sibilant
|
||||
voicingswitch Z
|
||||
lengthmod 3
|
||||
Vowelin f1=0 f2=2100 100 300 f3=-100 80
|
||||
Vowelout f1=0 f2=2100 100 300 f3=-100 80
|
||||
|
||||
WAV(ufric/sh)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
phoneme x
|
||||
vls vel frc
|
||||
voicingswitch Q
|
||||
lengthmod 3
|
||||
Vowelin f1=0 f2=2300 200 400 f3=-100 80
|
||||
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
|
||||
//WAV(ufric/x)
|
||||
WAV(vwl_ar/kha)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
phoneme h
|
||||
vls glt apr
|
||||
lengthmod 3
|
||||
ipa h
|
||||
WAV(h/h_, 70) // no vowel following
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Added specific consnant to arabic
|
||||
phoneme H // arabic Hah
|
||||
vls phr frc
|
||||
ipa U+0127
|
||||
lengthmod 5
|
||||
WAV(vwl_ar/H2)
|
||||
endphoneme
|
||||
|
||||
phoneme Z // arabic ZAH .Todo
|
||||
vls phr frc
|
||||
lengthmod 5
|
||||
voicingswitch z
|
||||
WAV(vwl_ar/ZH4)
|
||||
endphoneme
|
||||
|
||||
phoneme E // arabic Ain
|
||||
vls phr frc
|
||||
//ipa U+0127
|
||||
//voicingswitch a
|
||||
lengthmod 5
|
||||
//WAV(vwl_ar/AN2,50)
|
||||
WAV(vwl_ar/ain2)
|
||||
|
||||
endphoneme
|
||||
|
||||
phoneme G //arabic Ghain
|
||||
//vcd uvl frc
|
||||
vls uvl frc
|
||||
lengthmod 3
|
||||
Vowelin f1=0 f2=2300 200 400 f3=-100 80
|
||||
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
|
||||
voicingswitch R
|
||||
//lengthmod 5
|
||||
//ipa U+0280
|
||||
WAV(vwl_ar/ghain6)
|
||||
//FMT(voc/Q_ulv) addWav(vwl_ar/gh, 100)
|
||||
//FMT(voc/Q_ulv) addWav(vwl_ar/ghain3, 100)
|
||||
|
||||
endphoneme
|
||||
|
||||
phoneme d[ //arabic Dhad
|
||||
vls dnt stop
|
||||
voicingswitch d
|
||||
length 120
|
||||
WAV(vwl_ar/da7)
|
||||
endphoneme
|
||||
|
||||
phoneme s[
|
||||
vls dnt stop
|
||||
//voicingswitch s
|
||||
lengthmod 7
|
||||
WAV(vwl_ar/SA1)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
phoneme r
|
||||
liquid rhotic
|
||||
ipa ?
|
||||
lengthmod 7
|
||||
IF nextPh(a) OR nextPh(a:) THEN
|
||||
FMT(r/ra)
|
||||
ENDIF
|
||||
FMT(r/r_)
|
||||
endphoneme
|
||||
|
||||
procedure ShortVowelLength
|
||||
|
||||
//IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN // voiced
|
||||
IF prevPhW(isNotVowel) AND nextPhW(isNotVowel) THEN // consonants
|
||||
length 140
|
||||
RETURN
|
||||
//ENDIF
|
||||
ELSE
|
||||
IF prevPh(isStressed) THEN
|
||||
length 160
|
||||
ELSE
|
||||
length 175
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
endprocedure
|
||||
procedure LongVowelLength
|
||||
|
||||
//IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN // voiced
|
||||
IF nextPhW(:) THEN
|
||||
length 300
|
||||
RETURN
|
||||
//ENDIF
|
||||
ELIF prevPhW(isNotVowel) AND nextPhW(isNotVowel) THEN // consonants
|
||||
length 340
|
||||
RETURN
|
||||
//ENDIF
|
||||
ELSE
|
||||
IF prevPh(isStressed) THEN
|
||||
length 360
|
||||
ELSE
|
||||
length 375
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
endprocedure
|
||||
Reference in New Issue
Block a user