Browse Source

jp: support the allophones of ん

master
Reece H. Dunn 8 years ago
parent
commit
d88e1a8fb6
2 changed files with 103 additions and 1 deletions
  1. 49
    1
      dictsource/jp_rules
  2. 54
    0
      phsource/ph_ipa

+ 49
- 1
dictsource/jp_rules View File

@@ -46,6 +46,27 @@

// Hiragana

.L01 か き く け こ // k
.L02 が ぎ ぐ げ ご // g
.L03 さ す せ そ // s
.L04 し // sh
.L05 ざ ず ぜ ぞ づ // z
.L06 じ ぢ // j
.L07 た て と // t
.L08 ち // ch
.L09 つ // ts
.L10 だ で ど // d
.L11 な に ぬ ね の // n
.L12 は ひ へ ほ // h
.L13 ふ // f
.L14 ば び ぶ べ ぼ // b
.L15 ぱ ぴ ぷ ぺ ぽ // p
.L16 ま み む め も // m
.L17 や ゆ よ // y
.L18 ら り る れ ろ // r
.L19 わ ゐ ゑ を // w
.L20 あ い う え お // vowel

.group あ
あ a_" // a

@@ -250,4 +271,31 @@
を o_o // wo

.group ん
ん n // n
ん N\\ // n
ん (L01 N // n (k
ん (L02 N // n (g
ん (L03 u~ // n (s
い) ん (L03 i~ // i) n (s
ん (L04 u~ // n (sh
い) ん (L04 i~ // i) n (sh
ん (L05 n // n (z
ん (L06 n // n (j
ん (L07 n // n (t
ん (L08 n // n (ch
ん (L09 n // n (ts
ん (L10 n // n (d
ん (L11 n // n (n
ん (L12 u~ // n (h
い) ん (L12 i~ // i) n (h
ん (L13 u~ // n (f
い) ん (L13 i~ // i) n (f
ん (L14 m // n (b
ん (L15 m // n (p
ん (L16 m // n (m
ん (L17 u~ // n (y
い) ん (L17 i~ // i) n (y
ん (L18 n // n (r
ん (L19 u~ // n (w
い) ん (L19 i~ // i) n (w
ん (L20 u~ // n ([vowel]
い) ん (L20 i~ // i) n ([vowel]

+ 54
- 0
phsource/ph_ipa View File

@@ -18,6 +18,11 @@
// This is using the X-SAMPA transcriptions
// (http://www.phon.ucl.ac.uk/home/sampa/x-sampa.htm).

phoneme :
virtual
length 70
endphoneme

phoneme _j
liquid palatal starttype #i
ipa ʲ
@@ -44,6 +49,20 @@ phoneme i
FMT(vowel/i)
endphoneme

phoneme i~
vowel long starttype #i endtype #i
ipa ĩ
length 220
FMT(vnasal/i_n2)
endphoneme

phoneme u~
vowel starttype #u endtype #u
ipa ũ
length 220
FMT(vnasal/u_n)
endphoneme

phoneme M_Bo // M_B_o
vowel starttype #u endtype #u
ipa ɯᵝ
@@ -120,6 +139,41 @@ phoneme n
ENDIF
endphoneme

phoneme N
vcd vel nasal
ipa ŋ
Vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
lengthmod 3

NextVowelStarts
VowelStart(nn/nn@)
VowelStart(nn/nna)
VowelStart(nn/nne)
VowelStart(nn/nni)
VowelStart(nn/nno)
VowelStart(nn/nnu)
EndSwitch

IF prevPh(#i) THEN
VowelEnding(nn/inn, -40)
ENDIF

IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN
FMT(nn/nnj)
ELIF prevPh(isPause) THEN
FMT(nn/_nn)
ELIF nextPh(isNotVowel) THEN
FMT(nn/nn_)
ENDIF
endphoneme

phoneme N\\
vcd uvl nasal
ipa ɴ
// FIXME: Stub phoneme.
CALL ipa/n
endphoneme

// Plosives

phoneme p

Loading…
Cancel
Save