mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-04 14:33:31 +00:00
Merge branch 'master' into android
Conflicts: platforms/windows/make_espeakedit.iss
This commit is contained in:
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 18 KiB |
+7
-7
@@ -29,43 +29,43 @@ endphoneme
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
length 225
|
||||
FMT(vowel/aa_9)
|
||||
FMT(vowel/a_3)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 200
|
||||
length 210
|
||||
FMT(vowel/i_6)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
length 200
|
||||
length 210
|
||||
FMT(vowel/u)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 200
|
||||
length 210
|
||||
FMT(vowel/e)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme &
|
||||
vowel starttype #a endtype #a
|
||||
length 200
|
||||
length 210
|
||||
FMT(vowel/&_2)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme o
|
||||
vowel starttype #o endtype #o
|
||||
length 200
|
||||
length 210
|
||||
IF nextPhW(w) THEN
|
||||
length 160
|
||||
length 170
|
||||
ENDIF
|
||||
FMT(vowel/o)
|
||||
endphoneme
|
||||
|
||||
+263
-307
@@ -1,13 +1,123 @@
|
||||
// PB General rules for vowels:
|
||||
// Short vowels
|
||||
// ACC: Short "pille" [p?el@-]
|
||||
// AC[V]: Short "piler" [p?ilV]
|
||||
// ACC: Short "pille" [p?el@-], "andre" [AndRV]
|
||||
// AC[V]: Short "piler" [p?ilV] - verbs, not nouns, which is a problem
|
||||
// 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@-]
|
||||
// A + @- OR V: Long "ae" "aer" [&:@-]
|
||||
// AC + @- OR V: Long "pile" [pi:l@-]
|
||||
// AC[i]: Long "smidig" [smi:Di]
|
||||
|
||||
// Change the length of short vowels (?+vowel)
|
||||
procedure ShortVowelLength
|
||||
// "endelig" - Short initial vowel sounds too short
|
||||
IF thisPh(isWordStart) THEN
|
||||
length 160
|
||||
RETURN
|
||||
ENDIF
|
||||
// "slutte" t/d + @- makes the u too long
|
||||
IF next2PhW(@-) THEN
|
||||
IF nextPhW(t) OR nextPhW(d) THEN
|
||||
//length 100
|
||||
LengthAdd -50
|
||||
// Don't shorten it further if it comes after an "r" sound
|
||||
// Exit the procedure
|
||||
RETURN
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "bygget" - consonant + [@-D] makes the vowel too long
|
||||
IF next2PhW(@-) THEN
|
||||
IF next3PhW(t) OR next3PhW(d) OR next3PhW(D) THEN
|
||||
LengthAdd -50
|
||||
// Don't shorten it further if it comes after an "r" sound ("brygget")
|
||||
// Exit the procedure
|
||||
RETURN
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "bygger" - consonant + [V] makes the vowel too long
|
||||
IF nextPhW(isNotVowel) AND next2PhW(V) THEN
|
||||
LengthAdd -50
|
||||
// Don't shorten it further if it comes after an "r" sound ("brygger")
|
||||
// Exit the procedure
|
||||
RETURN
|
||||
ENDIF
|
||||
// "rigtigt", "fred", "frem", "centralen" - R makes the vowel too long
|
||||
IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
|
||||
// length 100
|
||||
LengthAdd -50
|
||||
ENDIF
|
||||
// "ring", "ringe", "fængsel"
|
||||
IF nextPhW(N) THEN
|
||||
// length 100
|
||||
LengthAdd -10
|
||||
ENDIF
|
||||
// "sigte" t/d + @- makes the vowel too long
|
||||
IF nextPhW(isNotVowel) AND next2PhW(t) OR next2PhW(d) THEN
|
||||
IF next3PhW(@-) THEN
|
||||
// length 100
|
||||
LengthAdd -50
|
||||
ENDIF
|
||||
ENDIF
|
||||
endprocedure
|
||||
|
||||
// Change the length of normal vowels (without ? in front of them)
|
||||
procedure LongVowelLength
|
||||
// "alene" - Short initial vowel sounds too short at length 140
|
||||
IF thisPh(isWordStart) THEN
|
||||
length 160
|
||||
RETURN
|
||||
ENDIF
|
||||
// "forlade" - [D@-] makes the vowel too long
|
||||
IF nextPhW(D) AND next2PhW(@-) THEN
|
||||
length 180
|
||||
RETURN
|
||||
ENDIF
|
||||
// PB long vowel followed by [@-] or [V](vowel+vowel) - "pigen" [p'i@-n]
|
||||
IF nextPhW(@-) OR nextPhW(V) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
// PB "enig", "enige", "evig", "stædig" - vowel+consolant+[i]
|
||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
// "ræve", "dele", "mene", "røve", "møve"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(3) OR next3PhW(@-) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
// "vilje", "nedladende" [n'eDl&D@-n@-], "delte" - short followed by 2 consonants
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
// Don't make "møve" [m'Ww_!@-_!] short
|
||||
IF NOT next2PhW(_!) THEN
|
||||
length 140
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "bryde", "bryder", "strålen", "henrivende" R makes the vowel too long
|
||||
IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
|
||||
IF next2PhW(@-) OR next2PhW(V) THEN
|
||||
// length 180
|
||||
LengthAdd -70
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "syste", "sylte" t/d/D + @- makes the vowel too long
|
||||
// "international", - added [V] TEST
|
||||
IF nextPhW(isNotVowel) AND next2PhW(t) OR next2PhW(d) OR next2PhW(D) THEN
|
||||
IF next3PhW(@-) OR next3PhW(V) THEN
|
||||
length 110
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "glimrende" [l/3] makes the following vowel too long
|
||||
// LengthAdd doesn't work here. The length could be 225 or 140 - 30
|
||||
IF prevPhW(l/3) THEN
|
||||
// LengthAdd -30
|
||||
length 110
|
||||
ENDIF
|
||||
// "længe" - short - 2 consonants => 1 consonant (ng => [N])
|
||||
IF nextPhW(N) THEN
|
||||
length 140
|
||||
ENDIF
|
||||
endprocedure
|
||||
|
||||
// A bit longer than [@-]
|
||||
phoneme @
|
||||
vowel starttype #@ endtype #@
|
||||
unstressed
|
||||
@@ -22,7 +132,18 @@ phoneme @- // very short schwa
|
||||
IF nextPhW(*) OR nextPhW(r) THEN
|
||||
ipa NULL // @-* is used to make 'r'
|
||||
ENDIF
|
||||
length 40
|
||||
length 50
|
||||
// "femten", "manden" - only a short "n" sound
|
||||
IF nextPhW(n) THEN
|
||||
length 15
|
||||
ENDIF
|
||||
IF prevPhW(isNotVowel) AND thisPh(isWordEnd) THEN
|
||||
length 15
|
||||
ENDIF
|
||||
// "lige" [li@-]
|
||||
IF prevPhW(i) AND thisPh(isWordEnd) THEN
|
||||
length 15
|
||||
ENDIF
|
||||
FMT(vowel/@-)
|
||||
endphoneme
|
||||
|
||||
@@ -45,38 +166,24 @@ endphoneme
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 95 //150
|
||||
// PB long vowel followed by consonant and certain vowels "gide"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(V) THEN
|
||||
length 150
|
||||
length 140
|
||||
// Long vowel followed by consonant and @- "gide", "pile"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(@-) THEN
|
||||
// length 225
|
||||
ENDIF
|
||||
// "gider", vrider"
|
||||
IF nextPhW(D) AND next2PhW(V) OR next2PhW(?V) THEN
|
||||
length 95
|
||||
length 140
|
||||
ENDIF
|
||||
// PB long vowel followed by certain vowels - "pigen" [p'i@-n]
|
||||
IF nextPhW(#@) OR nextPhW(#e) THEN
|
||||
length 150
|
||||
//"skider" short
|
||||
IF nextPhW(D) AND next2PhW(V) THEN
|
||||
length 140
|
||||
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 95
|
||||
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
|
||||
//"skideren" long
|
||||
IF nextPhW(D) AND next2PhW(V) AND next3PhW(V) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/i_4)
|
||||
endphoneme
|
||||
|
||||
@@ -84,7 +191,8 @@ endphoneme
|
||||
// sviret vs. svirret
|
||||
phoneme ?i
|
||||
vowel starttype #i endtype #i
|
||||
length 90
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/i_4)
|
||||
endphoneme
|
||||
@@ -99,27 +207,9 @@ endphoneme
|
||||
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 95 //150
|
||||
// "delte", "mente"
|
||||
IF nextPhW(@-) OR nextPhW(V) OR next2PhW(@-) OR next2PhW(V) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// PB "ring", "ringe"
|
||||
IF nextPhW(N) THEN
|
||||
length 95
|
||||
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 95
|
||||
ENDIF
|
||||
length 140
|
||||
CALL LongVowelLength
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/e)
|
||||
endphoneme
|
||||
|
||||
@@ -127,44 +217,30 @@ endphoneme
|
||||
// "skille" vs. "skele", "pille" vs. "pile"
|
||||
phoneme ?e
|
||||
vowel starttype #e endtype #e
|
||||
length 90
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/e)
|
||||
endphoneme
|
||||
|
||||
phoneme E
|
||||
vowel starttype #e endtype #e
|
||||
length 100 //150
|
||||
// "værelse", "breve"
|
||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@-) THEN
|
||||
// length 150
|
||||
length 140
|
||||
// no link with next vowel
|
||||
IF thisPh(isWordEnd) THEN
|
||||
IfNextVowelAppend(_!)
|
||||
ENDIF
|
||||
// "ræve"
|
||||
IF nextVowel(#@) OR nextVowel(#e) THEN
|
||||
length 160
|
||||
ENDIF
|
||||
// "ære", "kærester", "ærefrygt" - longer E
|
||||
// "ære", "kærester", "ærefrygt" - vowel + vowel
|
||||
IF nextPhW(V) THEN
|
||||
length 180
|
||||
length 225
|
||||
ENDIF
|
||||
// Only the letter "æ" - long
|
||||
IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN
|
||||
length 160
|
||||
ENDIF
|
||||
// "stædig" [st'EDi] long
|
||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN
|
||||
length 160
|
||||
ENDIF
|
||||
// "længe" - short - 2 consonants => 1 consonant
|
||||
IF nextPhW(N) THEN
|
||||
length 120
|
||||
// "dræber" TEST shortened by -70 in procedure because of the "r" sound
|
||||
IF prevPhW(R) OR prevPhW(r) OR prevPhW(3-) AND next2PhW(V) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
CALL LongVowelLength
|
||||
// "værelse" [v'E3-Vls@_!]
|
||||
IF nextPhW(3-) AND next2PhW(V) THEN
|
||||
length 120
|
||||
ENDIF
|
||||
// "mælkebøtte" - short followed by 2 consonants
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
length 120
|
||||
length 100
|
||||
ENDIF
|
||||
FMT(vowel/e_mid2)
|
||||
endphoneme
|
||||
@@ -174,64 +250,47 @@ endphoneme
|
||||
phoneme ?E
|
||||
vowel starttype #e endtype #e
|
||||
ipa ε
|
||||
length 100
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/e_mid2)
|
||||
endphoneme
|
||||
|
||||
phoneme &
|
||||
vowel starttype #e endtype #e
|
||||
ipa a
|
||||
length 90 //150
|
||||
// "same", "sale", "bade" - consonant + gooup #e or group #@: long
|
||||
IF next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 150
|
||||
ipa æ
|
||||
length 140
|
||||
// "same", "sale", "bade" - consonant + @-: long
|
||||
// but NOT "hinanden"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) THEN
|
||||
IF NOT next3PhW(n) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
ENDIF
|
||||
// ThisPh + gooup #e or group #@
|
||||
// ThisPh + V or @-
|
||||
// "ae", "aer" vowel + vowel: extra length
|
||||
IF nextPhW(#@) OR nextPhW(#e) THEN
|
||||
length 220
|
||||
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
|
||||
IF nextPhW(@-) OR nextPhW(V) THEN
|
||||
length 260
|
||||
ENDIF
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/ee_2)
|
||||
endphoneme
|
||||
|
||||
// PB Short &
|
||||
// Short &
|
||||
// e.g. the last a in "staldkarl"
|
||||
// "sale" vs. "sal"
|
||||
phoneme ?&
|
||||
ipa a
|
||||
vowel starttype #e endtype #e
|
||||
length 90
|
||||
FMT(vowel/ee_2)
|
||||
length 140
|
||||
FMT(vowel/ee_2)
|
||||
endphoneme
|
||||
|
||||
// PB added for the æ in "dræbt"
|
||||
// Added for the æ in "dræbt"
|
||||
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
|
||||
length 140
|
||||
ipa a
|
||||
CALL LongVowelLength
|
||||
// CALL ShortVowelLength
|
||||
FMT(vowel/&)
|
||||
endphoneme
|
||||
|
||||
@@ -239,102 +298,63 @@ endphoneme
|
||||
// "revl" vs. "tremme"
|
||||
phoneme ?&#
|
||||
vowel starttype #e endtype #e
|
||||
length 90
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/&)
|
||||
endphoneme
|
||||
|
||||
//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 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
|
||||
length 140
|
||||
CALL LongVowelLength
|
||||
// "fare" [f'A:A]
|
||||
IF nextPhW(A) THEN
|
||||
length 150
|
||||
length 225
|
||||
ENDIF
|
||||
FMT(vowel/a_8)
|
||||
endphoneme
|
||||
|
||||
// PB short A
|
||||
// "drab" vs. "drabelig"
|
||||
// "krabbe" 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
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/a_8)
|
||||
endphoneme
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
length 90 //150
|
||||
length 140
|
||||
// "suge", "uge", "bluse", "julegave"
|
||||
IF nextPhW(#e) OR nextPhW(#@) OR next2PhW(#e) OR next2PhW(#@)THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "umulig" [u:m'uli]
|
||||
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
|
||||
// "fugl" [ful] - a bit longer
|
||||
IF nextPhW(isWordEnd) THEN
|
||||
length 120
|
||||
IF nextPhW(@-) OR nextPhW(V) OR next2PhW(@-) OR next2PhW(V)THEN
|
||||
length 225
|
||||
ENDIF
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/u_bck)
|
||||
endphoneme
|
||||
|
||||
// PB glottal u
|
||||
// Short u
|
||||
// "tude" vs. "tuden" - [tuD3] [t?uD@n]
|
||||
phoneme ?u
|
||||
vowel starttype #u endtype #u
|
||||
length 90
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/u_bck)
|
||||
endphoneme
|
||||
|
||||
phoneme o
|
||||
vowel starttype #o endtype #o
|
||||
length 90 //150
|
||||
// "bore", "borer"
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@-) THEN
|
||||
length 150
|
||||
length 140
|
||||
// "bore", "borer" [boV] o + V
|
||||
IF nextPhW(V) OR nextPhW(@-) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
// "modig" - long vowel after consonant + [i]
|
||||
IF nextPhW(D) AND next2PhW(i) THEN
|
||||
length 150
|
||||
// "kone", "koner" o + consonant + V or @-
|
||||
IF next2PhW(V) OR next2PhW(@-) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/o_2)
|
||||
endphoneme
|
||||
|
||||
@@ -342,25 +362,27 @@ endphoneme
|
||||
// "patron" vs. "kone"
|
||||
phoneme ?o
|
||||
vowel starttype #o endtype #o
|
||||
length 95
|
||||
length 140
|
||||
FMT(vowel/o_2)
|
||||
endphoneme
|
||||
|
||||
phoneme O
|
||||
vowel starttype #o endtype #o
|
||||
length 90 // 150
|
||||
// "sove", "sover" - consonant + #e or #@: long
|
||||
IF next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 150
|
||||
length 140
|
||||
ipa ɒ // changed from ɔ - Den Danske Ordbog: ɒ
|
||||
// "sove", "sover" - consonant + @ or V: long
|
||||
IF next2PhW(@-) OR next2PhW(V) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
// PB "gået" - ThisPh + #e or #@
|
||||
IF nextPhW(#e) OR nextPhW(#@) THEN
|
||||
length 150
|
||||
// PB "gået" - ThisPh + V or @-
|
||||
IF nextPhW(V) OR nextPhW(@-) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
// "rådig"
|
||||
IF nextVowel(i) AND nextVowel(isFinalVowel) THEN
|
||||
length 180
|
||||
// "såre", "sårede" [s'O:?OD@-]
|
||||
IF nextPhW(O) OR nextPhW(?O) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/o_5)
|
||||
endphoneme
|
||||
|
||||
@@ -368,95 +390,60 @@ endphoneme
|
||||
// "toget" vs. "tåget"
|
||||
phoneme ?O
|
||||
vowel starttype #o endtype #o
|
||||
length 90
|
||||
length 140
|
||||
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
|
||||
// "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
|
||||
// PB "konge"
|
||||
IF nextPhW(N) THEN
|
||||
length 95
|
||||
ENDIF
|
||||
length 140
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/V_4)
|
||||
endphoneme
|
||||
|
||||
// PB Short å
|
||||
// PB Short V
|
||||
// "forstår" vs. "kåre"
|
||||
phoneme ?V
|
||||
vowel starttype #@ endtype #@
|
||||
length 90
|
||||
length 140
|
||||
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
|
||||
length 140
|
||||
ipa ɔ
|
||||
FMT(vowel/oo_2)
|
||||
endphoneme
|
||||
|
||||
// Short 0 "sukker"
|
||||
phoneme ?0
|
||||
vowel starttype #o endtype #o
|
||||
length 90
|
||||
length 140
|
||||
ipa ɔ
|
||||
FMT(vowel/oo_2)
|
||||
endphoneme
|
||||
|
||||
phoneme y
|
||||
vowel starttype #i endtype #i
|
||||
// Length changed to short since most vowels are short.
|
||||
// It's probably easier only to make rules for long vowels.
|
||||
length 90 //150
|
||||
|
||||
length 140
|
||||
// PB long vowel followed by consonant and certain vowels
|
||||
// "lyde", "lyder"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 150
|
||||
// "gyde", "gyder"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(V) THEN
|
||||
// not "gebyret" TEST
|
||||
IF NOT nextPhW(3-) AND NOT nextPhW(R) AND NOT nextPhW(r) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
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
|
||||
// "syge" [sy@-] vowel + vowel: extra length, but NOT "fyret" [fyVD]
|
||||
IF nextPhW(@-) OR nextPhW(3) AND NOT next2PhW(D) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
// "tyve"
|
||||
IF nextPhW(?u) AND next2PhW(@-) THEN
|
||||
length 150
|
||||
IF nextPhW(w) AND next2PhW(@-) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/y)
|
||||
endphoneme
|
||||
|
||||
@@ -464,50 +451,32 @@ endphoneme
|
||||
// "kylling" vs. "kyle", "krybbe" vs. "krybe"
|
||||
phoneme ?y
|
||||
vowel starttype #i endtype #i
|
||||
length 90
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
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
|
||||
length 140
|
||||
IF nextPhW(V) OR nextPhW(@-) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
FMT(vowel/yy)
|
||||
endphoneme
|
||||
|
||||
phoneme W
|
||||
vowel starttype #@ endtype #@
|
||||
length 90 //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" but NOT "surfer" [sWf?V] TEST
|
||||
length 140
|
||||
// "røveri" but NOT "surfer" [sWfV] TEST
|
||||
IF next2PhW(V) OR next2PhW(?V) AND NOT next2PhW(isFinalVowel) THEN
|
||||
length 90
|
||||
length 140
|
||||
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
|
||||
// "børnebog" - short
|
||||
IF nextPhW(r) AND next2PhW(n) AND next3PhW(@-) THEN
|
||||
length 140
|
||||
ENDIF
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/oe)
|
||||
endphoneme
|
||||
|
||||
@@ -515,21 +484,18 @@ endphoneme
|
||||
// "prøv" vs. "prøve"
|
||||
phoneme ?W
|
||||
vowel starttype #@ endtype #@
|
||||
length 95
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/oe)
|
||||
endphoneme
|
||||
|
||||
// Added for the ø in "røv", "røg", "øje" instead of [V3]
|
||||
phoneme W#
|
||||
vowel starttype #@ endtype #@
|
||||
length 90 //150
|
||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
// length 90
|
||||
ENDIF
|
||||
length 140 //225
|
||||
// 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
|
||||
length 225
|
||||
ENDIF
|
||||
FMT(vowel/V)
|
||||
endphoneme
|
||||
@@ -538,7 +504,8 @@ endphoneme
|
||||
// "rømme"
|
||||
phoneme ?W#
|
||||
vowel starttype #@ endtype #@
|
||||
length 90
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/V)
|
||||
endphoneme
|
||||
|
||||
@@ -547,7 +514,7 @@ phoneme aI
|
||||
length 300
|
||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2Ph(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 150
|
||||
length 225
|
||||
ENDIF
|
||||
// "dreje" [dR'aI@-_!]
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN
|
||||
@@ -571,6 +538,10 @@ endphoneme
|
||||
phoneme l
|
||||
liquid
|
||||
lengthmod 7
|
||||
// [ll] => [-l] - avoid double l
|
||||
IF nextPhW(l) THEN
|
||||
// ChangePhoneme(-)
|
||||
ENDIF
|
||||
ChangePhoneme(l/3)
|
||||
// CALL base/l
|
||||
endphoneme
|
||||
@@ -578,24 +549,6 @@ 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,-70) // kvalt, kapital
|
||||
VowelEnding(l/l_e, -40)
|
||||
VowelEnding(l/l_i, -70)
|
||||
VowelEnding(l/l_o,-70) // stole, skole, pistol
|
||||
VowelEnding(l/l_u, -70)
|
||||
EndSwitch
|
||||
|
||||
// IF nextPh(isLiquid) THEN
|
||||
// FMT(l/_l)
|
||||
// ENDIF
|
||||
|
||||
FMT(l/l_)
|
||||
endphoneme
|
||||
|
||||
@@ -678,7 +631,10 @@ endphoneme
|
||||
phoneme j
|
||||
liquid palatal
|
||||
lengthmod 7
|
||||
|
||||
// no link with next vowel
|
||||
IF thisPh(isWordEnd) THEN
|
||||
IfNextVowelAppend(_!)
|
||||
ENDIF
|
||||
IF nextPhW(isVowel) THEN
|
||||
NextVowelStarts
|
||||
VowelStart(j/j@)
|
||||
|
||||
@@ -194,6 +194,11 @@ phoneme aa // 'bath' etc.
|
||||
vowel starttype #a endtype #a
|
||||
ipa a
|
||||
length 185
|
||||
|
||||
IF MbrolaSynth THEN
|
||||
ChangePhoneme(A:)
|
||||
ENDIF
|
||||
|
||||
IfNextVowelAppend(r-)
|
||||
FMT(vowel/a)
|
||||
endphoneme
|
||||
@@ -219,18 +224,30 @@ phoneme I2
|
||||
vowel starttype #i endtype #i
|
||||
unstressed
|
||||
length 130
|
||||
|
||||
IF MbrolaSynth THEN
|
||||
ChangePhoneme(I)
|
||||
ENDIF
|
||||
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/ii_4)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme I# // used for [I] which may be [@] in some accents
|
||||
vowel starttype #i endtype #i
|
||||
unstressed
|
||||
length 130
|
||||
|
||||
IF MbrolaSynth THEN
|
||||
ChangePhoneme(I)
|
||||
ENDIF
|
||||
|
||||
IfNextVowelAppend(;)
|
||||
ChangePhoneme(I2)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme i // optional variant of [I] for end of words
|
||||
vowel starttype #i endtype #i
|
||||
ipa ɪ
|
||||
@@ -342,6 +359,11 @@ phoneme o@
|
||||
vowel starttype #o endtype #o
|
||||
ipa ɔː
|
||||
length 250
|
||||
|
||||
IF MbrolaSynth THEN
|
||||
ChangePhoneme(O@)
|
||||
ENDIF
|
||||
|
||||
IfNextVowelAppend(r-)
|
||||
FMT(vowel/oo_en)
|
||||
endphoneme
|
||||
@@ -418,6 +440,11 @@ endphoneme
|
||||
phoneme i@3
|
||||
vowel starttype #i endtype #@
|
||||
length 250
|
||||
|
||||
IF MbrolaSynth THEN
|
||||
ChangePhoneme(i@)
|
||||
ENDIF
|
||||
|
||||
IfNextVowelAppend(r-)
|
||||
FMT(vdiph2/ii@)
|
||||
endphoneme
|
||||
|
||||
@@ -69,7 +69,7 @@ endphoneme
|
||||
|
||||
phoneme E
|
||||
vowel starttype #e endtype #e
|
||||
length 195
|
||||
length 190
|
||||
ChangeIfDiminished(I2)
|
||||
FMT(vwl_en_us/ee)
|
||||
endphoneme
|
||||
@@ -181,7 +181,7 @@ endphoneme
|
||||
|
||||
phoneme O:
|
||||
vowel starttype #o endtype #o
|
||||
length 210
|
||||
length 200
|
||||
ChangeIfDiminished(@)
|
||||
IF nextPh(r) THEN
|
||||
FMT(vwl_en_us/oor)
|
||||
@@ -245,7 +245,7 @@ endphoneme
|
||||
|
||||
phoneme aI
|
||||
vowel starttype #a endtype #i
|
||||
length 250
|
||||
length 240
|
||||
IF nextPh(#a) OR nextPh(#o) THEN
|
||||
AppendPhoneme(;)
|
||||
ENDIF
|
||||
@@ -255,14 +255,15 @@ endphoneme
|
||||
|
||||
phoneme eI
|
||||
vowel starttype #e endtype #i
|
||||
length 230
|
||||
FMT(vdiph/eei_5)
|
||||
length 220
|
||||
FMT(vdiph2/ei_4)
|
||||
// FMT(vdiph/eei_5)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme OI
|
||||
vowel starttype #o endtype #i
|
||||
length 285
|
||||
length 280
|
||||
FMT(vdiph/ooi_4)
|
||||
endphoneme
|
||||
|
||||
@@ -321,7 +322,7 @@ endphoneme
|
||||
|
||||
phoneme aI3
|
||||
vowel starttype #a endtype #@
|
||||
length 300
|
||||
length 310
|
||||
ipa aɪɚ
|
||||
IfNextVowelAppend(r-)
|
||||
FMT(vwl_en_us/ai3)
|
||||
|
||||
+1
-1
@@ -439,7 +439,7 @@ endphoneme
|
||||
|
||||
phoneme c#
|
||||
CALL base/tS;
|
||||
ipa ch
|
||||
ipa cU+02B0
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
@@ -95,6 +95,26 @@ phoneme dZ; // voiced /ㅈ/
|
||||
FMT(dzh/dzh) addWav(x/dz_pzd)
|
||||
endphoneme
|
||||
|
||||
phoneme s-
|
||||
import_phoneme base/s // temporary
|
||||
endphoneme
|
||||
|
||||
phoneme q-
|
||||
import_phoneme base/q // temporary
|
||||
endphoneme
|
||||
|
||||
phoneme tS;-
|
||||
import_phoneme base/tS; // temporary
|
||||
endphoneme
|
||||
|
||||
phoneme d-
|
||||
import_phoneme base/d
|
||||
endphoneme
|
||||
|
||||
// phoneme tSh; ?? changed to [tS;h] in ko_rules
|
||||
// phoneme h- in ko_list (for 10^3) ?? changed to [h]
|
||||
// phoneme tSh- changed to tSh
|
||||
|
||||
phoneme * // r(ㄹ) at initial, medial
|
||||
vcd alv flp rhotic
|
||||
ipa ɾ
|
||||
|
||||
+119
-1
@@ -25,7 +25,7 @@ phoneme a
|
||||
length 130
|
||||
|
||||
IF thisPh(isStressed) OR thisPh(isFirstVowel) OR thisPh(isWordEnd) THEN
|
||||
FMT(vowel/a#_2)
|
||||
FMT(vowel/a#_4)
|
||||
ELSE
|
||||
ChangeIfUnstressed(@)
|
||||
|
||||
@@ -144,3 +144,121 @@ phoneme d2 // 'rr' sounds like English 'd'
|
||||
endphoneme
|
||||
|
||||
|
||||
// Aspirated voice stops, sound like aspirated unvoiced stops ?
|
||||
|
||||
phoneme b#
|
||||
vls blb stop prevoice
|
||||
lengthmod 2
|
||||
voicingswitch b
|
||||
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
|
||||
IF prevPhW(isVowel) THEN
|
||||
FMT(b/xb)
|
||||
ELSE
|
||||
FMT(voc/murmur1)
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF nextPh(isPause2) THEN
|
||||
WAV(ustop/p_)
|
||||
ENDIF
|
||||
IF nextPh(l) THEN
|
||||
WAV(ustop/pl)
|
||||
ENDIF
|
||||
WAV(ustop/p_asp)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme d#
|
||||
vls dnt stop prevoice
|
||||
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 PreVoicing THEN
|
||||
IF prevPhW(isVowel) THEN
|
||||
FMT(d/xd)
|
||||
ELSE
|
||||
FMT(voc/murmur1)
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF nextPh(isPause2) THEN
|
||||
WAV(ustop/t_dnt, 35)
|
||||
ENDIF
|
||||
WAV(ustop/t_dnt, 50)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme d.#
|
||||
vls rfx stop prevoice
|
||||
lengthmod 2
|
||||
ipa ʈU+02B0
|
||||
Vowelin f1=0 f2=1800 -300 300 f3=-400 80
|
||||
Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2
|
||||
|
||||
IF PreVoicing THEN
|
||||
IF prevPhW(isVowel) THEN
|
||||
FMT(d/xdr)
|
||||
ELSE
|
||||
FMT(voc/murmur1)
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
voicingswitch d.#
|
||||
WAV(ustop/t)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme J#
|
||||
vls pal afr sibilant palatal prevoice
|
||||
voicingswitch c#
|
||||
lengthmod 2
|
||||
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
|
||||
|
||||
IF PreVoicing THEN
|
||||
IF prevPhW(isVowel) THEN
|
||||
FMT(dzh/xdz_pzd)
|
||||
ELSE
|
||||
FMT(voc/murmur1)
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF nextPh(isPause2) THEN
|
||||
WAV(ustop/ts_pzd)
|
||||
ENDIF
|
||||
WAV(ustop/ts_pzd)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme g#
|
||||
vls vel stop prevoice
|
||||
lengthmod 2
|
||||
Vowelin f1=1 f2=1400 -100 100 f3=-150 80
|
||||
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
|
||||
|
||||
IF PreVoicing THEN
|
||||
IF prevPhW(isVowel) THEN
|
||||
FMT(g/xg)
|
||||
ELSE
|
||||
FMT(voc/murmur1)
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
||||
+10
-10
@@ -48,21 +48,21 @@ endphoneme
|
||||
|
||||
phoneme E
|
||||
vowel starttype #e endtype #e
|
||||
length 170
|
||||
length 180
|
||||
ChangeIfUnstressed(y)
|
||||
FMT(vowel/e_mid)
|
||||
endphoneme
|
||||
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 160
|
||||
length 180
|
||||
ChangeIfUnstressed(y)
|
||||
FMT(vowel/e)
|
||||
endphoneme
|
||||
|
||||
phoneme y
|
||||
vowel starttype #@ endtype #@
|
||||
length 110
|
||||
length 130
|
||||
ipa ɨ
|
||||
FMT(vowel/i#_5)
|
||||
endphoneme
|
||||
@@ -70,7 +70,7 @@ endphoneme
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 150
|
||||
length 170
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/i)
|
||||
endphoneme
|
||||
@@ -78,7 +78,7 @@ endphoneme
|
||||
|
||||
phoneme i/ // changes to NULL before a vowel
|
||||
vowel starttype #i endtype #i
|
||||
length 100
|
||||
length 130
|
||||
ipa ɨ
|
||||
IF nextPh(isVowel) THEN
|
||||
ChangePhoneme(NULL)
|
||||
@@ -90,7 +90,7 @@ endphoneme
|
||||
|
||||
phoneme O
|
||||
vowel starttype #o endtype #o
|
||||
length 170
|
||||
length 180
|
||||
// ChangeIfNotStressed(o)
|
||||
FMT(vowel/0_2)
|
||||
endphoneme
|
||||
@@ -98,7 +98,7 @@ endphoneme
|
||||
|
||||
phoneme o
|
||||
vowel starttype #o endtype #o
|
||||
length 170
|
||||
length 180
|
||||
ChangeIfNotStressed(u)
|
||||
FMT(vowel/o)
|
||||
endphoneme
|
||||
@@ -106,13 +106,13 @@ endphoneme
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
length 160
|
||||
length 180
|
||||
FMT(vowel/u_6)
|
||||
endphoneme
|
||||
|
||||
phoneme U
|
||||
vowel starttype #u endtype #u
|
||||
length 110
|
||||
length 130
|
||||
IF nextPh(isVowel) THEN
|
||||
ChangePhoneme(w)
|
||||
ENDIF
|
||||
@@ -122,7 +122,7 @@ endphoneme
|
||||
|
||||
phoneme EU
|
||||
vowel starttype #e endtype #u
|
||||
length 220
|
||||
length 230
|
||||
FMT(vdiph/eeu_2)
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -159,3 +159,7 @@ phoneme # // a NULL phoneme for 'virama'
|
||||
ChangePhoneme(NULL)
|
||||
endphoneme
|
||||
|
||||
phoneme z.
|
||||
CALL base/z.
|
||||
ipa U+027B
|
||||
endphoneme
|
||||
|
||||
+11
-12
@@ -1745,6 +1745,9 @@ include ph_kannada
|
||||
phonemetable ml hi
|
||||
include ph_malayalam
|
||||
|
||||
phonemetable te hi
|
||||
include ph_telugu
|
||||
|
||||
|
||||
|
||||
phonemetable hu base
|
||||
@@ -1875,17 +1878,20 @@ include ph_greenlandic
|
||||
phonemetable am base
|
||||
include ph_amhari
|
||||
|
||||
phonemetable si hi
|
||||
include ph_sinhala
|
||||
|
||||
|
||||
//**************************************************************************************
|
||||
// The following lines are experimental, for future additions.
|
||||
// These langauges are not in a usable state.
|
||||
// These lines can be deleted.
|
||||
|
||||
phonemetable rw base2
|
||||
include ph_kinyarwanda
|
||||
phonemetable si hi
|
||||
include ph_sinhala
|
||||
|
||||
phonemetable sl sk
|
||||
include ph_slovenian
|
||||
|
||||
//phonemetable rw base2
|
||||
//include ph_kinyarwanda
|
||||
|
||||
//phonemetable mr hi
|
||||
//include ph_marathi
|
||||
@@ -1899,9 +1905,6 @@ include ph_kinyarwanda
|
||||
//phonemetable prs base
|
||||
//include ph_dari
|
||||
|
||||
phonemetable sl sk
|
||||
include ph_slovenian
|
||||
|
||||
//phonemetable gd base
|
||||
//include ph_s_gaelic
|
||||
|
||||
@@ -1923,13 +1926,9 @@ include ph_slovenian
|
||||
//phonemetable dv hi
|
||||
//include ph_divehi
|
||||
|
||||
//phonemetable te hi
|
||||
//include ph_telugu
|
||||
|
||||
//phonemetable tn base
|
||||
//include ph_setswana
|
||||
|
||||
|
||||
//phonemetable mt base
|
||||
//include ph_maltese
|
||||
|
||||
|
||||
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