サブパッチ
配布するときに、1つのファイルにできて便利。
同じ名前でサブパッチをつくっても別のものになるので、一括で変更はできない。
外部パッチ
ファイルの扱いに慣れている場合に便利。
同じ名前の外部パッチは、1つ更新(上書き保存)すれば一括で変更できる。
前回もキーボードを作りましたが、同時にひとつの音しか出ませんでした。今回は、同時発音数を増やしたキーボードを作ります。和音が奏でられるので、一気に楽器のようになります。
上のパッチは、サブパッチでまとめた結果です。
以下では「pdws5-1-1.pd」をベースに、サブパッチ化していきます。
同時発音数を増やすには、音源となる「osc~」などの信号生成のオブジェクトを増やします。
ここではますサブパッチにしてみましょう。そのあと、外部パッチにもしてみます。
サブパッチに、まとめたいオブジェクトをカット&ペーストします。
もとのオブジェクトは削除します。
サブパッチに、[ inlet ]を2つと[ outlet~]を1つ追加します。
メインのパッチに戻り、できた「pd my_osc」サブパッチに、入力と出力をつなぎます。
サブパッチのウィンドウは閉じて構いません。
これでスッキリしました。
このままでは1音しか出ていないので、サブパッチをコピーして増やします。
このサンプルの場合「osc~」を含むサブパッチの個数が、同時発音数になります。
前回のパッチを活かしつつ、作ってみようと思いましたが、かなり変更になってしまいました。それでもうまくいっていません。前回、PCのキーボードで鍵盤を再現しようとすると、意外と難しいと説明しましたが、それがここに出ています。
うまくいっていない点
キーのダウンとアップが個別にできず、和音にしようとすると、最初にキーを同時押ししたときは和音にできますが、連打されたときに「キーアップ」を拾ってしまい、音が鳴り止んでしまいます。
このWSでは最終的にMIDIデバイスを作って楽器をつくるので、PCのキー入力は、仮のインターフェースと想定しています。なので、キー入力はこのあたりにしておきます。
外部パッチにするには、サブパッチのような内容を外部ファイルとして保存します。
このメリットは、外部パッチの中身を変更して上書き保存すると、一括で変更できます。どんなときに便利か、サブパッチを変更しながら解説します。
サブパッチを右クリックして「Open」してください。
同じ内容のサブパッチが開きますが、これらは独立したパッチとなっています。
ひとつのサブパッチを変更しても、他のサブパッチには反映されません。
たとえば、サブパッチの音色を変えるパラメータを変更してみます。
すると、ひとつの音色だけ変わって、他の音色は変わりません。
サブパッチのメリットもありますが、クライアントのリクエストでさっと音色を変えたい時など、これでは面倒です。そこで、外部パッチを作成してみます。
File > New
で、新しいパッチを作成します。
サブパッチと同じ内容をコピー&ペーストします。
名前をつけて、保存します。
このとき、メインのパッチと同じ階層になるように保存すると、外部パッチを呼び出しやすくなります。
すると、サブパッチを外部パッチの名前に変更するだけで、外部パッチを使うことができます。
外部パッチも、同じように右クリックでOpenできます。
サブパッチのときと同じように、音色のパラメータを適当に変えて、上書き保存します。保存するまで反映されないので、注意です。
すると、全ての音色が変わっていると思います。
Pdは線で結ぶプログラミングのため、見た目のゴチャゴチャ感が煩わしい時が多いですが、このサブパッチと外部パッチを使い分けることで、整理することができます。