ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

SuperCollider 3コミュのsclang 書き方の質問

  • mixiチェック
  • このエントリーをはてなブックマークに追加

コメント(2)

さっそく質問させてください。

いまベースギターのような、
エンベロープ(持続時間)の長い
かつ
パーカッションの(立ち上がりにインパクトのある)
音を作ろうとしています。
そこで
(
 SynthDef(\singain, {|freq=200, amp=0.02, sustain=100|
  var sig;
  sig = SinOsc.ar(freq, 0, amp)
    * EnvGen.kr(Env.perc(0.01, sustain), doneAction:2);
  Out.ar(0, sig ! 2);
 }).send(s);
 r = Routine({
  loop {
   Synth(\singrain).play;
   1.yield;
  }
 });
 r.play;
)
のようなコードを書いたのですが、
loop で \singrain が叩かれるたびに
前の音に上乗せして音が大きくなってしまいます。
そしてなぜか(波長の整数倍にならないのか)
音が大きくなったり小さくなったりします。

行いたいことは、1本の弦を鳴らしているように、
\singrain を叩くたびに前回の \singrain を停止して
同じ音の大きさで鳴らしたい、ということです。

これはどのようにすれば良いでしょうか?
よろしくお願いいたします。
loop内で、前回の音を開放してやればOKですね。
だいぶ前の書き込みなんで、もう解決してるかな…

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

SuperCollider 3 更新情報

SuperCollider 3のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。