123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411 |
- // Japanese Phonemes
- //
- // Copyright (C) 2017 Reece H. Dunn
- //
- // This program is free software; you can redistribute it and/or modify
- // it under the terms of the GNU General Public License as published by
- // the Free Software Foundation; either version 3 of the License, or
- // (at your option) any later version.
- //
- // This program is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- // GNU General Public License for more details.
- //
- // You should have received a copy of the GNU General Public License
- // along with this program; if not, see: <http://www.gnu.org/licenses/>.
- // 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 pzd starttype #i
- ipa ʲ
- lengthmod 2
- NextVowelStarts
- VowelStart(j/j@)
- VowelStart(j/ja)
- VowelStart(j/je)
- VowelStart(j/ji)
- VowelStart(j/jo)
- VowelStart(j/ju)
- EndSwitch
- endphoneme
- // Vowels /////////////////////////////////////////////////////////////////////
- // Close Vowels
- phoneme i
- vwl starttype #i endtype #i
- length 160
- FMT(vowel/i)
- endphoneme
- phoneme i~
- vwl lng starttype #i endtype #i
- ipa ĩ
- length 220
- FMT(vnasal/i_n2)
- endphoneme
- phoneme u~
- vwl starttype #u endtype #u
- ipa ũ
- length 220
- FMT(vnasal/u_n)
- endphoneme
- phoneme u
- vwl starttype #u endtype #u
- ipa ɯᵝ
- length 160
- FMT(vowel/u_bck)
- endphoneme
- // Mid Vowels
- phoneme e
- vwl starttype #e endtype #e
- ipa e̞
- length 160
- FMT(vowel/e_8)
- endphoneme
- phoneme o
- vwl starttype #o endtype #o
- ipa o̞
- length 160
- FMT(vowel/oo_3)
- endphoneme
- // Open Vowels
- phoneme a
- vwl starttype #a endtype #a
- ipa ä
- length 160
- FMT(vowel/a)
- endphoneme
- // Consonants /////////////////////////////////////////////////////////////////
- phoneme m
- vcd blb nas
- Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
- lengthmod 4
- NextVowelStarts
- VowelStart(m/m@)
- VowelStart(m/ma)
- VowelStart(m/me)
- VowelStart(m/mi)
- VowelStart(m/mo)
- VowelStart(m/mu)
- EndSwitch
- IF nextPh(isNotVowel) THEN
- FMT(m/m_)
- ENDIF
- endphoneme
- phoneme n
- vcd alv nas
- Vowelout f1=2 f2=1500 -300 250 f3=-100 80 rms=20 brk
- lengthmod 4
- NextVowelStarts
- VowelStart(n/n@)
- VowelStart(n/na)
- VowelStart(n/ne)
- VowelStart(n/ni)
- VowelStart(n/no)
- VowelStart(n/nu)
- EndSwitch
- IF nextPh(isNotVowel) THEN
- FMT(n/n_)
- ENDIF
- endphoneme
- phoneme N
- vcd vel nas
- 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 nas
- ipa ɴ
- // FIXME: Stub phoneme.
- CALL ja/n
- endphoneme
- // Plosives
- phoneme p
- vls blb stp
- 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 stp
- 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 stp
- 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
- WAV(ustop/t, 90)
- endphoneme
- phoneme d
- vcd alv stp
- 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 stp
- 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
- WAV(ustop/k)
- endphoneme
- phoneme g
- vcd vel stp
- 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
- phoneme ?
- vls glt stp
- lengthmod 3
- nolink
- Vowelin glstop
- Vowelout glstop
- WAV(ustop/null)
- endphoneme
- // Sibilant Affricates
- phoneme t_s
- vls alv afr sib
- 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
- WAV(ustop/ts, 70)
- endphoneme
- phoneme t_s\\
- vls alp sib afr
- voicingswitch d_z\\
- ipa tɕ
- lengthmod 2
- Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
- WAV(ustop/ts_pzd)
- endphoneme
- phoneme d_z\\
- vcd alp sib afr
- 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 sib
- 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
- WAV(ufric/s)
- endphoneme
- phoneme z
- vcd alv frc sib
- 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 alp sib frc
- ipa ɕ
- lengthmod 3
- Vowelin f1=1 f2=2700 400 600 f3=200 70 rate len=70
- Vowelout f1=1 f2=2700 400 600 f3=200 70 rate
- WAV(ufric/sh_pzd)
- endphoneme
- // Fricatives
- phoneme p\\
- vls blb frc
- ipa ɸ
- Vowelout f1=0 f2=1000 -500 -350 f3=-200 80
- lengthmod 2
- 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
- ipa ç
- lengthmod 3
- Vowelin f1=0 f2=2700 400 600 f3=200 70
- Vowelout f1=0 f2=2700 400 600 f3=200 70 rms=20
- WAV(ufric/ch)
- endphoneme
- // Approximant
- phoneme j
- liquid pal starttype #i
- lengthmod 7
- NextVowelStarts
- VowelStart(j/j@)
- VowelStart(j/ja)
- VowelStart(j/je)
- VowelStart(j/ji)
- VowelStart(j/jo)
- VowelStart(j/ju)
- EndSwitch
- IF nextPh(isNotVowel) THEN
- Vowelout len=70
- FMT(j/j_)
- ENDIF
- endphoneme
- // Flap or Tap
- phoneme r`
- liquid rfx
- ipa ɽ
- lengthmod 3
- Vowelout f1=3 f2=1400 -400 300 f3=-400 80 rms=35 len=15 colr=2
- Vowelin f1=2 f2=1400 -400 300 f3=-400 80 len=20
- FMT(r3/@tap_rfx)
- endphoneme
- // Coarticulated
- phoneme w
- liquid
- lengthmod 7
- starttype #u
- NextVowelStarts
- VowelStart(w/w@)
- VowelStart(w/wa)
- VowelStart(w/we)
- VowelStart(w/wi)
- VowelStart(w/wo)
- VowelStart(w/wu)
- EndSwitch
- IF nextPh(isNotVowel) THEN
- Vowelout len=50
- FMT(w/w_)
- ENDIF
- endphoneme
|