日本語フォルマント周波数
確かなんかの論文かなんかからとってきました
表 1:日本語の 5母音のホルマント周波数( Hz) F1 F2 F3 F4 F5 /a/ 800 1300 2500 3500 4500 /i/ 250 2100 3100 3500 4500 /u/ 250 1400 2200 3500 4500 /e/ 450 1900 2400 3500 4500 /o/ 450 900 2600 3500 4500
これを使って
<CsoundSynthesizer> ;fof1 <CsOptions> -d --sched 88 -+rtaudio=alsa -odac:hw:0,0 -m0 </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 44100 ksmps = 1 nchnls = 2 ; Instrument #1. should be a instr 1 ; Values common to all of the formants. kfund init 261.659 koct init 0 kris init 0.003 kdur init 0.02 kdec init 0.007 iolaps = 14850 ifna = 1 ifnb = 2 itotdur = p3 ; First formant. k1amp = ampdb(0) k1form init 800 k1band init 80 ; Second formant. k2amp = ampdb(-4) k2form init 1300 k2band init 90 ; Third formant. k3amp = ampdb(-20) k3form init 2500 k3band init 120 ; Fourth formant. k4amp = ampdb(-36) k4form init 3500 k4band init 130 ; Fifth formant. k5amp = ampdb(-60) k5form init 4500 k5band init 140 a1 fof k1amp, kfund, k1form, koct, k1band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a2 fof k2amp, kfund, k2form, koct, k2band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a3 fof k3amp, kfund, k3form, koct, k3band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a4 fof k4amp, kfund, k4form, koct, k4band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a5 fof k5amp, kfund, k5form, koct, k5band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur ; Combine all of the formants together. outs (a1+a2+a3+a4+a5) * 16384, (a1+a2+a3+a4+a5) * 16384 endin instr 2 ; shoud be i ; Values common to all of the formants. kfund init 261.659 koct init 0 kris init 0.003 kdur init 0.02 kdec init 0.007 iolaps = 14850 ifna = 1 ifnb = 2 itotdur = p3 ; First formant. k1amp = ampdb(0) k1form init 250 k1band init 80 ; Second formant. k2amp = ampdb(0) k2form init 2000 k2band init 80 ; Third formant. k3amp = ampdb(-40) k3form init 3100 k3band init 100 ; Fourth formant. k4amp = ampdb(-49) k4form init 3500 k4band init 130 ; Fifth formant. k5amp = ampdb(-50) k5form init 4500 k5band init 140 a1 fof k1amp, kfund, k1form, koct, k1band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a2 fof k2amp, kfund, k2form, koct, k2band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a3 fof k3amp, kfund, k3form, koct, k3band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a4 fof k4amp, kfund, k4form, koct, k4band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a5 fof k5amp, kfund, k5form, koct, k5band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur ; Combine all of the formants together. outs (a1+a2+a3+a4+a5) * 16384, (a1+a2+a3+a4+a5) * 16384 endin instr 3 ; Values common to all of the formants. kfund init 261.659 koct init 0 kris init 0.003 kdur init 0.02 kdec init 0.007 iolaps = 14850 ifna = 1 ifnb = 2 itotdur = p3 ; First formant. k1amp = ampdb(0) k1form init 250 k1band init 80 ; Second formant. k2amp = ampdb(-4) k2form init 1400 k2band init 90 ; Third formant. k3amp = ampdb(-20) k3form init 2200 k3band init 120 ; Fourth formant. k4amp = ampdb(-36) k4form init 3500 k4band init 130 ; Fifth formant. k5amp = ampdb(-60) k5form init 4500 k5band init 140 a1 fof k1amp, kfund, k1form, koct, k1band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a2 fof k2amp, kfund, k2form, koct, k2band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a3 fof k3amp, kfund, k3form, koct, k3band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a4 fof k4amp, kfund, k4form, koct, k4band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a5 fof k5amp, kfund, k5form, koct, k5band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur ; Combine all of the formants together. outs (a1+a2+a3+a4+a5) * 16384, (a1+a2+a3+a4+a5) * 16384 endin instr 4 ; Values common to all of the formants. kfund init 261.659 koct init 0 kris init 0.003 kdur init 0.02 kdec init 0.007 iolaps = 14850 ifna = 1 ifnb = 2 itotdur = p3 ; First formant. k1amp = ampdb(0) k1form init 450 k1band init 80 ; Second formant. k2amp = ampdb(-4) k2form init 1900 k2band init 90 ; Third formant. k3amp = ampdb(-20) k3form init 2400 k3band init 120 ; Fourth formant. k4amp = ampdb(-36) k4form init 3500 k4band init 130 ; Fifth formant. k5amp = ampdb(-60) k5form init 4500 k5band init 140 a1 fof k1amp, kfund, k1form, koct, k1band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a2 fof k2amp, kfund, k2form, koct, k2band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a3 fof k3amp, kfund, k3form, koct, k3band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a4 fof k4amp, kfund, k4form, koct, k4band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a5 fof k5amp, kfund, k5form, koct, k5band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur ; Combine all of the formants together. outs (a1+a2+a3+a4+a5) * 16384, (a1+a2+a3+a4+a5) * 16384 endin instr 5 ; Values common to all of the formants. kfund init 261.659 koct init 0 kris init 0.003 kdur init 0.02 kdec init 0.007 iolaps = 14850 ifna = 1 ifnb = 2 itotdur = p3 ; First formant. k1amp = ampdb(0) k1form init 450 k1band init 80 ; Second formant. k2amp = ampdb(-4) k2form init 900 k2band init 90 ; Third formant. k3amp = ampdb(-20) k3form init 2600 k3band init 120 ; Fourth formant. k4amp = ampdb(-36) k4form init 3500 k4band init 130 ; Fifth formant. k5amp = ampdb(-60) k5form init 4500 k5band init 140 a1 fof k1amp, kfund, k1form, koct, k1band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a2 fof k2amp, kfund, k2form, koct, k2band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a3 fof k3amp, kfund, k3form, koct, k3band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a4 fof k4amp, kfund, k4form, koct, k4band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur a5 fof k5amp, kfund, k5form, koct, k5band, kris, \ kdur, kdec, iolaps, ifna, ifnb, itotdur ; Combine all of the formants together. outs (a1+a2+a3+a4+a5) * 16384, (a1+a2+a3+a4+a5) * 16384 endin </CsInstruments> <CsScore> ; Table #1, a sine wave. f 1 0 4096 10 1 ; Table #2. f 2 0 1024 19 0.5 0.5 270 0.5 ; Play Instrument #1 for three seconds. i1 0 0.5 i2 1 0.5 i3 1.5 0.5 i4 2.0 0.5 i5 2.5 0.5 </CsScore> </CsoundSynthesizer>
まだ、まだ、修正が必要。