いらないモノ、ひつようなモノ

書籍、音楽、そして若干のテクノロジー

サイショノガッキ

世の中には色々な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>