2004年03月28日

黄金律の音を聴く〜音列を発生する〜 (10号 7.4.01)

前回に引き続きfibonacci数列を音楽にするというパッチ作りの続きで す。前回、ファンクションの横軸の長さを決めるsetdomain #という形 のメッセージをどのようにNを変数にするかですが、それは「prepend」 を使用することで、解決しました。*~に「append」で0,をあたえれば、 ノートの区切りに必ず、音量が0になるので、これでも、ぶつぶつと、 音が途切れることがなくなりました。
ところで、前回のシンセ作りというのが、中途半端なままに今回は「c ounter」オブジェクトについての話になってしまいました。これも、単 に思いつきで進行させているせいだということで、お許しを。
そのまえに、アナログ・シンセなどでおなじみのポルタメントという効 果がありますが、これは「append」に音程の変わる時間を加えて、「li ne」に送ることで再現できます。この辺が、唯一、音源関係でいじった ところです。

■決まった音列を繰り返す counter object

さて、前回までの段階ではただ、発生した音程をランダムにつなげるだ けで、音楽にはほど遠かったのですが、それは、つまり、発音のタイミ ングがなんの法則も、もっていなかったせいであります。つまり、これ を作曲というのでしょうが、楽譜に書いたり、或いはMIDI dataにすると いった手段を使わずにやっていくことはできないものでしょうか?
そこで思いついたのが、counter objectなのですが、まずは概要を。

○counter object

第一インレット:bangで回数をカウント
jam # ;カウント結果を#へジャンプする。
set # ;カウント結果を次のbangで#へ移動する。
goto# ; setと同様。         
min#,max# ;最低最高値を決定。
up,down,updown ;最低値と最高値の間の動きの方向を決定。
第二インレット:menuでup,down,updownなどの動きの方向を決定。
第三インレット:次のbangでリセット、カウント値を変更。
第四インレット:直ちにリセット、カウント値を変更。
第五インレット:最高値を決定。

第一アウトレット:カウント値
第二アウトレット:underflowの時に掃き出す
第三アウトレット:一巡すると掃き出す。
第四アウトレット:一巡した回数。

といった具合にかなり多機能であります。つまりは決められた数の間を 行ったり来たりすることができるのであります。さらに瞬時に特定の数 にもたどりつくことができるし、「何回か、これを繰り返したら、違う ことをしよう」的にシーンの切り替えができます。(第四アウトレット)
ということで、今回のパッチの中ではサブパッチ「raandomize1,2,3」で 2つのcounter objectを使用しています。一つめは決められた数列を順 序正しく昇降させるために使用しています。ある回数繰り返すと、「ran dom」を使用したランダムな音列へ切り替わるようになっています。もう 一つはそのランダムな音列を元へ戻すためのものです。この2つは「gat e」で切り替えているのですが、これも「random」を使って、出現確率を 揺るがしています。
聴いてもらえば解りますが、前回よりはだいぶ音楽的になりましたが、 今回は音列についてだけでした。もう一つの大切なこと、発音のタイミ ングについては次回にすることにします。

Posted by com4jai at 2004年03月28日 21:20
Comments
Post a comment









Remember personal info?