見出し画像

Pd(Pure Data) 0からの勉強ノート #02 2024.05.24

Pd Recipe Book」を開いて、前回の続きから学習。
まずは基本部分は平和的だったのだけれど、今回は音の部分でシステム的な部分で(?)色々と苦戦しました。


今回の基本

オブジェクト(object)や、メッセージ(message)の解説をつらつらと読む。基本部分と音を作る部分を同時進行でやっていて、前回音の部分でとりあえずレシピ通りにやってみて、音は出たのだけれどmessageとobjectの違いやtoggleとbangの違いなど、意味を考えずにやっていたので、とてもなるほど感。

本に書いてあったパッチをなぞりつつ、付け加えたりしてみる

もちろん、言うほどまだ深くは解ってはいないのだけれど、なんとなくのイメージはできてきた、ような気はしました。
とりあえず、上のパッチで使ったオブジェクトと、気になったところを読みかじったメモ。

Pd Recipe Bookだけだとちょっと良くわからないところもあったので、ネットなどでも少し参照してみながら読んでみる。

オブジェクト Object
固定している装置みたいな感じで、実行モードでも変動しない(実際はnumberとかmessageをインレットに繋げていれば変動はするけれど)

ナンバー Number
実行モードで数値が変動させられる

メッセージボックス Message
クリックした時にその値(アーギュメント)が反映される
Messageを数個作って選んだりするイメージ

バン bang
突く。スイッチの亜種的な(本当のスイッチ機能はToggle)合図?キュー?

トグル Toggle
スイッチ。ON/OFF

コメント comment 
文字通り、コメント。メモをパッチの中に残せる。htmlとかでもメモ残せるような感じのもの。

スライダー slider
縦と横のスライダーがある

シンボル symbol
数値として認識しない文字列属性のもののオブジェクト。
数式もシンボル扱い。

他にもオブジェクトの属性で
float 実数
symbol 数値以外
list シンボルや数値の並び

そして、bang 

実際、使いながらじゃないと上手く飲み込んで理解できる気がしない。プログラミングなのに、なんか感覚を掴む的な感じ(それで良いのか?)

さて、今回の問題の音。途中までは良かったのですが、システム的?バージョン的にレシピ通りにいかない部分があり、一瞬心折れそうでした。
多分、昔の自分ならあの時点でPure Dataやめてたと思う(笑)

では、順を追ってメモ

今回最終的に動いたパッチ

前回の音を出すやつを発展させて、ステップシーケンサー的なものを作って音を出していくというパッチ。

例によってまずはレシピ通りに、意味は分からなくても進めてみる。

Arrayを作るけれど、今回は見た目を思い切り細長くする。

arrayの名前を今回のは「popo」

Xレンジ(横幅)のサイズを255にすることで、後に配置する16個のtoggleと同じ長さになるとのこと。

でしたが、僕の環境だと255だとtoggleの方が長い・・・

320で、丁度くらい?な感じでした。これは見た目の問題だと思うので、今はスルーしておいても大丈夫かな。

object unpack 0 0
(左アウトレットのみにtoggleを挟む)
number number
object tabwrite popo

array popo
toggle 16個
message $1 0〜15 16個

上のパッチを書いて、messageからtabwriteのオブジェクトに繋げる。
toggleにステップシーケンサーっぽく1,5,9,13拍目に色をつけてみる。

で、ここからがパニック。
次に、音を出す工程のパッチを書いていき、

「counter 0 0 15」とobjectを作る。
が、何やら様子がおかしい。普通ならテキストを打ち終えるとobjectの形になるのに、点線になっている。

そして、couldn't createとエラー表示。

どうやら、counterを動かすのにPd-extendedでは始めから実装されているライブラリがPd-vanilla(オリジナル)では入っておらず、自分で追加しないといけないとのこと。よくはわからないのだけれど、色々とライブラリがあり、どのライブラリがcounterを動かすのに必要なのか、わからないので調べる。

HelpのFind externalsという項目から検索かけて、選んで、インストールする。という流れだそう。

色々とネットで読んでみる。結構記事が古くてどれもextendedの記事が多い。Chat GTP先生にも、藁にすがる気持ちで聞いてみる。どうやら、「Gem」「Cyclone」「zexy」「libdir」というのがcounterに重要そうなライブラリだそうで、検索して入れてみる。
(というか、Chat GTP先生凄い。通常オブジェクトでの代替案まで教えてくれる。けれど今の僕には高度過ぎてさっぱり分からなかった笑)

しかし「libdir」は見つからない。もう開発していないのかな・・・。
ちょっと不安でしたが、他のを入れてみました。

で、Pdを再起動してみる。が、全然解決しない。

やっぱりlibdirなのかと、必死にlibdirを探すもみつからない。
でも、何かおかしい感じもして色々と弄ってみる。

インストールしただけでは動かない、昔のwindows PCのソフトを思い出し、Preferenceを開いてみると、何やらそれっぽいのを見つける。

Newを選ぶと、名前を自分で入力するような感じ。ディレクトリとかは特に出てこないけれど、自動なのかな?と、とりあえずインストール先にあるフォルダ名をコピペして貼る。
Startup flagsとか、ちょっと意味わからないけれど、どこかのページで書いてあったのをまた適当にコピペして貼ってみる。

再起動

counter、動かず。。。

詰んだかなぁ・・・。これだから、こういうバージョン違いのは嫌なんだ!と半ば諦めかけた時、横に「Path」という項目を見つける。

もしや、、ディレクトリ選択も手動か?
あたりでした。

とりあえず、さっきインストールしたライブラリ一つ一つのディレクトリを入れて、再起動。

すると、無事に「counter 0 0 15」がオブジェクト化して動いてくれました。

toggle
object metro 200(数値は任意)
bang
counter 0 0 15
number
object tabread popo
number
object sel 1
bang
object tabplay~ array1
dac~

というパッチを作り、前回の音を選んで、出すパッチをコピペして引っ張ってくる。

で、とりあえずステップシーケンサーみたいな感じでリズミカルに音が鳴りました。

metroや$1 数値を入れているmessageとか全然仕組みの意味がわからない状態ではあるけれど、なんとなく階段を一歩登れたような気分でした。

新しいエフェクター買ってきて、電源入れて音出して、フェーダーを弄ったら音が変わった!みたいな(笑)

とりあえず、めげないで良かった。

次も頑張ろう。

前回の記事:

この記事が参加している募集

#新生活をたのしく

47,919件

記事や、活動が面白いと思ってくださったら是非サポートお願いします。活動費に使わせていただきます!