Ubuntu8.04 【SuperCollider PartConv】サンプリングリヴァーブ

2011-06-21 00:39:59 | 電脳
Convolution Reverb、畳み込みリヴァーブ。録音された残響情報(インパルス・レスポンス・データ=IRデータ)を元に、その残響を忠実にシミュレートするリバーブ。

以下のマニュアルを参照した。
http://kymatica.com/scdoc_demo/Classes/PartConv.html

またフリーのIRデータは以下にあり。
http://www.xs4all.nl/~fokkie/IR.htm

前もって{}.fork;でIRデータの下処理が必要。マニュアルのコードを整理し、OSCでPureDataからコントロールできるようにした筆者のコードは以下のとおり。OSCresponderで下処理。SynthDefで畳み込みリヴァーブを立ち上げる。

r=OSCresponderNode(nil, "s_irr",{
arg time,responder,msg;
~irspectrum.free;
currentEnvironment.clear;
{
var ir, irbuffer, bufsize;
irbuffer= Buffer.read(s, "/home/yk/Desktop/ir/Factory.wav");
s.sync;
bufsize= PartConv.calcBufSize(2048, irbuffer);
~irspectrum= Buffer.alloc(s, bufsize, 1, bufnum:76);
~irspectrum.preparePartConv(irbuffer, 2048);
s.sync;
irbuffer.free;
}.fork;
}).add;

SynthDef("reverb",{
var input;
arg mix = 0.5;
input = In.ar(17);
Out.ar(30, (PartConv.ar(input, 2048, 76)) * mix);
}).load(s);

------
環境 Ubuntu 8.04 [WUBIインストール]
* デスクトップ環境を Xfce に置き換え(Xubuntu)
* RTカーネルを導入 2.6.24-29-rt
* SuperCollider Versin 3.4.2 + SC3pulgins + quarks
* PureData extended Version 0.42.5
------

最新の画像もっと見る

コメントを投稿