Browse Source

jp: voiced Hiragana support

master
Reece H. Dunn 8 years ago
parent
commit
976848d6be
2 changed files with 149 additions and 3 deletions
  1. 57
    2
      dictsource/jp_rules
  2. 92
    1
      phsource/ph_ipa

+ 57
- 2
dictsource/jp_rules View File

// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with this program; if not, see: <http://www.gnu.org/licenses/>. // 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 // Hiragana


.group あ .group あ


.group う .group う
う M_Bo // u う M_Bo // u
ゔ vM_Bo // vu


.group え .group え
え e_o // e え e_o // e


.group か .group か
か ka_" // ka か ka_" // ka
が ga_" // ga


.group き .group き
き ki // ki き ki // ki
ぎ gi // gi


.group く .group く
く kM_Bo // ku く kM_Bo // ku
ぐ gM_Bo // gu


.group け .group け
け ke_o // ke け ke_o // ke
げ ge_o // ge


.group こ .group こ
こ ko_o // ko こ ko_o // ko
ご go_o // go


.group さ .group さ
さ sa_" // sa さ sa_" // sa
ざ za_" // za


.group し .group し
し s\\i // shi し s\\i // shi
じ d_z\\i // ji


.group す .group す
す sM_Bo // su す sM_Bo // su
ず zM_Bo // zu


.group せ .group せ
せ se_o // se せ se_o // se
ぜ ze_o // ze


.group そ .group そ
そ so_o // so そ so_o // so
ぞ zo_o // zo


.group た .group た
た ta_" // ta た ta_" // ta
だ da_" // da


.group ち .group ち
ち t_s\\i // chi ち t_s\\i // chi
ぢ d_z\\i // ji


.group つ .group つ
つ t_sM_Bo // tsu つ t_sM_Bo // tsu
づ zM_Bo // zu


.group て .group て
て te_o // te て te_o // te
で de_o // de


.group と .group と
と to_o // to と to_o // to
ど do_o // do


.group な .group な
な na_" // na な na_" // na


.group は .group は
は ha_" // ha は ha_" // ha
ば ba_" // ba
ぱ pa_" // pa


.group ひ .group ひ
ひ Ci // hi ひ Ci // hi
び bi // bi
ぴ pi // pi


.group ふ .group ふ
ふ p\\M_Bo // fu ふ p\\M_Bo // fu
ぶ bM_Bo // bu
ぷ pM_Bo // pu


.group へ .group へ
へ he_o // he へ he_o // he
べ be_o // be
ぺ pe_o // pe


.group ほ .group ほ
ほ ho_o // ho ほ ho_o // ho
ぼ bo_o // bo
ぽ po_o // po


.group ま .group ま
ま ma_" // ma ま ma_" // ma
わ wa_" // wa わ wa_" // wa


.group ゐ .group ゐ
ゐ i // wi (archaic)
ゐ i // wi (obsolete)


.group ゑ .group ゑ
ゑ we_o // we (archaic)
ゑ we_o // we (obsolete)


.group を .group を
を o_o // wo を o_o // wo

+ 92
- 1
phsource/ph_ipa View File

FMT(vowel/a) FMT(vowel/a)
endphoneme endphoneme


// Consonants ----------
// Consonants /////////////////////////////////////////////////////////////////


phoneme m phoneme m
vcd blb nasal vcd blb nasal


// Plosives // 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 phoneme t
vls alv stop vls alv stop
voicingswitch d
lengthmod 2 lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
WAV(ustop/t, 90) WAV(ustop/t, 90)
endphoneme 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 phoneme k
vls vel stop vls vel stop
voicingswitch g
lengthmod 2 lengthmod 2
Vowelin f1=0 f2=2300 200 300 f3=-200 80 Vowelin f1=0 f2=2300 200 300 f3=-200 80
Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20 Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20
WAV(ustop/k) WAV(ustop/k)
endphoneme 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 // Sibilant Affricates


phoneme t_s phoneme t_s
vls alv afr sibilant vls alv afr sibilant
ipa ts
lengthmod 2 lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20


phoneme t_s\\ phoneme t_s\\
vls pal afr sibilant palatal vls pal afr sibilant palatal
voicingswitch d_z\\
ipa tɕ ipa tɕ
lengthmod 2 lengthmod 2
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70 Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
WAV(ustop/ts_pzd) WAV(ustop/ts_pzd)
endphoneme 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 // Sibilant Fricatives


phoneme s phoneme s
vls alv frc sibilant vls alv frc sibilant
voicingswitch z
lengthmod 3 lengthmod 3
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
WAV(ufric/s) WAV(ufric/s)
endphoneme 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\\ phoneme s\\
vls pal frc sibilant palatal vls pal frc sibilant palatal
ipa ɕ ipa ɕ
WAV(ufric/f) WAV(ufric/f)
endphoneme 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 phoneme C
vls pal frc palatal vls pal frc palatal
ipa ç ipa ç

Loading…
Cancel
Save