January 31, 2006

キック!

Written by yosuke hayashi | Max/MSP+Jitter , Synthesis

mixiにコミュニティもできたところで、僕の第二回です。
第二回目、ということで何をしましょうか。
とりあえずキックでも作りますか。
DSPとなるとやっぱFFTとかグラニュラとか
難しいやつにいきがちなので、意外とこういうものを
作るテクニックが見つからなかったりします。
とりあえずSuperCollider3で作ります。

(
SynthDef("kick", {
var src, env;
src = SinOsc.ar(XLine.kr(200, 80, 0.1));
env = EnvGen.ar(Env.new([0,1,0],[0.005,0.1],'linear'),doneAction:2);
Out.ar(0,(Pan2.ar(src*env, 0)));
}).send(s);
)

a = Synth("kick")

僕の場合、基本的には
音源波形を作り出すオシレータ
振幅を制御するエンヴェロープ
必要ならフィルタ
という三つの要素で考えています。

このソースで何をしているかというと、
サイン波の周波数を200Hzから80Hzに100ミリ秒で変化させ、
振幅を0から1まで5ミリ秒、1から0まで100ミリ秒で変化させています。

Max/MSPだとこうなります。tecm.jpg

で、ここからが本題と言うか何と言うか、このパッチのままでも、周波数の値を変えるとか、振幅の時間変化の割合を変えるとか、色々できることがあります。
他にもSinOsc.arをSaw.ar(ノコギリ波)に変えてみる(全然キックじゃなくなりますが)とか、フィルタをかけてみるとか、どんどん拡張していってもいいでしょう。
要はオシレータ、エンヴェロープ、フィルタという構造をおさえることで、それさえできればSuperColliderやMax/MSPに限らずシンセシス全般に幅広く適用できるので、
ますます世界が広がりますね!

関連記事




次の記事

Feb 10, 06
 OpenSoundControl(以下OSC)は、アプリケーション間、ハードウェア間をUDP/IP通信でコミュニケーションするためのプロトコルです。 ....

前の記事

Jan 30, 06
Written by Satoshi HORII |
techNote.内の記事に関係のあるウェブページへのリンク集 (随時更新しています)...