2004年03月28日

黄金律の音を聴く〜自動生成するメロディ (14号 22.5.01

まだまだ続く、fibonacciですが、しばらく前にお知らせしたとおりhi sto objectを使用したサブパッチを紹介しようと思います。このサブパ ッチはよく演奏された音程を選んで、自動的に演奏をさせようというも ので、「多く演奏された音程を選んで演奏すれば、ランダムに演奏する ことによる無調状態を脱却して曲にトーナリティを与えよう」というも くろみのうちに考えついたものです

それでは最初にhisto objectの概要について。
histo objectはかんたんなヒストグラムの役割をするオブジェクトです。 第一インレットでうけたデーター別の回数を記録できます。そして第二 インレットでそのデーターを入力すれば、データーの回数とを得ること ができるのである。

第一インレット:データー、clearによって記録を消去する。
第二インレット:データーの呼び出し

第一アウトレット:呼び出されたデーター名
第二アウトレット:呼び出されたデーターの記録された回数

書式 [histo N] で記録する回数の幅を設定する。入力のない場合は 128(1から127)の初期状態となる。
----
だいたいこんな感じのhisto objectですが、目標は「よく演奏された音 程で演奏」ですから、第二アウトレットで回数を掃き出すのですから、 ここで、認識をしていくつ以上なら、第一アウトレットから掃き出され たデーターを行くようにすれば良いわけです。 具体的に言うならば、第一、第二インレットのデーターがリアルタイム に常に同じであれば、第一アウトレットにはインレットで受けたデータ ーと同じデーターとなるので、以下のようにたこ足になっています。
 
[gate]

[histo]

ちょいと辛いですが、詳しくはパッチをダウンロードしてもらえるとわ かりやすいんですが、( アドレスはあとに記します)要はたこ足。
そして、histo objectの第二アウトレット直後の[> 8]でさらにその下の gateを開き、下のほうにある[coll]にデータが収納されるようになってい る。ここまでが記録する過程の動作です。
しかし、これだけでは演奏するところまできていない。このままではただ ひたすら[coll]にデーターをため込むことになるだけです。そこで、「何 回か決まった数のデーターを[coll]に記録されたら、演奏をしはじめる。」 という動作を考えなくてはなりません。そのために[coll]の上にある [counter 0 0 7]と[gate]の組み合わせがその中心です。 そして左上方の [metro 1000]で[coll]をbangして決まった数、収納されたデーターを掃き 出すことになります。(この場合は8つです→counterの最後のアーギュメ ント)
また、このままではひたすら、データーを掃き出しつづけるので、下方の [counter 0 0 28]と[gate]で決められた回数で停止するようにしました。
ここまでやってきて、問題があることに気づきました?そう、ただひたす ら、このサブパッチが作動すると、[histo]で決められた回数以上のデータ ーがたくさんになり、意味がなくなるのでは?ということだけでなく、 [coll]の記録されたデーターも始終変わりっぱなしで、不安定になるでは ないか。そこで、記録→演奏という2つのフェーズを分けることで解消する ことにした。[s gate],[r gate]でつながる2組によって、このフェーズを 分けている。さらに記録フェーズが終わるときに[histo]の記録を消去する ようにした。要は2つの[gate]の開け閉めでやっているのですが、やはり、 実際にパッチをみて確かめてもらえると一番わかりやすいと思います。
ということで、また次回。 次回はきっと、フィルター関連で行こうと思いますが、 いつもながらのケセラセラ〜。

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









Remember personal info?