Merge remote-tracking branch 'hozosch/master'

This commit is contained in:
Reece H. Dunn
2018-01-09 07:25:50 +00:00
17 changed files with 554 additions and 305 deletions
+7 -11
View File
@@ -34,21 +34,16 @@
0 _| NULL 0 _
0 pF NULL 0 pf
0 r NULL 0 R
0 V# NULL 0 R
0 V# NULL 0 6
0 UR NULL 60 U R
0 eI VWL 60 e j
0 eI VWL 60 E j
0 eI NULL 0 e:
0 oU NULL 0 o:
0 W~ NULL 0 E~
0 A~ NULL 0 a~
0 O~ NULL 0 o~
// phonemes for Spanish words
0 e NULL 0 E
0 ** NULL 0 R
0 n^ NULL 40 n j
// phonemes for English words
0 @L NULL 50 @ l
0 @2 NULL 0 @
@@ -62,7 +57,7 @@
0 3: NULL 0 @
0 i@ NULL 60 i: @
0 i@3 NULL 60 i: @
0 e@ NULL 60 e: @
0 e@ NULL 60 E 6
0 o@ NULL 70 o: 6
0 O@ NULL 70 O 6
0 O: NULL 0 O
@@ -70,10 +65,11 @@
0 U@ NULL 60 U @
0 aI@ NULL 70 aI @
0 aU@ NULL 70 aU @
0 3: NULL 60 E: R
0 dZ NULL 0 tS
0 w NULL 0 v
0 T NULL 0 f
0 D NULL 0 v
0 T NULL 0 f
0 i NULL 0 i:
0 EI NULL 0 e:
+6 -9
View File
@@ -26,12 +26,12 @@
0 l- NULL 0 l
0 w/ NULL 0 w
0 j/ NULL 0 j
0 ; NULL 0 NULL
0 ; NULL 0 j
0 g- NULL 0 NULL
0 @- NULL 0 NULL
0 * NULL 0 R
0 V# NULL 0 R
0 UR NULL 60 U R
0 V# NULL 0 6
0 UR NULL 60 U 6
0 E2 NULL 0 E
0 y NULL 0 Y
@@ -51,12 +51,9 @@
0 O~ NULL 0 o~
16 _| VWL 0 ?
//16 _! VWL 0 ?
// phonemes for Spanish words
0 e NULL 0 E
0 ** NULL 0 R
0 n^ NULL 40 n j
16 _! VWL 0 ?
16 ? VWL 0 ?
16 _^_ VWL 0 NULL
// phonemes for English words
0 @L NULL 0 L
+2 -9
View File
@@ -25,7 +25,7 @@
0 _! VWL 0 ?
0 pF NULL 0 pf
0 r NULL 0 R
0 V# NULL 0 R
0 V# NULL 0 6
0 UR NULL 60 U R
@@ -35,20 +35,13 @@
0 A~ NULL 0 a~
0 O~ NULL 0 o~
// phonemes for Spanish words
0 e NULL 0 E
0 ** NULL 0 R
0 n^ NULL 40 n j
// phonemes for English words
0 @L NULL 40 @ l
0 m- NULL 20 @ m
0 n- NULL 20 @ n
0 @2 NULL 0 @
0 @5 NULL 0 @
0 a# NULL 0 @
0 I2 NULL 0 I
0 i NULL 0 I
0 i NULL 0 i:
0 aa NULL 0 a
0 V NULL 0 a:
0 0 NULL 0 a:
+200 -134
View File
@@ -1,4 +1,4 @@
//=========================================================
// German
@@ -9,34 +9,148 @@
phoneme @ // Schwa
vwl starttype #@ endtype #@
unstressed
length 120
length 80
IF nextPh(r) THEN
IF next2Ph(isVowel) THEN
ELSE
ChangePhoneme(3)
ENDIF
ENDIF
IF nextPh(n) THEN
length 15
ENDIF
FMT(vowel/@_4)
endphoneme
phoneme 3 // open Schwa+r
vwl starttype #@ endtype #@
unstressed flag1
length 160
IF thisPh(isFinalVowel) THEN
length 210
phoneme A~
vowel starttype #a endtype #a
length 260
FMT(vnasal/aa_n4)
endphoneme
phoneme l2 // as [l] but devoice previous phoneme
liquid lengthmod 7
ChangePhoneme (l)
endphoneme
phoneme b
vcd blb stp
voicingswitch p
IF nextPh(l2) THEN
ChangePhoneme(p)
ENDIF
CALL base/b
endphoneme
phoneme d
vcd alv stp
voicingswitch t
IF nextPh(l2) THEN
ChangePhoneme(t)
ENDIF
lengthmod 5
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_)
ELIF nextPh(r) THEN
FMT(d/dr) addWav(x/d)
ENDIF
FMT(d/d) addWav(x/d)
endphoneme
phoneme g
vcd vel stp
voicingswitch k
IF nextPh(l2) THEN
ChangePhoneme(k)
ENDIF
CALL base/g
endphoneme
phoneme k
vls vel stp
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
IF nextPh(isPause2) THEN
WAV(ustop/k_)
ELIF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN
WAV(ustop/k_)
ELIF nextPh(i:) OR nextPh(;) THEN
WAV(ustop/ki)
ELIF nextPh(l) THEN
WAV(ustop/kl)
ELIF nextPh(@-) THEN
WAV(ustop/k_unasp, 70)
ENDIF
WAV(ustop/k)
endphoneme
phoneme p
vls blb stp
voicingswitch b
lengthmod 2
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
IF nextPh(isPause2) THEN
WAV(ustop/p_)
ELIF nextPh(r) THEN
WAV(ustop/p)
ELIF nextPh(@-) THEN
WAV(ustop/p_unasp)
ELIF nextPh(l) THEN
WAV(ustop/pl)
ENDIF
WAV(ustop/p)
endphoneme
phoneme 3 // Schwa+r
vwl starttype #a endtype #a
unstressed flag1
length 140
IF thisPh(isWordEnd) THEN
FMT(vowel/V_3)
ELSE
FMT(vowel/V_3)
ENDIF
endphoneme
phoneme 3: // Schwa+r
vwl starttype #a endtype #a
unstressed flag1
length 220
IF thisPh(isWordEnd) THEN
FMT(vowel/V_3)
ELSE
FMT(vowel/a#_3)
ENDIF
FMT(vowel/a#_3) // in eSpeak 1.44, this used vowel/V_3 at end-of-word
endphoneme
phoneme a
vwl starttype #a endtype #a
length 110
IF nextPh(isRhotic) THEN
length 125
ENDIF
FMT(vowel/a)
endphoneme
@@ -44,9 +158,6 @@ endphoneme
phoneme E
vwl starttype #e endtype #e
length 120
IF nextPh(*) THEN
length 135
ENDIF
FMT(vowel/e_mid2)
endphoneme
@@ -55,9 +166,6 @@ phoneme E2 // as[E] but reduces to @ if unstressed
vwl starttype #e endtype #e
length 120
ChangeIfDiminished(@)
IF nextPh(*) THEN
length 135
ENDIF
FMT(vowel/e_mid2)
endphoneme
@@ -65,9 +173,6 @@ endphoneme
phoneme I
vwl starttype #i endtype #i
length 120
IF nextPh(*) THEN
length 135
ENDIF
IfNextVowelAppend(;)
FMT(vowel/ii)
endphoneme
@@ -80,12 +185,18 @@ phoneme I:
endphoneme
phoneme iR // TEST "vier" = [f'iR] not successful
vwl starttype #i endtype #@
ipa i?
flag1
length 240
FMT(vdiph2/i@_3)
endphoneme
phoneme O
vwl starttype #o endtype #o
length 120
IF nextPh(*) THEN
length 135
ENDIF
FMT(vowel/oo)
endphoneme
@@ -93,12 +204,11 @@ endphoneme
phoneme U
vwl starttype #u endtype #u
length 120
IF nextPh(*) THEN
length 135
ENDIF
IF nextPh(r) AND next2Ph(isNotVowel) THEN
ChangePhoneme(UR)
IF nextPh(r) THEN
IF next2Ph(isVowel) THEN
ELSE
ChangePhoneme(UR)
ENDIF
ENDIF
FMT(vowel/uu_2)
endphoneme
@@ -125,10 +235,6 @@ phoneme i:
IF prevPh(w) THEN
VowelStart(w/wi2)
ENDIF
// IF nextPh(r) AND next2Ph(isNotVowel) THEN
// ChangePhoneme(iR)
// ENDIF
FMT(vowel/i_2)
endphoneme
@@ -166,17 +272,15 @@ endphoneme
phoneme EI
vwl starttype #e endtype #i
length 210
FMT(vdiph/eei)
import_phoneme en-us/eI
endphoneme
phoneme OY
vwl starttype #o endtype #i
vwl starttype #o endtype #e
length 220
FMT(vdiph/oi)
FMT(vwl_de/eu)
endphoneme
@@ -209,29 +313,23 @@ endphoneme
phoneme y
vwl starttype #u endtype #u
ipa ʏ
vwl starttype #@ endtype #u
ipa ?
length 110
IF nextPh(*) THEN
length 115
ENDIF
FMT(vowel/yy_4)
FMT(vwl_de/ue_short)
endphoneme
phoneme Y:
vwl starttype #@ endtype #@
length 180
FMT(vowel/y#)
vwl starttype #@ endtype #u
length 220
FMT(vwl_de/y#)
endphoneme
phoneme W
vwl starttype #@ endtype #@
length 150
IF nextPh(*) THEN
length 160
ENDIF
FMT(vowel/oe)
endphoneme
@@ -240,8 +338,9 @@ endphoneme
// CONSONANTS
//===========
phoneme t
vls alv stp
vls alv stp
voicingswitch d
lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
@@ -258,14 +357,13 @@ phoneme t
endphoneme
phoneme ts
import_phoneme consonants/ts
endphoneme
phoneme pF
vls bld afr
vls blb afr
ipa pf
Vowelout f1=0 f2=1000 -500 -350 f3=-200 80
lengthmod 2
@@ -324,7 +422,7 @@ phoneme j
VowelEnding(j/xj, -30)
IF prevPh(isPause) THEN
FMT(j/_j_short) // difference from base1/j
FMT(j/_j_short) // difference from base/j
ENDIF
ELSE
// no vowel follows
@@ -334,109 +432,77 @@ phoneme j
endphoneme
phoneme r // note, following consonant must be 'ustop/t_' not 'ustop/tr' etc.
liquid alv rhotic
phoneme r
liquid uvl
ipa ʀ
lengthmod 6
IF prevPhW(@-) THEN
length 110
IF nextPhW(isVowel) THEN
FMT(r3/r_uvl) addWav(r3/r_uvl.wav, 50)
ELSE
IF nextPhW(isVowel) THEN
IF prevPhW(isVowel) THEN
ChangePhoneme(R)
ELSE
IF prevPhW(t) THEN
PauseBefore 30
ELSEIF prevPhW(d) OR prevPhW(b) OR prevPhW(g) OR prevPhW(k) OR prevPhW(p) THEN
PauseBefore 15
ELSE
InsertPhoneme(@-)
ENDIF
ENDIF
ENDIF
ENDIF
IF prevPh(isFlag1) THEN
IF prevPh(isFlag1) THEN
ChangePhoneme(NULL) // 'r' is already included in the previous vowel
ELSE
ChangePhoneme(V#)
ENDIF
ENDIF
CALL base1/*
endphoneme
phoneme V# // used for 'r' after a vowel (to create a diphthong)
liquid
lengthmod 7
IF nextPhW(isVowel) THEN
ChangePhoneme(r)
ENDIF
phoneme iR // TEST "vier" = [f'iR] not successful
vwl starttype #i endtype #@
ipa iɐ
flag1
length 240
FMT(vdiph2/i@_3)
ipa ?
IF prevPh(#a) THEN
FMT(r/V_2_)
ENDIF
IF prevPh(e:) OR prevPh (Y:) THEN
FMT(vowel/V_3)
ENDIF
IF prevPh(E) THEN
FMT(r/V_2_)
ENDIF
IF prevPh(#u) THEN
FMT(r/@_)
ENDIF
FMT(r/V_)
endphoneme
phoneme UR
vwl starttype #u endtype #@
ipa ʊɐ
ipa ??
flag1
length 180
FMT(vwl_de/uu_@)
endphoneme
phoneme r2
vcd alv flp
IF prevPhW(isVowel) THEN
ChangePhoneme(*)
ENDIF
InsertPhoneme(@-)
ChangePhoneme(*)
endphoneme
phoneme oU // for English words
import_phoneme en-us/oU
endphoneme
phoneme A~
vwl starttype #a endtype #a
length 260
FMT(vnasal/aa_n4)
phoneme W~
vwl starttype #@ endtype #@
length 200
FMT(vnasal/W_n)
endphoneme
phoneme l2 // as [l] but devoice previous phoneme
liquid lengthmod 7
ChangePhoneme (l)
endphoneme
phoneme b
vcd alv frc sib
voicingswitch p
IF nextPh(l2) THEN
ChangePhoneme(p)
ENDIF
CALL base1/b
endphoneme
phoneme d
vcd alv stp
voicingswitch t
IF nextPh(l2) THEN
ChangePhoneme(t)
ENDIF
lengthmod 5
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_)
ELIF nextPh(r) THEN
FMT(d/dr) addWav(x/d)
ENDIF
FMT(d/d) addWav(x/d)
endphoneme
phoneme g
vcd vel stp
voicingswitch k
IF nextPh(l2) THEN
ChangePhoneme(k)
ENDIF
CALL base1/g
endphoneme
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.