| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410 | 
							- // 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
 
 
  |