ChucK入門 #11 ループ素材をカットしてみる

ひさびさのChucK。SndBufを使うとループ素材を簡単にカットしてつなぎかえることもできるはず、なのでやってみた。

SndBuf l1;
"c:/temp/amen.wav" => l1.read;
1 => l1.loop;
 
l1 => dac;
l1.samples() => int full;
8 => int breaks;
full / breaks => int offset;
 
while (true) {
    Std.rand2(0, breaks-1) => int ps;
    <<< ps >>>;
    ps * offset => l1.pos;
    offset::samp => now;
}

http://gist.github.com/188928

ファイル名のとおり、まずはアーメンでやってみる・・・↓

Download

これ、素材のサンプル数を単純に8で割ったり16で割ったりしてつないでいるだけなので揺らぎの要素にまったく対応していないからですね。定番のアーメンは揺らいでいる、ということです(当たり前か)。

ということで、もっと機械的なループで同じことをしてみるとこんな感じ↓

Download

これはうまくはいくのですが素材つくりとしてはうまくいってない感じですね。

実際にはサンプルのオフセットをキレイに8/16で割るという方法ではなくて、ゲインを解析するという方法を採るなどする必要がありそうです(Recycle!なんかの方法)