Merge branch 'master' into android

This commit is contained in:
Reece H. Dunn
2013-04-29 10:29:51 +01:00
95 changed files with 4592 additions and 2547 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 20 KiB

+10 -1
View File
@@ -16,7 +16,16 @@ nucleus0 fall-rise 80 18
nucleus fall-rise2 78 22 34 52
endtune
tune q1
tune q1 // small change for version 1.47.05
prehead 45 56
headenv fall 16
head 3 75 43 -7 0
headextend 20 60 35 11 0
nucleus0 fall-rise 89 21
nucleus fall-rise2 86 21 34 68
endtune
tune q1a // previous version
prehead 46 57
headenv fall 16
head 4 75 43 -7 0
+2 -1
View File
@@ -1,3 +1,4 @@
volume 17
0 l/2 NULL 0 l
0 l/ NULL 0 l
@@ -10,7 +11,6 @@
0 j/ NULL 0 j
0 ; NULL 0 NULL
0 g- NULL 0 NULL
0 @- NULL 0 NULL
0 @3 NULL 0 NULL
0 * NULL 0 R
0 : NULL 0 NULL
@@ -43,6 +43,7 @@
0 z2 NULL 0 z
0 z3 NULL 0 z
0 @- NULL 0 @
0 a- NULL 0 a
0 e- NULL 0 e
0 y- NULL 0 y
+16 -10
View File
@@ -1,19 +1,22 @@
phoneme i
vowel starttype #i endtype #i
length 160
length 180
FMT(vowel/ii_5)
endphoneme
phoneme e
vowel starttype #e endtype #e
length 160
length 200
FMT(vowel/e_mid2)
endphoneme
phoneme &
vowel starttype #e endtype #e
length 160
length 200
IF thisPh(isWordEnd) THEN
FMT(vowel/&_3)
ENDIF
FMT(vowel/&)
endphoneme
@@ -25,32 +28,35 @@ endphoneme
phoneme W
vowel starttype #@ endtype #@
length 180
length 200
FMT(vowel/y#_2)
endphoneme
phoneme u
vowel starttype #u endtype #u
length 160
FMT(vowel/u_5)
length 180
FMT(vowel/u_2)
endphoneme
phoneme o
vowel starttype #o endtype #o
length 160
FMT(vowel/o_mid)
length 200
FMT(vowel/o_mid2)
endphoneme
phoneme a
vowel starttype #a endtype #a
length 200
FMT(vowel/aa)
IF thisPh(isWordEnd) THEN
FMT(vowel/a#)
ENDIF
FMT(vowel/aa_9)
endphoneme
phoneme @
vowel starttype #@ endtype #@
ipa ɯ
length 160
length 180
FMT(vowel/u#_7)
endphoneme
+11 -11
View File
@@ -7,7 +7,7 @@
phoneme a
vowel starttype #a endtype #a
length 180
length 190
IF thisPh(isDiminished) THEN
ChangePhoneme(a/)
FMT(vowel/a#)
@@ -18,28 +18,28 @@ endphoneme
phoneme a/
vowel starttype #@ endtype #@
length 180
length 190
FMT(vowel/a#)
endphoneme
phoneme e
vowel starttype #e endtype #e
length 170
length 180
FMT(vowel/e)
endphoneme
phoneme E
vowel starttype #e endtype #e
length 170
length 180
FMT(vowel/ee_1)
endphoneme
phoneme i
vowel starttype #i endtype #i
length 150
length 170
IfNextVowelAppend(;)
FMT(vowel/i)
endphoneme
@@ -47,42 +47,42 @@ endphoneme
phoneme o
vowel starttype #o endtype #o
length 170
length 180
FMT(vowel/o)
endphoneme
phoneme O
vowel starttype #o endtype #o
length 170
length 180
FMT(vowel/oo_4)
endphoneme
phoneme u
vowel starttype #u endtype #u
length 160
length 180
FMT(vowel/u_bck)
endphoneme
phoneme U
vowel starttype #u endtype #u
length 160
length 180
FMT(vowel/uu_2)
endphoneme
phoneme y
vowel starttype #i endtype #i
length 160
length 180
FMT(vowel/y)
endphoneme
phoneme Y
vowel starttype #@ endtype #@
length 160
length 180
FMT(vowel/y#)
endphoneme
+5 -2
View File
@@ -17,8 +17,11 @@ phoneme V // inherent vowel, can be [O] or [o]
ChangePhoneme(o)
ENDIF
IF prevPhW(r) THEN
ChangePhoneme(o)
IF prevPhW(r) AND nextVowel(isVowel) THEN
IF nextVowel(isWordEnd) AND nextVowel(V) THEN
ELSE
ChangePhoneme(o)
ENDIF
ENDIF
ENDIF
+213 -145
View File
@@ -8,113 +8,213 @@
// AC + @- OR V: Long "pile" [pi:l@-]
// AC[i]: Long "smidig" [smi:Di]
// Change the length of short vowels (?+vowel)
// 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
// "endelig", "ånder" - Short initial vowel sounds too short TEST
IF thisPh(isWordStart) AND nextPhW(n) THEN
IF next2PhW(@-) OR next2PhW(V) THEN
length 160
RETURN
ENDIF
ENDIF
// "slutte" t/d + @- makes the vowel too long
// Problem with compounds like "spildedamp"
IF next2PhW(@-) OR next2PhW(V) THEN
IF nextPhW(t) OR nextPhW(d) THEN
// length 100
LengthAdd -45
// 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
RETURN
ENDIF
ENDIF
// "bygget", "byggede" - consonant + [@-D] makes the vowel too long
IF next2PhW(@-) THEN
IF next3PhW(t) OR next3PhW(d) OR next3PhW(D) THEN
IF thisPh(isFirstVowel) THEN // NOT "cellof'anet"
IF NOT thisPh(?V) THEN // NOT "fjollet"
LengthAdd -40
// Don't shorten it further if it comes after an "r" sound ("brygget")
// Exit the procedure
RETURN
ENDIF
ENDIF
ENDIF
ENDIF
// "bygger" - consonant + [V] makes the vowel too long
IF nextPhW(isNotVowel) AND next2PhW(V) THEN
LengthAdd -50
IF nextPhW(isNotVowel) AND next2PhW(V) THEN
IF NOT thisPh(isWordStart) THEN // NOT "eller"
// LengthAdd -45
// Don't shorten it further if it comes after an "r" sound ("brygger")
// Exit the procedure
RETURN
ENDIF
RETURN
ENDIF
ENDIF
// "rigtigt", "fred", "frem", "centralen" - R makes the vowel too long
IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
// length 100
LengthAdd -50
ENDIF
// "ring", "ringe", "fængsel"
IF nextPhW(N) THEN
LengthAdd -40
RETURN
ENDIF
// "ring", "ringe", "fængsel", "spinkel", "vindspejl"
IF nextPhW(isNasal) 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
LengthAdd -30
RETURN
ENDIF
// "sigte", "bælte", "henter" t/d + @-/V makes the vowel too long
IF nextPhW(isNotVowel) AND next2PhW(t) OR next2PhW(d) THEN
IF next3PhW(@-) OR next3PhW(V) THEN
IF thisPh(isFirstVowel) THEN // NOT [i] in "forsp'ildte"
// length 100
LengthAdd -50
ENDIF
ENDIF
LengthAdd -30
ENDIF
ENDIF
ENDIF
// "forbandelse" [n@-] makes the vowel too long?
// nasal eg: m, n, N
IF nextPhW(isNasal) AND next2PhW(@-) THEN
IF NOT thisPh(isFirstVowel) AND thisPh(isStressed) THEN
// NOT LengthAdd since [R] might have shortend the vowel above
length 100
ENDIF
ENDIF
// "himlen" l/3 makes the vowel too long
IF nextPhW(isNotVowel) AND next2PhW(l/3) AND next3PhW(@-) OR next3PhW(V) THEN
length 100
ENDIF
// "lænkerne" l/3 makes the vowel too long
IF prevPh(l/3) AND nextPhW(isNotVowel) AND next3PhW(V) THEN
length 120
ENDIF
//"musikken" consonant + [@-n] makes the vowel too long
// Probably wrong. Only k?
IF nextPhW(k) AND next2PhW(@-) AND next3PhW(n) THEN
length 100
ENDIF
//"svælge" [svElj@-] vowel + 2 consonants but length 100 is too short
IF nextPhW(isNotVowel) AND next2PhW(j) THEN
length 140
ENDIF
endprocedure
// Change the length of normal vowels (without ? in front of them)
// 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
// "guldmine" [ul/3] makes the vowel extremely short
IF prevVowel(u) AND prev2PhW(l/3) THEN
length 350
RETURN
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
// "guldur" [ul/3] makes the vowel extremely short
IF prevVowel(u) AND prevPhW(l/3) THEN
IF NOT thisPh(isWordEnd) THEN // NOT "umulig"
length 325
RETURN
ENDIF
ENDIF
// "alene" - Short initial vowel sounds too short at length 140
IF thisPh(isWordStart) THEN
length 160
// "ønske" The vowel should have been made short becauce og 2 x consonant.
// Take care of it here
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND next3PhW(isNotVowel) THEN
length 140
ENDIF
// "ære"
IF nextPhW(V) AND nextPhW(isFinalVowel) THEN
length 240
ENDIF
RETURN
ENDIF
// "huske" - hACC@- vowel too long
IF prevPhW(h) AND nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND next3PhW(@-) THEN
length 110
ENDIF
ENDIF
// "glimrende" [l/3] makes the following vowel too long
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
// "dele", "mene", "møve"
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(3) OR next3PhW(@-) THEN
length 225
ENDIF
// "sveder", "deler"
IF nextPhW(isNotVowel) AND next2PhW(V) THEN
length 225
ENDIF
// "maskinen" consonant + [@-n]: vowel too long
IF nextPhW(isNotVowel) AND next2PhW(@-) AND next3PhW(n) THEN
length 160
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 NOT thisPh(V) AND next2PhW(@-) OR next2PhW(V) THEN
length 140
ENDIF
ENDIF
// "føden"
IF nextPhW(D) AND next2PhW(@-) AND next3PhW(n) THEN
length 180
ENDIF
// "glimrende", "glemte" [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
IF prev2PhW(g) AND prevPhW(l/3) AND nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
length 110
RETURN
ENDIF
// l/3 makes the vowel too long (+ voiced?)
// isVoiced = b, d, g, v, z
IF prevPhW(l/3) AND nextPhW(isVoiced) THEN
// "klub", "klud"
// The vowel should have been short but we fix it here
IF NOT next2PhW(@-) AND NOT next2PhW(V) THEN
length 100
ELSE
// "slæde", "lader"
length 160
ENDIF
ENDIF
// "længe" - short - 2 consonants => 1 consonant (ng => [N])
IF nextPhW(N) THEN
length 140
ENDIF
IF nextPhW(isNasal) THEN
IF NOT prevPhW(R) AND NOT prevPhW(r) AND NOT prevPhW(3-) THEN
length 140
// "omkring", "ring" - both prev. N and next R
ELIF prevPhW(R) OR prevPhW(r) OR prevPhW(3-) THEN
length 110
ENDIF
ENDIF
// "buskene", "krøbling" The vowel should have been made short becauce og 2 x consonant.
// Take care of it here
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
IF NOT nextPhW(l/3) THEN
IF NOT nextPhW(r) AND NOT prevPhW(R) AND NOT prevPhW(3-) THEN // NOT "Maria"
length 110
ENDIF
ENDIF
ENDIF
// "barnet" - consonant + [@-D]: too long vowel
IF nextPhW(isNotVowel) AND next2PhW(@-) AND next3PhW(D) THEN
length 160
ENDIF
// "trin", "trit", "ring" - vowel too long
// IF prevPhW(isRhotic) THEN
IF prevPhW(R) OR prevPhW(r) OR prevPhW(3-) THEN
IF nextPhW(isNotVowel) AND nextPhW(isWordEnd) THEN
length 110
ENDIF
ENDIF
endprocedure
// A bit longer than [@-]
@@ -167,22 +267,6 @@ endphoneme
phoneme i
vowel starttype #i endtype #i
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 140
ENDIF
//"skider" short
IF nextPhW(D) AND next2PhW(V) THEN
length 140
ENDIF
//"skideren" long
IF nextPhW(D) AND next2PhW(V) AND next3PhW(V) THEN
length 225
ENDIF
CALL LongVowelLength
FMT(vowel/i_4)
endphoneme
@@ -209,7 +293,7 @@ phoneme e
vowel starttype #e endtype #e
length 140
CALL LongVowelLength
CALL ShortVowelLength
// CALL ShortVowelLength
FMT(vowel/e)
endphoneme
@@ -257,7 +341,7 @@ endphoneme
phoneme &
vowel starttype #e endtype #e
ipa æ
ipa a
length 140
// "same", "sale", "bade" - consonant + @-: long
// but NOT "hinanden"
@@ -279,8 +363,10 @@ endphoneme
// e.g. the last a in "staldkarl"
// "sale" vs. "sal"
phoneme ?&
ipa a
vowel starttype #e endtype #e
length 140
CALL ShortVowelLength
FMT(vowel/ee_2)
endphoneme
@@ -298,6 +384,7 @@ endphoneme
// "revl" vs. "tremme"
phoneme ?&#
vowel starttype #e endtype #e
ipa ?a
length 140
CALL ShortVowelLength
FMT(vowel/&)
@@ -372,11 +459,11 @@ phoneme O
ipa ɒ // changed from ɔ - Den Danske Ordbog: ɒ
// "sove", "sover" - consonant + @ or V: long
IF next2PhW(@-) OR next2PhW(V) THEN
length 225
// length 225
ENDIF
// PB "gået" - ThisPh + V or @-
IF nextPhW(V) OR nextPhW(@-) THEN
length 225
// length 225
ENDIF
// "såre", "sårede" [s'O:?OD@-]
IF nextPhW(O) OR nextPhW(?O) THEN
@@ -391,6 +478,7 @@ endphoneme
phoneme ?O
vowel starttype #o endtype #o
length 140
CALL ShortVowelLength
FMT(vowel/o_5)
endphoneme
@@ -406,6 +494,7 @@ endphoneme
phoneme ?V
vowel starttype #@ endtype #@
length 140
CALL ShortVowelLength
FMT(vowel/V_4)
endphoneme
@@ -416,34 +505,19 @@ phoneme 0
FMT(vowel/oo_2)
endphoneme
// Short 0 "sukker"
// Short 0 "sukker", "provst"
phoneme ?0
vowel starttype #o endtype #o
length 140
ipa ɔ
CALL ShortVowelLength
FMT(vowel/oo_2)
endphoneme
phoneme y
vowel starttype #i endtype #i
length 140
// PB long vowel followed by consonant and certain vowels
// "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
// "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(w) AND next2PhW(@-) THEN
length 225
ENDIF
CALL LongVowelLength
CALL LongVowelLength
FMT(vowel/y)
endphoneme
@@ -468,15 +542,7 @@ endphoneme
phoneme W
vowel starttype #@ endtype #@
length 140
// "røveri" but NOT "surfer" [sWfV] TEST
IF next2PhW(V) OR next2PhW(?V) AND NOT next2PhW(isFinalVowel) THEN
length 140
ENDIF
// "børnebog" - short
IF nextPhW(r) AND next2PhW(n) AND next3PhW(@-) THEN
length 140
ENDIF
CALL LongVowelLength
CALL LongVowelLength
FMT(vowel/oe)
endphoneme
@@ -492,11 +558,8 @@ endphoneme
// Added for the ø in "røv", "røg", "øje" instead of [V3]
phoneme W#
vowel starttype #@ endtype #@
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 225
ENDIF
length 140
CALL LongVowelLength
FMT(vowel/V)
endphoneme
@@ -540,7 +603,7 @@ phoneme l
lengthmod 7
// [ll] => [-l] - avoid double l
IF nextPhW(l) THEN
// ChangePhoneme(-)
// ChangePhoneme(NULL)
ENDIF
ChangePhoneme(l/3)
// CALL base/l
@@ -565,6 +628,10 @@ phoneme r // used for 'r' after a vowel (to create a diphthong)
IF nextPhW(isVowel) AND NOT nextPhW(?V) AND NOT nextPhW(V) AND NOT nextPhW(@-) THEN
ChangePhoneme(R)
ENDIF
// "generer" [Sen'e:Vr], "mysterier" - delete the r
IF prevPhW(V) AND thisPh(isWordEnd) THEN
ChangePhoneme(NULL)
ENDIF
FMT(r/a_)
endphoneme
@@ -637,7 +704,7 @@ IF thisPh(isWordEnd) THEN
ENDIF
IF nextPhW(isVowel) THEN
NextVowelStarts
VowelStart(j/j@)
VowelStart(j/j@,-45) // jøderne
VowelStart(j/ja)
VowelStart(j/je,-35)
VowelStart(j/ji)
@@ -655,4 +722,5 @@ Vowelout len=70
Vowelout len=70
FMT(j/j_)
ENDIF
endphoneme
endphoneme
+2 -2
View File
@@ -263,8 +263,8 @@ endphoneme
phoneme OI
vowel starttype #o endtype #i
length 280
FMT(vdiph/ooi_4)
length 270
FMT(vdiph/ooi_3)
endphoneme
+39 -16
View File
@@ -13,7 +13,7 @@ phoneme @
length 130
ChangeIfDiminished(@-)
IF nextPh(H) THEN
IF nextPh(H) OR prevPh(H) THEN
FMT(vowel/@_low)
ENDIF
FMT(vowel/@_bck)
@@ -24,6 +24,11 @@ phoneme V
vowel flag1 starttype #@ endtype #@
length 130
IF thisPh(isWordStart) THEN
FMT(vowel/V_3)
RETURN
ENDIF
IF thisPh(isNotStressed) THEN
IF prevPh(H) THEN
ChangePhoneme(@)
@@ -33,15 +38,11 @@ phoneme V
ChangePhoneme(NULL)
ENDIF
IF NOT nextVowel(isFlag1) THEN
IF thisPh(isSeqFlag1) THEN
// delete the last inherent vowel of a sequence
ChangePhoneme(NULL)
IF prev2PhW(isVowel) AND NOT nextVowel(isFlag1) THEN
IF nextPhW(isNotVowel) AND nextPh(isWordEnd) THEN
// don't delete schwa before a word-final consonant
ELSE
IF NOT thisPh(isFirstVowel) THEN
// delete if not the first vowel, and is an isolated 'a'
ChangePhoneme(NULL)
ENDIF
ChangePhoneme(NULL)
ENDIF
ENDIF
ENDIF
@@ -55,7 +56,7 @@ phoneme V
ChangePhoneme(@)
ENDIF
IF nextPh(H) THEN
IF nextPh(H) OR prevPh(H) THEN
FMT(vowel/@_low)
ENDIF
ENDIF
@@ -135,6 +136,9 @@ endphoneme
phoneme a:
vowel long starttype #a endtype #a
length 190
IF nextPhW(j) THEN
FMT(vowel/a_5)
ENDIF
FMT(vowel/aa_9)
endphoneme
@@ -208,25 +212,25 @@ endphoneme
phoneme E~
vowel long starttype #e endtype #e
length 230
length 220
FMT(vnasal/ee_n2)
endphoneme
phoneme a~
vowel long starttype #a endtype #a
length 250
FMT(vnasal/aa_n)
length 220
FMT(vnasal/&_n)
endphoneme
phoneme V~
vowel long starttype #@ endtype #@
length 250
length 220
FMT(vnasal/V_n)
endphoneme
phoneme O~
vowel long starttype #o endtype #o
length 230
length 220
FMT(vnasal/oo_n2)
endphoneme
@@ -244,7 +248,7 @@ endphoneme
phoneme u~
vowel long starttype #u endtype #u
length 230
length 220
FMT(vnasal/u_n)
endphoneme
@@ -513,3 +517,22 @@ phoneme #X2 // click, use for indicating combining long vowels
endphoneme
phoneme r
liquid rhotic
lengthmod 3
IF thisPh(isWordEnd) THEN
CALL base/r/
ELSE
IF prevPhW(isVowel) THEN
IF nextPhW(isNotVowel) OR nextPhW(V) THEN
ChangePhoneme(*)
ENDIF
ENDIF
CALL base/r
ENDIF
ipa ɾ
endphoneme
+1 -1
View File
@@ -113,7 +113,7 @@ endphoneme
phoneme U
vowel starttype #u endtype #u
length 130
IF nextPh(isVowel) THEN
IF thisPh(isWordEnd) AND thisPh(isAfterStress) AND nextPh(isVowel) THEN
ChangePhoneme(w)
ENDIF
FMT(vowel/u_6)
+1 -1
View File
@@ -135,7 +135,7 @@ endphoneme
phoneme U
vowel starttype #u endtype #u
length 140
IF thisPh(isWordEnd) AND nextPh(isVowel) THEN
IF thisPh(isWordEnd) AND thisPh(isAfterStress) AND nextPh(isVowel) THEN
ChangePhoneme(w)
ENDIF
FMT(vowel/uu_bck)
+13 -8
View File
@@ -6,44 +6,44 @@
phoneme a
vowel starttype #a endtype #a
length 180
length 200
FMT(vowel/a_4)
endphoneme
phoneme e
vowel starttype #e endtype #e
length 190
length 200
FMT(vowel/e_mid2)
endphoneme
phoneme E
vowel starttype #e endtype #e
length 190
length 200
FMT(vowel/e_mid2)
endphoneme
phoneme i
vowel starttype #i endtype #i
length 170
length 190
IfNextVowelAppend(;)
FMT(vowel/i)
endphoneme
phoneme o
vowel starttype #o endtype #o
length 190
length 200
FMT(vowel/oo)
endphoneme
phoneme O
vowel starttype #o endtype #o
length 190
length 200
FMT(vowel/oo)
endphoneme
phoneme u
vowel starttype #u endtype #u
length 180
length 200
FMT(vowel/u_bck2)
endphoneme
@@ -107,11 +107,16 @@ phoneme D
voicingswitch T
CALL base/D
IF nextPh(isPause2) THEN
FMT(voc/dh_) addWav(vocw/dh, 40) // weaker
FMT(voc/dh_) addWav(vocw/dh, 35) // weaker
ENDIF
endphoneme
phoneme t // dental variant of /t/
import_phoneme base/t[
endphoneme
phoneme s
vls alv frc sibilant
lengthmod 3
+37 -17
View File
@@ -2,7 +2,7 @@
phoneme i
vowel starttype #i endtype #i
length 150
length 180
IF thisPh(isTranslationGiven) THEN
// don't reduce the vowel if phonemes are explicitly given
ELSE
@@ -18,14 +18,14 @@ endphoneme
phoneme I
vowel starttype #i endtype #i
length 150
length 180
FMT(vowel/ii_5)
endphoneme
phoneme y
vowel starttype #u endtype #u
length 155
length 180
IF thisPh(isTranslationGiven) THEN
// don't reduce the vowel if phonemes are explicitly given
ELSE
@@ -41,7 +41,7 @@ endphoneme
phoneme Y
vowel starttype #u endtype #u
length 155
length 180
FMT(vowel/u#)
endphoneme
@@ -49,10 +49,16 @@ endphoneme
phoneme e
vowel starttype #e endtype #e
length 180
length 200
IF thisPh(isTranslationGiven) THEN
// don't reduce the vowel if phonemes are explicitly given
ELSE
IF nextPh(isWordEnd) OR next2PhW(isNotVowel) THEN
IF nextPh(isRhotic) OR nextPh(isNasal) OR nextPh(l) OR nextPh(L) THEN
ChangePhoneme(&)
ENDIF
ENDIF
IF thisPh(isFinalVowel) THEN
ChangePhoneme(E)
ENDIF
@@ -65,21 +71,27 @@ endphoneme
phoneme E
vowel starttype #e endtype #e
length 180
length 200
FMT(vowel/e_mid)
endphoneme
phoneme &
vowel starttype #a endtype #a
length 200
FMT(vowel/ee_6)
endphoneme
phoneme W
vowel starttype #@ endtype #@
length 180
length 200
FMT(vowel/y#)
endphoneme
phoneme a
vowel starttype #a endtype #a
length 190
length 200
FMT(vowel/a#_4)
endphoneme
@@ -87,7 +99,7 @@ endphoneme
phoneme u
vowel starttype #u endtype #u
length 150
length 180
IF thisPh(isTranslationGiven) THEN
// don't reduce the vowel if phonemes are explicitly given
ELSE
@@ -103,7 +115,7 @@ endphoneme
phoneme U
vowel starttype #u endtype #u
length 150
length 180
FMT(vowel/uu_2)
endphoneme
@@ -111,7 +123,7 @@ endphoneme
phoneme @
vowel starttype #@ endtype #@
ipa ɯ
length 150
length 180
FMT(vowel/u#_7)
endphoneme
@@ -119,7 +131,7 @@ endphoneme
phoneme o
vowel starttype #o endtype #o
length 190
length 200
IF thisPh(isTranslationGiven) THEN
// don't reduce the vowel if phonemes are explicitly given
ELSE
@@ -135,7 +147,7 @@ endphoneme
phoneme O
vowel starttype #o endtype #o
length 190
length 200
FMT(vowel/oo)
endphoneme
@@ -179,12 +191,20 @@ phoneme J
endphoneme
phoneme l
import_phoneme en/l
endphoneme
phoneme G
import_phoneme en/r/
lengthmod 7
endphoneme
phoneme R
vcd alv flp rhotic
IF prevPhW(isVowel) AND nextPhW(isVowel) THEN
CALL base/*
// ELIF prevPhW(isNotVowel) THEN
// CALL base/R
ELSE
CALL base/r
ENDIF
ipa ɾ
endphoneme
+80 -50
View File
@@ -18,13 +18,13 @@ endphoneme
phoneme 3 // sắc Tone(rising
stress
Tone(25, 50, envelope/p_rise, NULL) // 25
Tone(30, 60, envelope/p_rise, NULL) // 25 50
endphoneme
phoneme 4 // hỏi Tone(curve (dipping rising)
stress
Tone(30, 5, envelope/p_fallrise, NULL)
Tone(40, 5, envelope/p_fallrise, NULL) //30
endphoneme
@@ -54,33 +54,33 @@ endphoneme
phoneme a
vowel starttype #@ endtype #@
length 120
length 140
FMT(vowel/a_6) //a_4)
endphoneme
phoneme a:
vowel starttype #a endtype #a
length 200 //280
FMT(vietnam/a) //FMT(vowel/a_6)
length 240 //280
FMT(vowel/a_8)
endphoneme
phoneme E
vowel starttype #e endtype #e
length 200
length 240
FMT(vowel/ee_3)
endphoneme
phoneme e
vowel starttype #e endtype #e
length 200
length 140
FMT(vowel/e)
endphoneme
phoneme i
vowel starttype #i endtype #i
length 190
length 240
IfNextVowelAppend(;)
IF prevPhW(w) THEN
VowelStart(w/wi)
@@ -100,7 +100,7 @@ phoneme O
ELSE
length 200
ENDIF
FMT(vowel/aa_4)
FMT(vowel/0_2) //aa_4)
endphoneme
phoneme o
@@ -110,7 +110,7 @@ phoneme o
ELSE
length 200
ENDIF
FMT(vowel/o_2)
FMT(vowel/o) // o_2)
endphoneme
@@ -119,9 +119,9 @@ phoneme u
IF nextPh(kh) OR nextPh(N) THEN // hear as ung sound
length 120
ELSE
length 200
length 240
ENDIF
FMT(vnasal/u_n) //vowel/u_7)
FMT(vowel/u_5)
endphoneme
phoneme y
@@ -129,7 +129,7 @@ phoneme y
IF nextPh(kh) OR nextPh(N) THEN
length 120
ELSE
length 200
length 180
ENDIF
FMT(vowel/u#_5)
endphoneme
@@ -138,10 +138,10 @@ endphoneme
phoneme @
vowel starttype #@ endtype #a
IF nextPh(kh) OR nextPh(N) THEN
IF nextPh(kh) OR nextPh(N) OR nextPh(n^) OR nextPh(c) THEN
length 120
ELSE
length 170
length 200
ENDIF
FMT(vowel/V) //vowel/@_2)
endphoneme
@@ -149,7 +149,7 @@ endphoneme
phoneme @:
vowel starttype #@ endtype #@
length 280
length 200
FMT(vowel/@_2)
endphoneme
@@ -160,8 +160,8 @@ endphoneme
phoneme aI
vowel starttype #a endtype #i
length 200 //250
FMT(vdiph/&y)
length 140 //250
FMT(vdiph/&i_2)
endphoneme
@@ -188,14 +188,14 @@ endphoneme
phoneme eI
vowel starttype #e endtype #i
length 200
length 140
FMT(vdiph/ei)
endphoneme
phoneme EI
vowel starttype #e endtype #i
length 200
length 140
FMT(vdiph/eei)
endphoneme
@@ -203,7 +203,7 @@ endphoneme
phoneme OI
vowel starttype #o endtype #i
length 200
FMT(vdiph/0i)
FMT(vdiph/ooi_3)
endphoneme
@@ -231,14 +231,14 @@ endphoneme
phoneme aU
vowel starttype #a endtype #u
length 210
length 200
FMT(vdiph/aau_4)
endphoneme
phoneme a:U
vowel starttype #a endtype #u
length 230 //270
length 200 //270
FMT(vdiph/au)
endphoneme
@@ -258,19 +258,19 @@ endphoneme
phoneme iU
vowel starttype #i endtype #u
length 200
length 140
FMT(vdiph2/iu)
endphoneme
phoneme @U
vowel starttype #@ endtype #u
length 200
length 140
FMT(vdiph/@u_3)
endphoneme
phoneme @:U
vowel starttype #@ endtype #u
length 270
length 140
FMT(vdiph/@u)
endphoneme
@@ -278,19 +278,19 @@ endphoneme
phoneme i@
vowel starttype #i endtype #@
length 240
length 140
FMT(vdiph2/ii@_3)
endphoneme
phoneme y@
vowel starttype #i endtype #@
length 200
length 140
FMT(vdiph2/y-y#)
endphoneme
phoneme u@
vowel starttype #u endtype #@
length 150 //200
length 100 //200
FMT(vdiph2/uu@)
endphoneme
@@ -298,39 +298,67 @@ endphoneme
phoneme o# // ông
vowel starttype #o endtype #o
length 200
length 140
FMT(vnasal/a#u_n)
endphoneme
phoneme O# // ong
vowel starttype #o endtype #o
length 200
length 140
FMT(vnasal/&u_n)
endphoneme
phoneme o@
vowel starttype #o endtype #o
length 160
length 140
FMT(vdiph2/oa)
endphoneme
phoneme o&
vowel starttype #o endtype #o
length 160
length 140
FMT(vietnam/oe)
endphoneme
phoneme iE // iê : viết, giệc
vowel starttype #i endtype #e
length 190
length 140
FMT(vietnam/ie_2)
endphoneme
phoneme Oi // oai sound
vowel starttype #o endtype #i
length 140
FMT(vdiph/ooi_3)
endphoneme
// Vowel and Dipthong for south dialect
phoneme O- // ôi southern sound
vowel starttype #o endtype #i
length 150
FMT(vnasal/oi_n)
endphoneme
phoneme @- // ơi southern sound
vowel starttype #o endtype #i
length 150
FMT(vdiph/@i_3)
endphoneme
phoneme u- // u southern sound
vowel starttype #u endtype #u
length 150
FMT(vowel/u_3,70)
endphoneme
phoneme kh
vls vel frc
lengthmod 3
Vowelin f1=0 f2=2300 200 400 f3=200 80
Vowelin f1=0 f2=2300 200 400 f3=200 80 len=30
Vowelout f1=0 f2=2300 300 400 f3=200 80 rms=20
WAV(vietnam/_c,5) //ufric/x, 50)
endphoneme
@@ -338,11 +366,11 @@ endphoneme
phoneme l
liquid
lengthmod 7
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 len=30
//lengthmod 7
//IF nextPh(isNotVowel) THEN
// ChangePhoneme(l/2)
//ENDIF
//CALL vowelstart_l
FMT(l/l_vi)
@@ -352,7 +380,7 @@ phoneme t
vls alv stop
//voicingswitch d
lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 len=30
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
WAV(vietnam/th, 50)
@@ -362,7 +390,7 @@ phoneme cr
vls pla afr sibilant
//voicingswitch dZ
lengthmod 2
Vowelin f1=0 f2=2300 200 400 f3=-100 80
Vowelin f1=0 f2=2300 200 400 f3=-100 80 len=30
WAV(vietnam/tr,10)
@@ -370,10 +398,10 @@ endphoneme
phoneme d
vcd alv stop
lengthmod 5
// lengthmod 5
Vowelin f1=1 f2=1700 -300 300 f3=-100 80
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk
Vowelin f1=1 f2=1700 -300 300 f3=-100 80 len=30
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk len=30
WAV(vietnam/dd)
endphoneme
@@ -381,9 +409,9 @@ WAV(vietnam/dd)
vls pal stop palatal
//voicingswitch J
lengthmod 2
length 75
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
Vowelout f1=1 f2=2700 400 600 f3=200 70 len=50 colr=1
length 2
Vowelin f1=0 f2=2700 400 600 f3=300 80 len=30 brk
Vowelout f1=1 f2=2700 400 600 f3=200 70 len=30 colr=1
WAV(vietnam/ch,5)
@@ -402,18 +430,20 @@ endphoneme
phoneme n
vcd alv nasal
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 brk len=30
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk len=30
lengthmod 4
FMT(n/n#_)
length 75
FMT(n/nr_)
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
length 5
Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16 len=30
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 len=30
IF nextPh(isPause2) THEN
WAV(ustop/t_unasp2, 5)
+42 -5
View File
@@ -6,31 +6,31 @@
phoneme 1 // ngang tone: level
stress
Tone(30, 2, envelope/p_level, NULL) // similar Hue dialect tone
Tone(40, 5, envelope/p_level, NULL) // similar Hue dialect tone
endphoneme
phoneme 2 // huyền tone: low falling
stress
Tone(20, 25, envelope/p_fall,envelope/vi_6amp) // NULL) //20 8
Tone(20, 25, envelope/p_fall,envelope/vi_6amp) // NULL) //20 25
endphoneme
phoneme 3 // sắc Tone(rising
stress
Tone(2, 10, envelope/p_rise, NULL) // 25 50 45 75
Tone(2, 10, envelope/p_fallrise, NULL) // 2 10
endphoneme
phoneme 4 // hỏi Tone(curve (dipping rising)
stress
Tone(20, 5, envelope/p_512,NULL) //Tone(55, 5, envelope/p_fallrise, NULL) //30 5 m 55 5
Tone(5, 10, envelope/p_512,NULL) //20 5
endphoneme
phoneme 5 // ngã tone: broken (creaking rising)
stress
Tone(50,2, envelope/p_214, envelope/vi_5amp) // 28,58 m20 85
Tone(10, 15, envelope/p_512, envelope/vi_6amp) // 40 20
endphoneme
@@ -46,4 +46,41 @@ phoneme 7 // Tone(1 (ngang) at end of clause
Tone(5, 40, envelope/p_level, NULL) //Tone(99, 50, envelope/p_fall, NULL) // 40 20
endphoneme
// Redefine the length of vowels
phoneme i
CALL vi/i
length 150
endphoneme
phoneme E
CALL vi/E
length 150
endphoneme
phoneme a:
CALL vi/a:
length 150
endphoneme
phoneme @
CALL vi/@
length 150
endphoneme
phoneme @:
CALL vi/@:
length 150
endphoneme
phoneme O
CALL vi/O
length 150
FMT(vowel/0)
endphoneme
phoneme Oi
CALL vi/Oi
length 100
FMT(vdiph/ooi_2)
endphoneme
+97
View File
@@ -0,0 +1,97 @@
//====================================================
// Vietnamese Phonemes - Make Sài gòn Dialect
//====================================================
phoneme 1 // ngang tone: level
stress
Tone(32, 34, envelope/p_level, NULL)
endphoneme
phoneme 2 // huyền tone: low falling
stress
Tone(35,20 , envelope/p_fall, NULL) //20
endphoneme
phoneme 3 // sắc Tone(rising
stress
Tone(40,60, envelope/p_rise, NULL) // 25 50
endphoneme
phoneme 4 // hỏi Tone(curve (dipping rising)
stress
Tone(30,50, envelope/p_rise, NULL) //envelope/vi_5amp) // 28,58
endphoneme
phoneme 5 // ngã tone: broken (creaking rising)
stress
Tone(30,50, envelope/p_rise, NULL) //20,80, envelope/p_214, envelope/vi_5amp) // 28,58
endphoneme
phoneme 6 // nặng Tone(drop (constricted)
stress
//length 150 // ignore because it make too short sound 75 // reduce the length of the vowel
Tone(10,5, envelope/p_512,NULL) // envelope/vi_6amp)
endphoneme
phoneme 7 // Tone(1 (ngang) at end of clause
stress
Tone(40, 20, envelope/p_fall, NULL)
endphoneme
// Redefine the length of vowels
phoneme i
CALL vi/i
length 150
endphoneme
phoneme E
CALL vi/E
length 150
endphoneme
phoneme a:
CALL vi/a:
length 150
FMT(vietnam/a)
endphoneme
phoneme @
CALL vi/@
length 150
endphoneme
phoneme @:
CALL vi/@:
length 150
endphoneme
phoneme O
CALL vi/O
length 150
FMT(vowel/0)
endphoneme
phoneme Oi
CALL vi/Oi
length 100
FMT(vdiph/ooi_2)
endphoneme
phoneme y
CALL vi/y
FMT(vowel/u#_4)
endphoneme
phoneme o
CALL vi/o
FMT(vowel/o_5)
endphoneme
+60 -52
View File
@@ -616,8 +616,8 @@ phoneme w
VowelEnding(w/xw, -30)
IF prevPh(isPause) THEN
FMT(w/_w)
IF prevPhW(isNasal) THEN
FMT(w/w)
ELSE
FMT(w/_w)
ENDIF
@@ -634,7 +634,7 @@ endphoneme
phoneme j
liquid palatal
liquid palatal starttype #i
lengthmod 7
IF nextPhW(isVowel) THEN
@@ -1610,7 +1610,7 @@ phoneme x
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
IF nextPh(isPause) THEN
WAV(ufric/x, 110)
WAV(ufric/x_, 60)
ENDIF
WAV(ufric/x_hr, 20)
endphoneme
@@ -1745,9 +1745,6 @@ include ph_kannada
phonemetable ml hi
include ph_malayalam
phonemetable te hi
include ph_telugu
phonemetable hu base
@@ -1833,6 +1830,9 @@ include ph_vietnam
phonemetable vi-hue vi
include ph_vietnam_hue
phonemetable vi-sgn vi
include ph_vietnam_sgn
phonemetable zhy base
include ph_zh_yue
@@ -1867,31 +1867,14 @@ include ph_georgian
phonemetable fa base
include ph_farsi
// experimental
phonemetable ko base
include ph_korean
phonemetable kl base
include ph_greenlandic
phonemetable am base
include ph_amhari
//**************************************************************************************
// The following lines are experimental, for future additions.
// These langauges are not in a usable state.
// These lines can be deleted.
phonemetable si hi
include ph_sinhala
phonemetable sl sk
include ph_slovenian
//phonemetable rw base2
//include ph_kinyarwanda
phonemetable rw base2
include ph_kinyarwanda
//phonemetable mr hi
//include ph_marathi
@@ -1902,42 +1885,67 @@ include ph_slovenian
//phonemetable mn base
//include ph_mongolian
//phonemetable prs base
//include ph_dari
phonemetable prs base
include ph_dari
//phonemetable gd base
//include ph_s_gaelic
phonemetable sl sk
include ph_slovenian
//phonemetable nso base
//include ph_northern-sotho
phonemetable gd base
include ph_s_gaelic
//phonemetable ht fr
//include ph_haitian
phonemetable nso base
include ph_northern-sotho
//phonemetable az tr
//include ph_azerbaijani
phonemetable ht fr
include ph_haitian
//phonemetable ak base
//include ph_akan
phonemetable az tr
include ph_azerbaijani
//phonemetable wo base
//include ph_wolof
phonemetable ak base
include ph_akan
//phonemetable dv hi
//include ph_divehi
phonemetable am base
include ph_amhari
//phonemetable tn base
//include ph_setswana
phonemetable wo base
include ph_wolof
//phonemetable mt base
//include ph_maltese
phonemetable dv hi
include ph_divehi
//phonemetable bo hi
//include ph_tibetan
phonemetable te hi
include ph_telugu
//phonemetable kk base
//include ph_kazakh
phonemetable si hi
include ph_sinhala
//phonemetable tt base
//include ph_tatar
phonemetable tn base
include ph_setswana
phonemetable mt base
include ph_maltese
phonemetable bo hi
include ph_tibetan
phonemetable kk base
include ph_kazakh
phonemetable tt base
include ph_tatar
phonemetable ko base
include ph_korean
phonemetable kl base
include ph_greenlandic
phonemetable ar base
include ph_arabic
phonemetable gu hi
include ph_gujarati
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.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.