サイショノガッキ
世の中には色々なtutorialがあるけども音が出せてもその後マニュアルを見つつ、何か作ろうとしても半歩進めてもその後が進めなかった。それは根本を理解していないためだと思った。いくらポツリポツリとOPCODEをイジクリ回してもまったく、関連性やその良さがわからん!いっくらcsoundメーリングリストから何かを書き出しても「小」知恵がつくだけで、何も曲作りに反映されない!
で、翻り「シンセサイザを使って音を作り、最後にその音をエフェクタをかけて音を聞く」というのが、最もシンプルな音作りのプロセスとすると、その過程になぞりつつcsoundを見てゆくことで、csoundの基本機能を把握し、概念的にcsoundのどこが一般的なシンセサイザと違うのか、何が面白いのかを理解するために色々試したことを、脳味噌が腐りつつある自分のために備忘的に書き記す。嘘と偏見に満ち満ちていても知りません。なにせまだ、初心者なのだから。当然語尾もメチャメチャ!
<CsoundSynthesizer> <CsOptions> ;実行時のコマンドラインオプションの次に優先度の高いOption -W -o studien1.wav ;-WでWAVフォーマットの出力 ;-oオプションで出力するファイル名をstudien1.wavとする </CsOptions> <CsScore> f1 0 65536 10 1 ;普通のサイン波 f2 0 65536 10 1 0.5 ;倍音の振幅を半分にして重ね合わせたサイン波 f3 0 65536 10 1 0.5 0.1 ;さらに3倍音の振幅を1/10にして重ね合わせたサイン波 f4 0 65536 10 1 0.5 0.25 0.125 ;推して知るべし! f5 0 4096 10 1 .5 .333 .25 .2 .167 .1428 .125 .111 .1 .0909 .0833 .0769 .0714 .0667 .0625 ; SAW t 0 120 ; p1 p2 p3 p4 p5 ;instr stat dur amp pitch i3.1 0 2.0 5000 8.04 ;楽器3の1つ目のインスタンスで0(beat)後から2(beat)間ミの音 i3.1 1 3.0 5000 8.07 ;楽器3の1つ目のインスタンスで1(beat)後から3(beat)間ソの音 i3.1 2 3.0 5000 8.09 ;楽器3の1つ目のインスタンスで2(beat)後から3(beat)間ラの音 i3.1 3 5.0 5000 8.02 ;楽器3の1つ目のインスタンスで3(beat)後から5(beat)間レの音 i3.1 4 6.0 5000 8.00 ;楽器3の1つ目のインスタンスで4(beat)後から6(beat)間ドの音 i3.1 8 3.0 5000 8.11 ;楽器3の1つ目のインスタンスで8(beat)後から3(beat)間シの音 e </CsScore> <CsInstruments> sr = 44100 kr = 4410 ksmps = 10 nchnls = 2 ; 2チャンネルでステレオ instr 3 idur = p3 ; 音の長さ(Duration) iamp = p4 ; 音の大きさ(Amplitude) ifqc = cpspch(p5) ; 音の高さ、ピッチ(pitch)から周波数(frequency)へ変換 iatt1_lv = 0.3 ; p6 iatt2_lv = 1.0 ; p7 iatt1_tm = 0.3 ; アタックタイム1(p8) iatt2_tm = 0.1 ; アタックタイム2(p9) idec_tm = 0.2 ; ディケイタイム(p10) isus_tm = p3-(iatt1_tm+iatt2_tm-idec_tm) irel_tm = 10.0 ; リリースタイム(p11) isus_lv = 0.8 ; Sustain level(p12) kenv linseg \ 0.00, \ ;level(y)0から始まって iatt1_tm, iatt1_lv, \ ;iatt1_tm秒間で0.3まで増加 iatt2_tm, iatt2_lv, \ ;iatt2_tm秒間で1.0まで増加 idec_tm, isus_lv, \ ;idec_tm秒間でisus_lvまで減少 isus_tm, isus_lv, \ ;isus_tm秒間isus_lvを維持 irel_tm, 0.00 \ ;irel_tm秒間で0まで減少 p3 = p3+irel_tm k1 oscil 10, 5, 1 ;振幅は10、周波数は5(Hz)、波形はファンクションテーブル1、、この例では「普通のサイン波」 k2 oscil 5, 2, 2 ;振幅は5、周波数は2(Hz)、波形はファンクションテーブル5、、この例では「重ね合わせたサイン波」 asig oscil p4*kenv, cpspch(p5)+k1*kenv+k2, 4 arev reverb asig, 1.0 ; 2 second reverb adly delay asig, 0.05, 0 ;out arev+asig+adly, arev+asig+adly ;out asig, asig ;out asig+adly, asig+adly out asig+arev*0.2, asig+arev*0.2 endin </CsInstruments> </CsoundSynthesizer>