mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-10 00:11:11 +00:00
Merge branch 'master' into android
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,37 @@
|
||||
|
||||
//====================================================
|
||||
// Bengali, inherits from Hindi
|
||||
//====================================================
|
||||
|
||||
phoneme @
|
||||
vowel flag1 starttype #@ endtype #@
|
||||
length 65
|
||||
|
||||
ChangeIfDiminished(@-)
|
||||
IF nextPh(H) THEN
|
||||
FMT(vowel/@_low)
|
||||
ENDIF
|
||||
FMT(vowel/@_bck)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme V
|
||||
vowel flag1 starttype #@ endtype #@
|
||||
length 180
|
||||
CALL hi/V
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme a:
|
||||
vowel long starttype #a endtype #a
|
||||
length 230
|
||||
FMT(vowel/aa_9)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme o:
|
||||
vowel long starttype #o endtype #o
|
||||
length 220
|
||||
FMT(vowel/o_2)
|
||||
endphoneme
|
||||
|
||||
@@ -120,6 +120,23 @@ phoneme kh
|
||||
WAV(ustop/k_asp, 90)
|
||||
endphoneme
|
||||
|
||||
phoneme k#
|
||||
vls vel stop
|
||||
lengthmod 2
|
||||
voicingswitch g
|
||||
Vowelin f1=1 f2=1400 -100 100 f3=-150 80
|
||||
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
|
||||
IF nextPh(isPause2) THEN
|
||||
WAV(ustop/k_asp, 40)
|
||||
ENDIF
|
||||
IF nextPhW(#e) OR nextPhW(#i) THEN
|
||||
WAV(ustop/k_asp_e, 40)
|
||||
ELIF nextPhW(#o) OR nextPhW(#u) THEN
|
||||
WAV(ustop/k_asp_a, 25)
|
||||
ELSE
|
||||
WAV(ustop/k_asp_a, 30)
|
||||
ENDIF
|
||||
endphoneme
|
||||
|
||||
phoneme s2 // second part of a long [s:]
|
||||
vls alv frc sibilant
|
||||
|
||||
+475
-46
@@ -1,31 +1,90 @@
|
||||
// PB General rules for vowels:
|
||||
// Short vowels
|
||||
// ACC: Short "pille" [p?el@-]
|
||||
// AC[V]: Short "piler" [p?ilV]
|
||||
// A[N]: Short "bange" [b?AN@-]
|
||||
// Long vowels
|
||||
// A + group #@ OR group #e: Long "ae" "aer" [&:@-]
|
||||
// AC + group #@ OR group #e: Long "pile" [pi:l@-]
|
||||
// AC[i]: Long "smidig" [smi:Di]
|
||||
|
||||
phoneme @
|
||||
vowel starttype #@ endtype #@
|
||||
unstressed
|
||||
length 110
|
||||
length 60
|
||||
FMT(vowel/@_3)
|
||||
endphoneme
|
||||
|
||||
phoneme @- // very short schwa
|
||||
vowel starttype #@ endtype #@
|
||||
unstressed nonsyllabic
|
||||
ipa ə
|
||||
IF nextPhW(*) OR nextPhW(r) THEN
|
||||
ipa NULL // @-* is used to make 'r'
|
||||
ENDIF
|
||||
length 40
|
||||
FMT(vowel/@-)
|
||||
endphoneme
|
||||
|
||||
// ToDo: change [@] to [a#] if adjacent to [r] or [R]
|
||||
phoneme 3
|
||||
vowel starttype #a endtype #a
|
||||
unstressed
|
||||
length 110
|
||||
length 40
|
||||
FMT(vowel/a#_3)
|
||||
endphoneme
|
||||
|
||||
// PB sort of schwa [ɐ] (0250+032F)
|
||||
// "spurgt" [sp'o3-d] – ipa [spˈoɐ̯d]
|
||||
phoneme 3- // used for 'r' after a vowel (to create a diphthong)
|
||||
liquid
|
||||
lengthmod 7
|
||||
ipa ɐ̯
|
||||
FMT(r/a_)
|
||||
endphoneme
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 150
|
||||
IfNextVowelAppend(;)
|
||||
length 90 //150
|
||||
// PB long vowel followed by consonant and certain vowels "gide"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "gider" TEST
|
||||
IF nextPhW(D) AND next2PhW(V) OR next2PhW(?V) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// PB long vowel followed by certain vowels - "pigen" [p'i@-n]
|
||||
IF nextPhW(#@) OR nextPhW(#e) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// Only this vowel (in this case [i])
|
||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// This vowel is word end - longer because it sounds too short
|
||||
// "sig", "si"
|
||||
IF thisPh(isWordEnd) THEN
|
||||
length 120
|
||||
ENDIF
|
||||
// "vilje" - short followed by 2 consonants
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// PB "tie", "stige", "krige" vowel + vowel: extra length
|
||||
// What is causing this very short [i] in words with final [@-]?
|
||||
// NOT "galleriet" [g,?&lVR'i@-D] NOT "krigen" [kR'i@-n]
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) AND NOT next2PhW(D) AND NOT next2PhW(n) THEN
|
||||
length 240
|
||||
ENDIF
|
||||
FMT(vowel/i_4)
|
||||
endphoneme
|
||||
|
||||
// PB Experimental glottal i
|
||||
// PB short i
|
||||
// sviret vs. svirret
|
||||
phoneme ?i
|
||||
vowel starttype #i endtype #i
|
||||
length 95
|
||||
length 90
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/i_4)
|
||||
endphoneme
|
||||
@@ -40,43 +99,129 @@ endphoneme
|
||||
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 150
|
||||
length 90 //150
|
||||
// "delte", "mente"
|
||||
IF nextPhW(#e) OR nextPhW(#@) OR next2PhW(#e) OR next2PhW(#@) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// PB "ring", "ringe"
|
||||
IF nextPhW(N) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// PB "enig", "enige", "evig"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// Only "e"
|
||||
IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "nedladende" [n'eDl&D@-n@-] - before 2 consonants: short
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
FMT(vowel/e)
|
||||
endphoneme
|
||||
|
||||
// PB glottal e
|
||||
// PB short e
|
||||
// "skille" vs. "skele", "pille" vs. "pile"
|
||||
phoneme ?e
|
||||
vowel starttype #e endtype #e
|
||||
length 95
|
||||
length 90
|
||||
FMT(vowel/e)
|
||||
endphoneme
|
||||
|
||||
phoneme E
|
||||
vowel starttype #e endtype #e
|
||||
length 150
|
||||
length 90 //150
|
||||
// "værelse", "breve"
|
||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@-) THEN
|
||||
// length 150
|
||||
ENDIF
|
||||
// "ræve"
|
||||
IF nextVowel(#@) OR nextVowel(#e) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "ære", "kærester", "ærefrygt" - longer E
|
||||
IF nextPhW(V) THEN
|
||||
length 180
|
||||
ENDIF
|
||||
// Only the letter "æ" - long
|
||||
IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "stædig" [st'EDi] long
|
||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "længe" - short - 2 consonants => 1 consonant
|
||||
IF nextPhW(N) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// "værelse" [v'E3-Vls@_!]
|
||||
IF nextPhW(3-) AND next2PhW(V) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// "mælkebøtte" - short followed by 2 consonants
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
FMT(vowel/e_mid2)
|
||||
endphoneme
|
||||
|
||||
// PB Experimental glottal E
|
||||
// PB short E
|
||||
// "læsse" vs. "læse"
|
||||
phoneme ?E
|
||||
vowel starttype #e endtype #e
|
||||
length 95
|
||||
length 90
|
||||
// PB "færre" [f'?EV] - a bit longer because og the missing [ɐ] [ˈfæɐ̯ʌ]
|
||||
// Changed now [f'?E3-V] but it won't do any harm
|
||||
IF nextPhW(V) THEN
|
||||
length 120
|
||||
ENDIF
|
||||
FMT(vowel/e_mid2)
|
||||
endphoneme
|
||||
|
||||
phoneme &
|
||||
vowel starttype #e endtype #e
|
||||
length 150
|
||||
ipa a
|
||||
length 90 //150
|
||||
// "same", "sale", "bade" - consonant + gooup #e or group #@: long
|
||||
IF next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// ThisPh + gooup #e or group #@
|
||||
// "ae", "aer" vowel + vowel: extra length
|
||||
IF nextPhW(#@) OR nextPhW(#e) THEN
|
||||
length 240
|
||||
ENDIF
|
||||
// This vowel is word end - longer because it sounds too short
|
||||
// "ja", "Omaha"
|
||||
IF thisPh(isWordEnd) THEN
|
||||
length 120
|
||||
ENDIF
|
||||
// Only this vowel (in this case [&])
|
||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "stadig" [st&Di], "stadigt" [st&Dit]
|
||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN
|
||||
length 180
|
||||
ENDIF
|
||||
// "Alfie", "alfer" - short before 2 consonants
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
FMT(vowel/ee_2)
|
||||
endphoneme
|
||||
|
||||
// PB Experimental glottal a
|
||||
// PB Short &
|
||||
// e.g. the last a in "staldkarl"
|
||||
// "sale" vs. "sal"
|
||||
phoneme ?&
|
||||
ipa a
|
||||
vowel starttype #e endtype #e
|
||||
length 95
|
||||
length 90
|
||||
FMT(vowel/ee_2)
|
||||
endphoneme
|
||||
|
||||
@@ -84,44 +229,151 @@ endphoneme
|
||||
phoneme &#
|
||||
vowel starttype #e endtype #e
|
||||
length 120
|
||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
ENDIF
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
FMT(vowel/&)
|
||||
endphoneme
|
||||
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
length 150
|
||||
FMT(vowel/a_2)
|
||||
// PB short &#
|
||||
// "revl" vs. "tremme"
|
||||
phoneme ?&#
|
||||
vowel starttype #e endtype #e
|
||||
length 90
|
||||
FMT(vowel/&)
|
||||
endphoneme
|
||||
|
||||
phoneme A
|
||||
//phoneme a
|
||||
// vowel starttype #a endtype #a
|
||||
// length 90 //150
|
||||
//IF nextPhW(#@) OR nextPhW(#e) THEN
|
||||
// length 150
|
||||
//ENDIF
|
||||
// FMT(vowel/a_2)
|
||||
//endphoneme
|
||||
|
||||
// PB short (glottal) a
|
||||
// "bragt"
|
||||
//phoneme ?a
|
||||
// vowel starttype #a endtype #a
|
||||
// length 90
|
||||
// FMT(vowel/a_2)
|
||||
//endphoneme
|
||||
|
||||
phoneme A // PB changed to a_8
|
||||
vowel starttype #a endtype #a
|
||||
length 150
|
||||
FMT(vowel/a_3)
|
||||
length 90 //150
|
||||
// PB long vowel followed by consonant and certain vowels - "drabelig"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "far", "bastard" - a bit longer followed by [r]
|
||||
IF nextPhW(r) AND nextPhW(isWordEnd) THEN
|
||||
length 120
|
||||
ENDIF
|
||||
// "bange" [bAN@-] - [N] = 2 consonants (ng) => short
|
||||
IF nextPhW(N) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
FMT(vowel/a_8)
|
||||
endphoneme
|
||||
|
||||
// PB short A
|
||||
// "drab" vs. "drabelig"
|
||||
phoneme ?A
|
||||
vowel starttype #a endtype #a
|
||||
length 90
|
||||
// "straffeattest", "straffe", "rapid" - a bit longer after R
|
||||
IF prevPhW(R) AND nextPhW(isNotVowel) AND next2PhW(isVowel) THEN
|
||||
length 110
|
||||
ENDIF
|
||||
FMT(vowel/a_8)
|
||||
endphoneme
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
length 150
|
||||
length 90 //150
|
||||
// Short vowel followed by consonant and NOT consonant + 3 or V or @
|
||||
// "blus" vs. "bluse" and "bluser"
|
||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
// glstop
|
||||
// length 90
|
||||
ENDIF
|
||||
// "suge", "uge", bluse
|
||||
IF nextPhW(#e) OR nextPhW(#@) OR next2PhW(#e) OR next2PhW(#@)THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// extra length followed by 3 or V or @
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN
|
||||
// length 240
|
||||
ENDIF
|
||||
// "umulig"
|
||||
IF nextVowel(i) AND nextVowel(isFinalVowel) AND nextVowel(isWordEnd) THEN
|
||||
length 180
|
||||
ENDIF
|
||||
// Only "u"
|
||||
IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
FMT(vowel/u_bck)
|
||||
endphoneme
|
||||
|
||||
// PB glottal u
|
||||
// "gud" vs. "guden" - [guD] [g?D@n]
|
||||
// "tude" vs. "tuden" - [tuD3] [t?uD@n]
|
||||
phoneme ?u
|
||||
vowel starttype #u endtype #u
|
||||
length 95
|
||||
length 90
|
||||
FMT(vowel/u_bck)
|
||||
endphoneme
|
||||
|
||||
phoneme o
|
||||
vowel starttype #o endtype #o
|
||||
length 150
|
||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
ENDIF
|
||||
// "tro"
|
||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "modig" - long vowel after consonant + [i]
|
||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(i) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
FMT(vowel/o_2)
|
||||
endphoneme
|
||||
|
||||
// PB Short o
|
||||
// "patron" vs. "kone"
|
||||
phoneme ?o
|
||||
vowel starttype #o endtype #o
|
||||
length 95
|
||||
FMT(vowel/o_2)
|
||||
endphoneme
|
||||
|
||||
phoneme O
|
||||
vowel starttype #o endtype #o
|
||||
length 150
|
||||
length 90 // 150
|
||||
// PB "sove", "sover" - consonant + #e or #@: long
|
||||
IF next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// PB "gået" - ThisPh + #e or #@
|
||||
IF nextPhW(#e) OR nextPhW(#@) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "rådig"
|
||||
IF nextVowel(i) AND nextVowel(isFinalVowel) THEN
|
||||
length 180
|
||||
ENDIF
|
||||
FMT(vowel/o_5)
|
||||
endphoneme
|
||||
|
||||
@@ -129,67 +381,195 @@ endphoneme
|
||||
// "toget" vs. "tåget"
|
||||
phoneme ?O
|
||||
vowel starttype #o endtype #o
|
||||
length 95
|
||||
length 90
|
||||
FMT(vowel/o_5)
|
||||
endphoneme
|
||||
|
||||
phoneme V
|
||||
vowel starttype #@ endtype #@
|
||||
length 150
|
||||
// "sport" [spV:t]
|
||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
ENDIF
|
||||
IF nextPh(3) OR nextPh(V) OR nextPh(@) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// PB short V in "holder", "solder"
|
||||
IF nextPhW(isNotVowel) AND next2Ph(V) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// PB "snorke", "snorker", årlig
|
||||
IF next2PhW(3) OR next2PhW(V) OR next2PhW(@) OR next2PhW(i) THEN
|
||||
length 180
|
||||
ENDIF
|
||||
// "sove" [sVw3] - longer followed by w + 3
|
||||
IF nextPhW(w) AND next2PhW(3) THEN
|
||||
length 220
|
||||
ENDIF
|
||||
FMT(vowel/V_4)
|
||||
endphoneme
|
||||
|
||||
// PB Short å
|
||||
// "forstår" vs. "kåre"
|
||||
phoneme ?V
|
||||
vowel starttype #@ endtype #@
|
||||
length 100
|
||||
FMT(vowel/V_4)
|
||||
endphoneme
|
||||
|
||||
phoneme 0
|
||||
vowel starttype #o endtype #o
|
||||
length 150
|
||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
ENDIF
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
FMT(vowel/oo_2)
|
||||
endphoneme
|
||||
|
||||
// ?B short 0 "sukker"
|
||||
phoneme ?0
|
||||
vowel starttype #o endtype #o
|
||||
length 90
|
||||
FMT(vowel/oo_2)
|
||||
endphoneme
|
||||
|
||||
phoneme y
|
||||
vowel starttype #i endtype #i
|
||||
length 150
|
||||
// Length changed to short since most vowels are short.
|
||||
// It's probably easier only to make rules for long vowels.
|
||||
length 90 //150
|
||||
|
||||
// PB long vowel followed by consonant and certain vowels
|
||||
// "lyde", "lyder"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// Only this vowel (in this case [y])
|
||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "dydig" [dyDi]
|
||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "syge" [sy3] vowel + vowel: extra length, but NOT "fyret" [fyVD]
|
||||
IF nextPhW(#e) OR nextPhW(#@) AND NOT next2PhW(D) THEN
|
||||
length 200
|
||||
ENDIF
|
||||
// "tyve"
|
||||
IF nextPhW(?u) AND next2PhW(@-) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
FMT(vowel/y)
|
||||
endphoneme
|
||||
|
||||
// PB glottal y
|
||||
// PB Short y
|
||||
// "kylling" vs. "kyle", "krybbe" vs. "krybe"
|
||||
phoneme ?y
|
||||
vowel starttype #i endtype #i
|
||||
length 95
|
||||
length 90
|
||||
FMT(vowel/y)
|
||||
endphoneme
|
||||
|
||||
phoneme Y
|
||||
vowel starttype #i endtype #i
|
||||
length 150
|
||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
ENDIF
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
FMT(vowel/yy)
|
||||
endphoneme
|
||||
|
||||
phoneme W
|
||||
vowel starttype #@ endtype #@
|
||||
length 150
|
||||
length 99 //160
|
||||
// "kløe" vowel + vowel: extra length
|
||||
IF nextPhW(#@) OR nextPhW(#e) THEN
|
||||
length 220
|
||||
ENDIF
|
||||
// røde" W + 1 consonant + 3 or W or @
|
||||
IF next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 160
|
||||
ENDIF
|
||||
// "røveri" TEST
|
||||
IF next2PhW(V) OR next2PhW(?V) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// PB "nødig", "nødigt", "kølige"
|
||||
IF nextVowel(i) THEN
|
||||
length 160
|
||||
ENDIF
|
||||
// "møve" [mWw@-]
|
||||
IF nextPhW(w) AND nextVowel(@-) THEN
|
||||
length 160
|
||||
ENDIF
|
||||
// "børnebog"
|
||||
IF nextPhW(r) AND next2PhW(n) AND nextVowel(@-) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
FMT(vowel/oe)
|
||||
endphoneme
|
||||
|
||||
// PB glottal W
|
||||
// PB short W
|
||||
// "prøv" vs. "prøve"
|
||||
phoneme ?W
|
||||
vowel starttype #@ endtype #@
|
||||
length 80
|
||||
length 95
|
||||
FMT(vowel/oe)
|
||||
endphoneme
|
||||
|
||||
// PB added for the ø in "røv", "røg", "øje" instead of [V3]
|
||||
phoneme W#
|
||||
vowel starttype #@ endtype #@
|
||||
length 150
|
||||
length 90 //150
|
||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
// length 90
|
||||
ENDIF
|
||||
// PB long vowel followed by consonant and certain vowels
|
||||
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) OR next2PhW(3) OR next2PhW(V) OR next2PhW(?V) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
FMT(vowel/V)
|
||||
endphoneme
|
||||
|
||||
// PB short W#
|
||||
// "rømme"
|
||||
phoneme ?W#
|
||||
vowel starttype #@ endtype #@
|
||||
length 90
|
||||
FMT(vowel/V)
|
||||
endphoneme
|
||||
|
||||
phoneme aI
|
||||
vowel starttype #a endtype #i
|
||||
length 250
|
||||
length 300
|
||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2Ph(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 150
|
||||
ENDIF
|
||||
// "dreje" [dR'aI@-_!]
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN
|
||||
length 280
|
||||
ENDIF
|
||||
// PB "drej" vs. "dreje"
|
||||
IF thisPh(isWordEnd) THEN
|
||||
length 140
|
||||
ENDIF
|
||||
// "lejde" [l'aId@-_!], "lejder" [l'aIdV_!]
|
||||
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(V) THEN
|
||||
length 190
|
||||
ENDIF
|
||||
FMT(vdiph/ai)
|
||||
endphoneme
|
||||
|
||||
@@ -201,7 +581,31 @@ phoneme l
|
||||
liquid
|
||||
lengthmod 7
|
||||
ChangePhoneme(l/3)
|
||||
CALL base/l
|
||||
// CALL base/l
|
||||
endphoneme
|
||||
|
||||
phoneme l/3 // Replacement for [l/]
|
||||
liquid
|
||||
lengthmod 7
|
||||
|
||||
IF nextPh(isVowel) THEN
|
||||
// ChangePhoneme(l)
|
||||
ENDIF
|
||||
|
||||
PrevVowelEndings
|
||||
VowelEnding(l/l_@)
|
||||
VowelEnding(l/l_a)
|
||||
VowelEnding(l/l_e, -40)
|
||||
VowelEnding(l/l_i, -70)
|
||||
VowelEnding(l/l_o)
|
||||
VowelEnding(l/l_u, -70)
|
||||
EndSwitch
|
||||
|
||||
// IF nextPh(isLiquid) THEN
|
||||
// FMT(l/_l)
|
||||
// ENDIF
|
||||
|
||||
FMT(l/l_)
|
||||
endphoneme
|
||||
|
||||
phoneme v // approximant, not fricative
|
||||
@@ -209,25 +613,24 @@ phoneme v // approximant, not fricative
|
||||
voicingswitch f
|
||||
endphoneme
|
||||
|
||||
|
||||
// PB Actually a kind of schwa = [ɐ]? - "byder" [bˈyðɐʌ]
|
||||
phoneme r // used for 'r' after a vowel (to create a diphthong)
|
||||
liquid
|
||||
lengthmod 7
|
||||
IF nextPhW(isVowel) THEN
|
||||
ipa ɐ̯
|
||||
IF nextPhW(isVowel) AND NOT nextPhW(?V) AND NOT nextPhW(V) AND NOT nextPhW(@-) THEN
|
||||
ChangePhoneme(R)
|
||||
ENDIF
|
||||
FMT(r/a_)
|
||||
endphoneme
|
||||
|
||||
phoneme R
|
||||
lengthmod 7
|
||||
lengthmod 6
|
||||
liquid
|
||||
ipa ʁ
|
||||
FMT(r/aa)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
// don't weaken consonants at end of word or before a stop
|
||||
|
||||
phoneme s
|
||||
@@ -243,11 +646,10 @@ phoneme s
|
||||
WAV(ufric/s)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme p
|
||||
vls blb stop
|
||||
voicingswitch b
|
||||
lengthmod 2
|
||||
lengthmod 7
|
||||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
|
||||
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
|
||||
|
||||
@@ -265,18 +667,45 @@ phoneme p
|
||||
WAV(ustop/p)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
phoneme t
|
||||
vls alv stop
|
||||
voicingswitch d
|
||||
lengthmod 2
|
||||
lengthmod 7
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
||||
|
||||
IF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN
|
||||
WAV(ustop/tr)
|
||||
ENDIF
|
||||
// "respekt" [REsp'Egd]
|
||||
IF thisPh(isWordEnd) THEN
|
||||
// ChangePhoneme(d)
|
||||
ENDIF
|
||||
WAV(ustop/t, 90)
|
||||
endphoneme
|
||||
|
||||
phoneme j
|
||||
liquid palatal
|
||||
lengthmod 7
|
||||
|
||||
IF nextPhW(isVowel) THEN
|
||||
NextVowelStarts
|
||||
VowelStart(j/j@)
|
||||
VowelStart(j/ja)
|
||||
VowelStart(j/je,-35)
|
||||
VowelStart(j/ji)
|
||||
VowelStart(j/jo)
|
||||
VowelStart(j/ju)
|
||||
EndSwitch
|
||||
Vowelout len=70
|
||||
VowelEnding(j/xj, -30)
|
||||
|
||||
IF prevPh(isPause) THEN
|
||||
FMT(j/_j)
|
||||
ENDIF
|
||||
ELSE
|
||||
// no vowel follows
|
||||
Vowelout len=70
|
||||
FMT(j/j_)
|
||||
ENDIF
|
||||
endphoneme
|
||||
+1
-1
@@ -162,7 +162,7 @@ endphoneme
|
||||
|
||||
phoneme @L
|
||||
vowel starttype #@ endtype l
|
||||
ipa əl
|
||||
ipa ə|l
|
||||
unstressed
|
||||
length 160
|
||||
CALL vowelstart_l
|
||||
|
||||
@@ -58,8 +58,7 @@ endphoneme
|
||||
phoneme i // optional variant of [I] for end of words
|
||||
vowel starttype #i endtype #i
|
||||
length 150
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/e_3)
|
||||
FMT(vowel/e_2)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
+16
-6
@@ -168,7 +168,9 @@ phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in Ameri
|
||||
vowel starttype #a endtype #@
|
||||
length 250
|
||||
ipa aː
|
||||
AppendPhoneme(r)
|
||||
IF NOT nextPhW(r) THEN
|
||||
AppendPhoneme(r)
|
||||
ENDIF
|
||||
FMT(vowelr/aa_r)
|
||||
endphoneme
|
||||
|
||||
@@ -211,7 +213,9 @@ phoneme O@
|
||||
vowel starttype #o endtype #@
|
||||
length 230
|
||||
ipa ɔ
|
||||
AppendPhoneme(r)
|
||||
IF NOT nextPhW(r) THEN
|
||||
AppendPhoneme(r)
|
||||
ENDIF
|
||||
FMT(vowelr/oo_r)
|
||||
endphoneme
|
||||
|
||||
@@ -219,7 +223,9 @@ phoneme o@
|
||||
vowel starttype #o endtype #@
|
||||
length 230
|
||||
ipa o
|
||||
AppendPhoneme(r)
|
||||
IF NOT nextPhW(r) THEN
|
||||
AppendPhoneme(r)
|
||||
ENDIF
|
||||
FMT(vowelr/oo_r)
|
||||
endphoneme
|
||||
|
||||
@@ -305,7 +311,9 @@ phoneme e@
|
||||
vowel starttype #e endtype #@
|
||||
length 220
|
||||
ipa e
|
||||
AppendPhoneme(r)
|
||||
IF NOT nextPhW(r) THEN
|
||||
AppendPhoneme(r)
|
||||
ENDIF
|
||||
FMT(vdiph2/e@)
|
||||
endphoneme
|
||||
|
||||
@@ -314,7 +322,9 @@ phoneme i@3
|
||||
vowel starttype #i endtype #@
|
||||
ipa ɪ
|
||||
length 240
|
||||
AppendPhoneme(r)
|
||||
IF NOT nextPhW(r) THEN
|
||||
AppendPhoneme(r)
|
||||
ENDIF
|
||||
FMT(vowelr/i_r)
|
||||
endphoneme
|
||||
|
||||
@@ -380,11 +390,11 @@ phoneme r
|
||||
liquid rhotic
|
||||
lengthmod 7
|
||||
trill
|
||||
|
||||
IF nextPh(isNotVowel) THEN
|
||||
ChangePhoneme(r/)
|
||||
ENDIF
|
||||
CALL base/r
|
||||
ipa r
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
@@ -97,6 +97,7 @@ phoneme I#
|
||||
vowel starttype #i endtype #i
|
||||
unstressed
|
||||
length 160
|
||||
ipa ᵻ
|
||||
// FMT(vowel/@_fnt)
|
||||
FMT(vowel/ii#)
|
||||
endphoneme
|
||||
@@ -151,7 +152,7 @@ endphoneme
|
||||
|
||||
phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in American
|
||||
vowel starttype #a endtype #a
|
||||
ipa ɑːɹ
|
||||
ipa ɑː|ɹ
|
||||
IF nextPh(r-) THEN
|
||||
ipa ɑː
|
||||
ENDIF
|
||||
@@ -192,7 +193,7 @@ endphoneme
|
||||
phoneme O@
|
||||
vowel starttype #o endtype #@
|
||||
length 250
|
||||
ipa ɔːɹ
|
||||
ipa ɔː|ɹ
|
||||
IF nextPhW(r) THEN
|
||||
ipa ɔː
|
||||
ENDIF
|
||||
@@ -204,7 +205,7 @@ endphoneme
|
||||
phoneme o@
|
||||
vowel starttype #o endtype #@
|
||||
length 250
|
||||
ipa oːɹ
|
||||
ipa oː|ɹ
|
||||
IF nextPhW(r) THEN
|
||||
ipa oː
|
||||
ENDIF
|
||||
@@ -269,7 +270,7 @@ endphoneme
|
||||
phoneme e@
|
||||
vowel starttype #e endtype #@
|
||||
length 280
|
||||
ipa ɛɹ
|
||||
ipa ɛ|ɹ
|
||||
IF nextPhW(r) THEN
|
||||
ipa ɛ
|
||||
ENDIF
|
||||
@@ -288,7 +289,7 @@ endphoneme
|
||||
phoneme i@3
|
||||
vowel starttype #i endtype #@
|
||||
length 280
|
||||
ipa ɪɹ
|
||||
ipa ɪ|ɹ
|
||||
IF nextPhW(r) THEN
|
||||
ipa ɪ
|
||||
ENDIF
|
||||
@@ -300,7 +301,7 @@ endphoneme
|
||||
phoneme U@
|
||||
vowel starttype #@ endtype #@
|
||||
length 250
|
||||
ipa ʊɹ
|
||||
ipa ʊ|ɹ
|
||||
IF nextPhW(r-) THEN
|
||||
ipa ʊ
|
||||
ENDIF
|
||||
|
||||
+27
-18
@@ -28,7 +28,10 @@ endphoneme
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
length 180
|
||||
FMT(vowel/a#_2)
|
||||
IF thisPh(isUnstressed) THEN
|
||||
FMT(vowel/a#_2)
|
||||
ENDIF
|
||||
FMT(vowel/a_3)
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -69,12 +72,15 @@ phoneme k#
|
||||
Vowelin f1=1 f2=1400 -100 100 f3=-150 80
|
||||
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
|
||||
IF nextPh(isPause2) THEN
|
||||
WAV(ustop/k_asp2, 40)
|
||||
WAV(ustop/k_asp, 40)
|
||||
ENDIF
|
||||
IF nextPh(l) THEN
|
||||
WAV(ustop/kl)
|
||||
IF nextPhW(#e) OR nextPhW(#i) THEN
|
||||
WAV(ustop/k_asp_e, 40)
|
||||
ELIF nextPhW(#o) OR nextPhW(#u) THEN
|
||||
WAV(ustop/k_asp_u, 30)
|
||||
ELSE
|
||||
WAV(ustop/k_asp_a, 35)
|
||||
ENDIF
|
||||
WAV(ustop/k_asp2, 60)
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -113,24 +119,27 @@ phoneme k
|
||||
import_phoneme consonants/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
|
||||
|
||||
IF nextPh(#i) THEN
|
||||
WAV(ustop/q2_i, 40)
|
||||
ENDIF
|
||||
WAV(ustop/q2, 48)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
phoneme Q
|
||||
import_phoneme base/r"
|
||||
vcd vel frc
|
||||
voicingswitch x
|
||||
lengthmod 6
|
||||
Vowelin f1=2 f2=2300 200 400 f3=-100 80
|
||||
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
|
||||
FMT(voc/Q) addWav(ufric/xx, 100)
|
||||
endphoneme
|
||||
|
||||
phoneme Q2
|
||||
vcd vel frc
|
||||
voicingswitch x
|
||||
lengthmod 6
|
||||
Vowelin f1=2 f2=2300 200 400 f3=-100 80
|
||||
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
|
||||
FMT(voc/Q) addWav(ufric/x2, 50)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme r
|
||||
import_phoneme base/R
|
||||
endphoneme
|
||||
|
||||
+12
-40
@@ -97,11 +97,8 @@ phoneme U
|
||||
length 135
|
||||
ENDIF
|
||||
|
||||
IF nextPh(r) THEN
|
||||
IF next2Ph(isVowel) THEN
|
||||
ELSE
|
||||
ChangePhoneme(UR)
|
||||
ENDIF
|
||||
IF nextPh(r) AND next2Ph(isNotVowel) THEN
|
||||
ChangePhoneme(UR)
|
||||
ENDIF
|
||||
FMT(vowel/uu_2)
|
||||
endphoneme
|
||||
@@ -128,6 +125,10 @@ 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
|
||||
|
||||
@@ -341,41 +342,12 @@ endphoneme
|
||||
|
||||
|
||||
|
||||
// This version of [r] was used in eSpeak 1.44, but received complaints
|
||||
phoneme r2 // uvular trill or fricative
|
||||
vcd uvl frc
|
||||
ipa ʀ
|
||||
lengthmod 6
|
||||
length 110
|
||||
IF nextPhW(isVowel) THEN
|
||||
FMT(r3/r_uvl) addWav(r3/r_uvl.wav, 50)
|
||||
ELSE
|
||||
IF prevPh(isFlag1) THEN
|
||||
ChangePhoneme(NULL) // 'r' is already included in the previous vowel
|
||||
ELSE
|
||||
ChangePhoneme(V#)
|
||||
ENDIF
|
||||
ENDIF
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
|
||||
phoneme V# // used for 'r' after a vowel (to create a diphthong)
|
||||
liquid
|
||||
lengthmod 7
|
||||
IF nextPhW(isVowel) THEN
|
||||
ChangePhoneme(r)
|
||||
ENDIF
|
||||
|
||||
ipa ɐ
|
||||
IF prevPh(#a) OR prevPh(E) THEN
|
||||
FMT(r/V_2_)
|
||||
ENDIF
|
||||
IF prevPh(#u) THEN
|
||||
FMT(r/@_)
|
||||
ENDIF
|
||||
FMT(r/V_)
|
||||
phoneme iR
|
||||
vowel starttype #i endtype #@
|
||||
ipa iɐ
|
||||
flag1
|
||||
length 180
|
||||
FMT(vdiph2/i@_2)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
+22
-22
@@ -136,7 +136,7 @@ endphoneme
|
||||
|
||||
phoneme a:
|
||||
vowel long starttype #a endtype #a
|
||||
length 230
|
||||
length 190
|
||||
FMT(vowel/aa_9)
|
||||
endphoneme
|
||||
|
||||
@@ -149,7 +149,7 @@ endphoneme
|
||||
|
||||
phoneme o:
|
||||
vowel long starttype #o endtype #o
|
||||
length 220
|
||||
length 227
|
||||
FMT(vowel/o_2)
|
||||
endphoneme
|
||||
|
||||
@@ -294,7 +294,7 @@ phoneme p
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme ph
|
||||
phoneme p#
|
||||
import_phoneme consonants/ph
|
||||
endphoneme
|
||||
|
||||
@@ -304,10 +304,10 @@ phoneme b // this is [b]
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme bh
|
||||
phoneme b#
|
||||
vcd blb stop
|
||||
lengthmod 5
|
||||
voicingswitch ph
|
||||
voicingswitch p#
|
||||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80
|
||||
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
|
||||
|
||||
@@ -330,7 +330,7 @@ phoneme t // dental variant of /t/
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme th // dental variant of /t/
|
||||
phoneme t# // dental variant of /t/
|
||||
vls dnt stop
|
||||
lengthmod 2
|
||||
voicingswitch d
|
||||
@@ -349,10 +349,10 @@ phoneme d // dental variant of /d/
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme dh
|
||||
phoneme d#
|
||||
vcd dnt stop
|
||||
lengthmod 5
|
||||
voicingswitch th
|
||||
voicingswitch t#
|
||||
Vowelin f1=0 f2=1500 -300 300 f3=-100 80
|
||||
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
|
||||
|
||||
@@ -379,11 +379,11 @@ phoneme t.
|
||||
WAV(ustop/t_short)
|
||||
endphoneme
|
||||
|
||||
phoneme th.
|
||||
phoneme t.#
|
||||
vls rfx stop
|
||||
lengthmod 2
|
||||
ipa ʈh
|
||||
voicingswitch dh.
|
||||
ipa ʈU+02B0
|
||||
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/th_rfx)
|
||||
@@ -410,11 +410,11 @@ phoneme d.
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme dh.
|
||||
phoneme d.#
|
||||
vcd rfx stop
|
||||
lengthmod 5
|
||||
ipa ɖh
|
||||
voicingswitch th.
|
||||
ipa ɖU+02B0
|
||||
voicingswitch t.#
|
||||
Vowelin f1=1 f2=1800 -300 300 f3=-400 80
|
||||
Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2
|
||||
|
||||
@@ -439,7 +439,7 @@ phoneme c
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme ch
|
||||
phoneme c#
|
||||
CALL base/tS;
|
||||
ipa ch
|
||||
endphoneme
|
||||
@@ -450,10 +450,10 @@ phoneme J
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme Jh
|
||||
phoneme J#
|
||||
vcd pal afr sibilant
|
||||
lengthmod 5
|
||||
voicingswitch ch
|
||||
voicingswitch c#
|
||||
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
|
||||
|
||||
@@ -477,9 +477,9 @@ phoneme k
|
||||
voicingswitch g
|
||||
endphoneme
|
||||
|
||||
phoneme kh
|
||||
import_phoneme consonants/kh
|
||||
voicingswitch gh
|
||||
phoneme k#
|
||||
import_phoneme consonants/k#
|
||||
voicingswitch g#
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -489,10 +489,10 @@ phoneme g
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme gh
|
||||
phoneme g#
|
||||
vcd dnt stop
|
||||
lengthmod 5
|
||||
voicingswitch kh
|
||||
voicingswitch k#
|
||||
Vowelin f1=1 f2=2300 200 300 f3=-150 80 rms=20
|
||||
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
|
||||
|
||||
|
||||
+117
-26
@@ -1,9 +1,30 @@
|
||||
// Version 2.4 January 2013
|
||||
|
||||
// short vowels
|
||||
|
||||
|
||||
phoneme @
|
||||
vowel starttype #@ endtype #@
|
||||
phoneme @ // Schwa, but always unstressed
|
||||
vowel starttype #@ endtype #@
|
||||
unstressed
|
||||
length 100
|
||||
IF nextPh(i:) THEN
|
||||
Length 70
|
||||
FMT(vwl_af/r@)
|
||||
ENDIF
|
||||
IF nextPh(I) THEN
|
||||
Length 70
|
||||
FMT(vwl_af/r@)
|
||||
ENDIF
|
||||
IF nextPh(e:) THEN
|
||||
Length 70
|
||||
FMT(vwl_af/r@)
|
||||
ENDIF
|
||||
FMT(vwl_af/@)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme @/
|
||||
vowel starttype #@ endtype #@
|
||||
length 120
|
||||
FMT(vowel/@)
|
||||
endphoneme
|
||||
@@ -11,12 +32,14 @@ endphoneme
|
||||
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
length 200
|
||||
length 150
|
||||
FMT(vowel/a_4)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme a#
|
||||
vowel starttype #@ endtype #@
|
||||
ipa ɐ
|
||||
length 120
|
||||
ChangeIfStressed(a)
|
||||
FMT(vowel/a#_3)
|
||||
@@ -33,38 +56,35 @@ phoneme E#
|
||||
vowel starttype #@ endtype #@
|
||||
length 120
|
||||
ChangeIfStressed(E)
|
||||
FMT(vowel/@)
|
||||
ChangePhoneme(@/)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme I
|
||||
vowel starttype #i endtype #i
|
||||
length 120
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/ii_2)
|
||||
endphoneme
|
||||
|
||||
phoneme I#
|
||||
vowel starttype #@ endtype #@
|
||||
length 120
|
||||
ChangeIfStressed(I)
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/@)
|
||||
phoneme i // non syllabic i for end of words
|
||||
vowel starttype #i endtype #i
|
||||
ipa iU+032F
|
||||
length 40
|
||||
FMT(vowel/ii_7)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
phoneme O
|
||||
vowel starttype #o endtype #o
|
||||
vowel starttype #a endtype #@
|
||||
length 140
|
||||
FMT(vowel/oo_4)
|
||||
FMT(vowel/V_4)
|
||||
endphoneme
|
||||
|
||||
phoneme O#
|
||||
vowel starttype #@ endtype #@
|
||||
length 120
|
||||
ChangeIfStressed(O)
|
||||
FMT(vowel/@)
|
||||
ChangePhoneme(a#)
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -78,7 +98,35 @@ phoneme U#
|
||||
vowel starttype #@ endtype #@
|
||||
length 120
|
||||
ChangeIfStressed(U)
|
||||
FMT(vowel/@)
|
||||
ChangePhoneme(@/)
|
||||
endphoneme
|
||||
|
||||
phoneme u1
|
||||
vowel starttype #u endtype #u
|
||||
ipa uU+0306
|
||||
length 50
|
||||
FMT(vowel/u)
|
||||
endphoneme
|
||||
|
||||
phoneme 0
|
||||
vowel starttype #a endtype #a
|
||||
length 180
|
||||
ipa A
|
||||
FMT(vowel/aa_8)
|
||||
endphoneme
|
||||
|
||||
phoneme 0#
|
||||
vowel starttype #@ endtype #@
|
||||
length 120
|
||||
ChangeIfStressed(0)
|
||||
ChangePhoneme(a#)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme o:
|
||||
vowel starttype #o endtype #o
|
||||
length 190
|
||||
FMT(vowel/o)
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -105,11 +153,6 @@ phoneme i:
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme o:
|
||||
vowel starttype #o endtype #o
|
||||
length 190
|
||||
FMT(vowel/o)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme u:
|
||||
@@ -121,11 +164,6 @@ endphoneme
|
||||
|
||||
// Diphthongs
|
||||
|
||||
phoneme @I
|
||||
vowel starttype #@ endtype #i
|
||||
length 240
|
||||
FMT(vdiph/@i)
|
||||
endphoneme
|
||||
|
||||
phoneme @U
|
||||
vowel starttype #@ endtype #u
|
||||
@@ -145,4 +183,57 @@ phoneme u@
|
||||
FMT(vdiph2/u@)
|
||||
endphoneme
|
||||
|
||||
phoneme aI
|
||||
vowel starttype #a endtype #i
|
||||
length 250
|
||||
FMT(vdiph/ai)
|
||||
endphoneme
|
||||
|
||||
phoneme aI#
|
||||
vowel starttype #@ endtype #@
|
||||
length 120
|
||||
ChangeIfStressed(aI)
|
||||
ChangePhoneme(a#)
|
||||
endphoneme
|
||||
|
||||
phoneme aU
|
||||
vowel starttype #a endtype #u
|
||||
length 270
|
||||
FMT(vdiph/au_4)
|
||||
endphoneme
|
||||
|
||||
phoneme aU#
|
||||
vowel starttype #@ endtype #@
|
||||
length 120
|
||||
ChangeIfStressed(aU)
|
||||
FMT(vdiph/au_4)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme ; // linking j, used between (i) vowels and a following vowel
|
||||
// also to palatalize consonants
|
||||
liquid palatal
|
||||
lengthmod 0
|
||||
|
||||
IF prevPh(#i) THEN
|
||||
ipa NULL // linking after i vowel, don't show in ipa
|
||||
ENDIF
|
||||
|
||||
NextVowelStarts
|
||||
VowelStart(j2/j2@)
|
||||
VowelStart(j2/j2a)
|
||||
VowelStart(j2/j2e)
|
||||
VowelStart(j2/j2i)
|
||||
VowelStart(j2/j2o)
|
||||
VowelStart(j2/j2u)
|
||||
EndSwitch
|
||||
|
||||
IF prevPh(#i) THEN
|
||||
VowelEnding(j2/xj2, -40)
|
||||
ENDIF
|
||||
|
||||
IF prevPh(isPause) THEN
|
||||
FMT(j2/_j2)
|
||||
ENDIF
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -132,13 +132,15 @@ phoneme v
|
||||
endphoneme
|
||||
|
||||
phoneme r
|
||||
import_phoneme base/*
|
||||
import_phoneme base/**
|
||||
endphoneme
|
||||
|
||||
phoneme R
|
||||
import_phoneme base/R2
|
||||
endphoneme
|
||||
|
||||
phoneme d# // 'rr' sounds like English 'd'
|
||||
phoneme d2 // 'rr' sounds like English 'd'
|
||||
import_phoneme base/d
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
@@ -134,19 +134,6 @@ endphoneme
|
||||
|
||||
|
||||
|
||||
phoneme x // [r] for Portugal
|
||||
liquid
|
||||
trill
|
||||
ipa ʁ
|
||||
lengthmod 7
|
||||
Vowelin f1=0 f2=1500 -400 400 f3=-400 80
|
||||
IF nextPh(isNotVowel) THEN
|
||||
ChangePhoneme(r/)
|
||||
ENDIF
|
||||
FMT(vwl_fr/@R) addWav(r3/rx, 120)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme R // for Portugal this is same the as [r]
|
||||
import_phoneme pt/r
|
||||
endphoneme
|
||||
@@ -157,5 +144,3 @@ phoneme s# // This is [s] for Brazil, [S] for Portugal
|
||||
ipa ʃ
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
|
||||
+3
-13
@@ -189,18 +189,9 @@ phoneme l
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme x // this is [R] from Slovak/Czech
|
||||
liquid
|
||||
trill
|
||||
ipa ʁ
|
||||
lengthmod 6
|
||||
IF thisPh(isWordStart) THEN
|
||||
ChangePhoneme(h) // Change by Cleverson 22.09.2012
|
||||
ENDIF
|
||||
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-300 80
|
||||
Vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk
|
||||
FMT(r3/r_trill) addWav(r3/r_trill.wav, 50)
|
||||
phoneme x
|
||||
CALL base/h
|
||||
ipa x
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -227,4 +218,3 @@ phoneme *
|
||||
FMT(d/tap2) addWav(x/d, 40)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ phoneme b
|
||||
endphoneme
|
||||
|
||||
phoneme t
|
||||
import_phoneme hi/th
|
||||
import_phoneme hi/t#
|
||||
endphoneme
|
||||
|
||||
phoneme d
|
||||
|
||||
+2
-2
@@ -63,7 +63,7 @@ phoneme dz
|
||||
FMT(d/xdz) addWav(ustop/ts2, 140)
|
||||
endphoneme
|
||||
|
||||
phoneme tsh
|
||||
phoneme ts#
|
||||
vls alv afr sibilant
|
||||
voicingswitch dz
|
||||
lengthmod 2
|
||||
@@ -76,7 +76,7 @@ phoneme tsh
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme dzh
|
||||
phoneme dz#
|
||||
vcd alv afr sibilant
|
||||
voicingswitch ts
|
||||
lengthmod 5
|
||||
|
||||
+27
-26
@@ -731,7 +731,7 @@ endphoneme
|
||||
|
||||
phoneme n
|
||||
vcd alv nasal
|
||||
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
|
||||
Vowelout f1=2 f2=1500 -300 250 f3=-100 80 rms=20 brk
|
||||
lengthmod 4
|
||||
|
||||
IF KlattSynth THEN
|
||||
@@ -762,8 +762,8 @@ phoneme n.
|
||||
vcd rfx nasal
|
||||
ipa ɳ
|
||||
starttype n endtype n
|
||||
Vowelin f1=2 f2=1200 -300 250 f3=-500 80 rms=20 colr=2
|
||||
Vowelout f1=2 f2=1200 -300 250 f3=-500 80 rms=20 brk colr=2
|
||||
Vowelin f1=2 f2=1700 -300 300 f3=-500 80 rms=20 colr=2
|
||||
Vowelout f1=2 f2=1700 -300 300 f3=-500 80 rms=20 brk colr=2
|
||||
lengthmod 4
|
||||
|
||||
IF KlattSynth THEN
|
||||
@@ -1610,9 +1610,9 @@ phoneme x
|
||||
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
|
||||
|
||||
IF nextPh(isPause) THEN
|
||||
WAV(ufric/x, 120)
|
||||
WAV(ufric/x, 110)
|
||||
ENDIF
|
||||
WAV(ufric/x_hr, 25)
|
||||
WAV(ufric/x_hr, 20)
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -1624,7 +1624,7 @@ phoneme X
|
||||
IF nextPh(isPause) THEN
|
||||
WAV(ufric/xx, 70)
|
||||
ENDIF
|
||||
WAV(ufric/xx)
|
||||
WAV(ufric/xx,80)
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -1690,6 +1690,9 @@ include ph_afrikaans
|
||||
phonemetable cy base
|
||||
include ph_welsh
|
||||
|
||||
phonemetable ga base
|
||||
include ph_irish
|
||||
|
||||
phonemetable de base
|
||||
include ph_german
|
||||
|
||||
@@ -1714,10 +1717,25 @@ include ph_french
|
||||
phonemetable fr-ca fr
|
||||
include ph_french_ca
|
||||
|
||||
phonemetable nl base
|
||||
include ph_dutch
|
||||
|
||||
|
||||
phonemetable hi base
|
||||
include ph_hindi
|
||||
|
||||
phonemetable bn hi
|
||||
include ph_bengali
|
||||
|
||||
phonemetable ne hi
|
||||
include ph_nepali
|
||||
|
||||
phonemetable ur hi
|
||||
include ph_urdu
|
||||
|
||||
phonemetable pa hi
|
||||
include ph_punjabi
|
||||
|
||||
phonemetable ta hi
|
||||
include ph_tamil
|
||||
|
||||
@@ -1727,8 +1745,6 @@ include ph_kannada
|
||||
phonemetable ml hi
|
||||
include ph_malayalam
|
||||
|
||||
phonemetable ur hi
|
||||
include ph_urdu
|
||||
|
||||
|
||||
phonemetable hu base
|
||||
@@ -1741,9 +1757,6 @@ include ph_lithuanian
|
||||
phonemetable lv base
|
||||
include ph_latvian
|
||||
|
||||
phonemetable nl base
|
||||
include ph_dutch
|
||||
|
||||
phonemetable pl base
|
||||
include ph_polish
|
||||
|
||||
@@ -1848,6 +1861,9 @@ include ph_danish
|
||||
phonemetable ka base
|
||||
include ph_georgian
|
||||
|
||||
phonemetable fa base
|
||||
include ph_farsi
|
||||
|
||||
|
||||
//**************************************************************************************
|
||||
// The following lines are experimental, for future additions.
|
||||
@@ -1857,12 +1873,6 @@ include ph_georgian
|
||||
phonemetable rw base2
|
||||
include ph_kinyarwanda
|
||||
|
||||
//phonemetable bn hi
|
||||
//include ph_bengali
|
||||
|
||||
phonemetable ne hi
|
||||
include ph_nepali
|
||||
|
||||
//phonemetable mr hi
|
||||
//include ph_marathi
|
||||
|
||||
@@ -1872,9 +1882,6 @@ include ph_nepali
|
||||
//phonemetable mn base
|
||||
//include ph_mongolian
|
||||
|
||||
phonemetable pa hi
|
||||
include ph_punjabi
|
||||
|
||||
phonemetable prs base
|
||||
include ph_dari
|
||||
|
||||
@@ -1924,12 +1931,6 @@ include ph_tibetan
|
||||
phonemetable kk base
|
||||
include ph_kazakh
|
||||
|
||||
phonemetable fa base
|
||||
include ph_farsi
|
||||
|
||||
phonemetable ga base
|
||||
include ph_irish
|
||||
|
||||
phonemetable tt base
|
||||
include ph_tatar
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user