Thursday, May 29, 2014

第7回データの格納と呼び出し

今回はデータを格納(記憶)して好きなタイミングで呼び出すためのいろいろな方法について学びます。
地味目のトピックですが、パッチでの設定値を一気に変えたり、データのセットを記憶するのはとても便利です。


以下のファイルをダウンロードして解凍してください。

pd_lesson07.zip

パッチの初期設定を行なう

pd_lesson07_datastore01.pdを開いてください。

題材となるパッチは簡単なFMシンセシスのパッチです。
このパッチでは、メッセージボックスから複数の[receive]オブジェクトに向かってデータを送ります。パッチを開くと、[loadbang]が接続している左のメッセージボックスの数値が送られます。
その他のメッセージボックスをクリックすると、設定値が送られて音が瞬時に変わります。

設定から設定に音を滑らかに変化させる

pd_lesson07_datastore02.pdを開いてください。

設定値から別の設定値まで滑らかに数値が変化するようにしました。[line]を使っています。現在の設定値から500ミリ秒かけて目的の数値へ変化していきます。
しかし、よく聞くと少しプチノイズが発生しています。
これは[line]を使って滑らかにしていると言っても、DSPでの処理ではないので処理速度が遅く、[osc~]の周波数の変更のために入力される数値は飛び飛びだからです。

より滑らかに音を変化させる

pd_lesson07_datastore03.pdを開いてください。

そこで今度は[line~]を使います。先ほどのパッチと比べれば聴こえる音がより滑らかに変化しているのに気づくと思います。

変化する時間も設定する

pd_lesson07_datastore04.pdを開いてください。

さらに設定が変化するのにかかる時間を設定しました。[pack]は複数の数値入力を合わせて「200 500」のようなリストを出力します。

もう少し簡単に格納と呼び出しをする

pd_lesson07_datastore05.pdを開いてください。

このメッセージボックスを使う方法で設定するのも良いのですが、いちいち設定値の送り先の名前「michio」や「takashi」などをくり返し書かなくてはいけません。
それを簡単にするのが[coll]です。
[coll]には好きな名前をつけられます。
[1 200 500 100 3000 160 600(のメッセージボックスをクリックすると、[coll]にデータが見出し番号付きで格納されます。リストの先頭のデータが見出し番号になります。
呼び出すときは、その見出し番号だけを送ってあげれば、指定した1行のデータが出力されます。

呼び出す時に加工する

pd_lesson07_datastore06.pdを開いてください。

[coll]を使っていて良いことは、データを格納する時も出力する時もリストであるという点です。リストであると扱いやすくなります。
例えば、リストを生成するようなアルゴリズムを作れば、設定値の自動生成もできます。
また、出力する段になって数字の順序を入れ替えたりするアルゴリズムを通すこともできます。
このパッチでは、[gate 3]を設置している。そのまま処理をする1番左の箱に加えて、リストの前後を入れ替えるのが2番目の出力であす。
3番目の出力はリストを2個の数値のペアずつに分け、それぞれの前後を入れ替えてから送る数値のリストを作成しています。
[zl]はリストを加工するオブジェクトです。

中間発表のカウンセリング


No comments:

Post a Comment