blog.monophile.net

Takaaki Yamamoto

東京工業大学において計算機科学と応用数学を学び、情報科学芸術大学院大学[IAMAS]においてメディア表現を専攻し修了。 現在は digitiminimi Inc. において、インフラエンジニアとして生計をたててている。 また、計算を主題に制作を行い、現代音楽作品や公共インスタレーション作品など技術提供を行う。 三輪眞弘に師事する。

List

supercolliderでnodeIdを指定してGroupを使う

SuperColliderで音を自動生成するのは意外と簡単ですが、 生成したあとに音を変化させるほうが結構難しい。 多数の音を一括で変更するためにGroupという機能を使ってみます。

code

id:100のGroupインスタンスによって、 [110,220,440,880,1760]という周波数のサイン波を一括で440[Hz] に変更するには以下のように書けば良いみたいです。

(
  SynthDef(\testSin
    , { | freq=440 |
    Out.ar(0,SinOsc.ar(freq.dup, 0, 0.2))
  }).add;

  ~id = 100;
  g = Group.basicNew(s,id);
  g.server.sendMsg(*g.newMsg);
  [110,220,440,880,1760].do(
    { |freq| Synth(\testSin, [\freq, freq], g) });
  g.set(\freq, 440);
  g.free;
)