blog.monophile.net

Takaaki Yamamoto

東京工業大学において計算機科学と応用数学を学び、 情報科学芸術大学院大学[IAMAS]においてメディア表現を専攻し修了。 digitiminimi Inc. において、インフラエンジニアとして生計をたててている。

各種環境の構築と管理を承ります。

  • 仮想環境: Openstack, GCP, AWS, Azure, ...
  • アプリケーション: WordPress, GitLab, Redmine, ...

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;
)