jp: voiced Hiragana support

This commit is contained in:
Reece H. Dunn
2017-01-01 12:02:30 +00:00
parent 51ba95dab4
commit 976848d6be
2 changed files with 149 additions and 3 deletions
+57 -2
View File
@@ -15,6 +15,35 @@
// You should have received a copy of the GNU General Public License
// along with this program; if not, see: <http://www.gnu.org/licenses/>.
.replace
// Decompose combined Unicode Hiragana glyphs (base + sound mark)
が が // ga: U+304C => U+304B U+3099
ぎ ぎ // gi: U+304E => U+304D U+3099
ぐ ぐ // gu: U+3050 => U+304F U+3099
げ げ // ge: U+3052 => U+3051 U+3099
ご ご // go: U+3054 => U+3053 U+3099
ざ ざ // za: U+3056 => U+3055 U+3099
じ じ // ji: U+3058 => U+3057 U+3099
ず ず // zu: U+305A => U+3059 U+3099
ぜ ぜ // ze: U+305C => U+305B U+3099
ぞ ぞ // zo: U+305E => U+305D U+3099
だ だ // da: U+3060 => U+305F U+3099
ぢ ぢ // ji: U+3062 => U+3061 U+3099 (obsolete)
づ づ // zu: U+3064 => U+3063 U+3099
で で // de: U+3066 => U+3065 U+3099
ど ど // do: U+3068 => U+3067 U+3099
ば ば // ba: U+3070 => U+305F U+3099
ぱ ぱ // pa: U+3071 => U+305F U+309A
び び // bi: U+3073 => U+3072 U+3099
ぴ ぴ // pi: U+3074 => U+3072 U+309A
ぶ ぶ // bu: U+3076 => U+3075 U+3099
ぷ ぷ // pu: U+3077 => U+3075 U+309A
べ べ // be: U+3079 => U+3078 U+3099
ぺ ぺ // pe: U+307A => U+3078 U+309A
ぼ ぼ // bo: U+307C => U+307B U+3099
ぽ ぽ // po: U+307D => U+307B U+309A
ゔ ゔ // vu: U+3094 => U+3046 U+3099 (obsolete)
// Hiragana
.group あ
@@ -25,6 +54,7 @@
.group う
う M_Bo // u
ゔ vM_Bo // vu
.group え
え e_o // e
@@ -34,48 +64,63 @@
.group か
か ka_" // ka
が ga_" // ga
.group き
き ki // ki
ぎ gi // gi
.group く
く kM_Bo // ku
ぐ gM_Bo // gu
.group け
け ke_o // ke
げ ge_o // ge
.group こ
こ ko_o // ko
ご go_o // go
.group さ
さ sa_" // sa
ざ za_" // za
.group し
し s\\i // shi
じ d_z\\i // ji
.group す
す sM_Bo // su
ず zM_Bo // zu
.group せ
せ se_o // se
ぜ ze_o // ze
.group そ
そ so_o // so
ぞ zo_o // zo
.group た
た ta_" // ta
だ da_" // da
.group ち
ち t_s\\i // chi
ぢ d_z\\i // ji
.group つ
つ t_sM_Bo // tsu
づ zM_Bo // zu
.group て
て te_o // te
で de_o // de
.group と
と to_o // to
ど do_o // do
.group な
な na_" // na
@@ -94,18 +139,28 @@
.group は
は ha_" // ha
ば ba_" // ba
ぱ pa_" // pa
.group ひ
ひ Ci // hi
び bi // bi
ぴ pi // pi
.group ふ
ふ p\\M_Bo // fu
ぶ bM_Bo // bu
ぷ pM_Bo // pu
.group へ
へ he_o // he
べ be_o // be
ぺ pe_o // pe
.group ほ
ほ ho_o // ho
ぼ bo_o // bo
ぽ po_o // po
.group ま
ま ma_" // ma
@@ -150,10 +205,10 @@
わ wa_" // wa
.group ゐ
ゐ i // wi (archaic)
ゐ i // wi (obsolete)
.group ゑ
ゑ we_o // we (archaic)
ゑ we_o // we (obsolete)
.group を
を o_o // wo
+92 -1
View File
@@ -65,7 +65,7 @@ phoneme a_"
FMT(vowel/a)
endphoneme
// Consonants ----------
// Consonants /////////////////////////////////////////////////////////////////
phoneme m
vcd blb nasal
@@ -107,8 +107,46 @@ endphoneme
// Plosives
phoneme p
vls blb stop
voicingswitch b
lengthmod 2
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
WAV(ustop/p)
endphoneme
phoneme b
vcd blb stop
voicingswitch p
Vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk
lengthmod 5
IF nextPh(isPause2) THEN
FMT(b/b_) addWav(x/b_)
ELIF nextPh(@-) THEN
FMT(b/b@2) addWav(x/b)
ELIF nextPh(#@) THEN
FMT(b/b@) addWav(x/b)
ELIF nextPh(#a) THEN
FMT(b/ba) addWav(x/b)
ELIF nextPh(#e) THEN
FMT(b/be) addWav(x/b)
ELIF nextPh(#i) THEN
FMT(b/bi) addWav(x/b)
ELIF nextPh(#o) THEN
FMT(b/bo) addWav(x/b)
ELIF nextPh(#u) THEN
FMT(b/bu) addWav(x/b)
ENDIF
FMT(b/b) addWav(x/b)
endphoneme
phoneme t
vls alv stop
voicingswitch d
lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
@@ -116,8 +154,19 @@ phoneme t
WAV(ustop/t, 90)
endphoneme
phoneme d
vcd alv stop
voicingswitch t
lengthmod 5
Vowelin f1=1 f2=1700 -300 300 f3=-100 80
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk
FMT(d/d) addWav(x/d)
endphoneme
phoneme k
vls vel stop
voicingswitch g
lengthmod 2
Vowelin f1=0 f2=2300 200 300 f3=-200 80
Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20
@@ -125,10 +174,21 @@ phoneme k
WAV(ustop/k)
endphoneme
phoneme g
vcd vel stop
voicingswitch k
lengthmod 5
Vowelin f1=2 f2=2300 200 300 f3=-300 80
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
FMT(g/g) addWav(x/g2, 150)
endphoneme
// Sibilant Affricates
phoneme t_s
vls alv afr sibilant
ipa ts
lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
@@ -137,6 +197,7 @@ endphoneme
phoneme t_s\\
vls pal afr sibilant palatal
voicingswitch d_z\\
ipa tɕ
lengthmod 2
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
@@ -144,10 +205,22 @@ phoneme t_s\\
WAV(ustop/ts_pzd)
endphoneme
phoneme d_z\\
vcd pla afr sibilant palatal
voicingswitch t_s\\
ipa dʑ
lengthmod 5
Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
Vowelout f1=2 f2=2700 400 600 f3=300 80
FMT(dzh/dzh) addWav(x/dz_pzd)
endphoneme
// Sibilant Fricatives
phoneme s
vls alv frc sibilant
voicingswitch z
lengthmod 3
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
@@ -155,6 +228,15 @@ phoneme s
WAV(ufric/s)
endphoneme
phoneme z
vcd alv frc sibilant
voicingswitch s
lengthmod 6
Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
FMT(voc/z) addWav(ufric/s_, 85)
endphoneme
phoneme s\\
vls pal frc sibilant palatal
ipa ɕ
@@ -175,6 +257,15 @@ phoneme p\\
WAV(ufric/f)
endphoneme
phoneme v
vcd lbd frc
lengthmod 6
Vowelin f1=0 f2=1000 -300 -200 f3=-300 100
Vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50
FMT(voc/v) addWav(vocw/v)
endphoneme
phoneme C
vls pal frc palatal
ipa ç