Skip to content

Pure Data キーワード一覧

Pdパッチで使用するオブジェクトやコマンドのリファレンスです。

基本操作

操作ショートカット
オブジェクトの配置Cmd (Ctrl) + 1
メッセージの配置Cmd (Ctrl) + 2
ナンバーの配置Cmd (Ctrl) + 3
シンボルの配置Cmd (Ctrl) + 4
コメントの配置Cmd (Ctrl) + 5
編集/実行モードの切替Cmd (Ctrl) + E
表示の拡大Cmd (Ctrl) + Shift + ;
一時的な実行モードCmd (Ctrl) 押しっぱなし
ヘルプブラウザCmd (Ctrl) + B
bangの配置Shift + Cmd (Ctrl) + B
toggleの配置Shift + Cmd (Ctrl) + T
水平スライダの配置Shift + Cmd (Ctrl) + J
配列の配置Cmd + Shift + A
オブジェクトの削除選択 → Backspace
オブジェクトのヘルプ(使い方)オブジェクトを右クリック → ヘルプ
オブジェクト一覧の表示余白を右クリック → ヘルプ

基本概念

用語意味
パッチPdのプログラムファイル
インレットオブジェクトの上側にあるデータの入力場所
アウトレットオブジェクトの下側にあるデータの出力場所。インレットとアウトレットを線でつなぐとデータがやり取りされる
数値や文字列のこと。インレットとアウトレットの間は細い実線で表される
シグナルオーディオ信号をはじめとする連続データ。インレットとアウトレットの間は太い実線で表される
メッセージあらかじめ用意した文字列や数値。メッセージ内に $1 を入れると、インレットから入力された値に置き換えて出力する
ナンバー数値をリアルタイムに表示・入力するGUI
シンボル文字列を表示するGUI
配列オーディオデータなどを格納する場所
DSPシグナルのリアルタイム演算処理。コンソール右上のチェックボックスをONにするか、オーディオ出力のボリュームを上げると処理が始まる

音の生成

オブジェクト説明使い方
osc~正弦波オシレーター[osc~ 周波数]
phasor~ノコギリ波[phasor~ 周波数]
noise~ホワイトノイズ[noise~]
else/tri~三角波(ELSEライブラリ)[else/tri~ 周波数]
else/square~矩形波(ELSEライブラリ)[else/square~ 周波数]

オーディオ入出力

オブジェクト説明使い方
output~オーディオ出力level 値 メッセージで音量設定
else/out~オーディオ出力(DSP ON/OFFスイッチ付)ELSEライブラリ
dac~デジタル-アナログ変換(オーディオ出力)[dac~ チャンネル番号]
adc~アナログ-デジタル変換(オーディオ入力)[adc~]

音量・エンベロープ

オブジェクト説明使い方
*~シグナルの乗算(音量制御に使用)シグナル × シグナル or 数値
line~値の自動変化(シグナル)[目標値 時間(ms)] のメッセージ
vline~連続的な値変化[値1 時間1, 値2 時間2 開始時間, ...]
delay一定時間後にbang出力[delay 時間(ms)]
else/asr~ASRエンベロープELSEライブラリ
else/adsr~ADSRエンベロープELSEライブラリ
else/envgen~自由なエンベロープ[else/envgen~ -curve]

演算

オブジェクト説明使い方
+, -, *, /四則演算(値)[+ 数値]
expr数式で計算[expr $f1 * 2 + $f2]
mtofMIDIノート→周波数(Hz)変換中央ドが60

データのルーティング

オブジェクト説明使い方
s (send)値の送信[s 宛先名]
r (receive)値の受信[r 宛先名]
sel値の振り分け[sel 値1 値2 ...](一番右のアウトレットは、一致しなかった値をそのまま出力)
route最初の値で振り分け[route アドレス1 アドレス2]
change値が変化した時だけ出力[change]
t (trigger)右→左の順に値を送る[t f b] (f:数値, b:bang, a:文字列)

フィルタ

オブジェクト説明使い方
lop~ローパスフィルタ[lop~ カットオフ周波数]
hip~ハイパスフィルタ[hip~ カットオフ周波数]
bp~バンドパスフィルタ中央:カットオフ, 右:Q値

フィルタの注意点

  • lop~ 以外は右インレットに vline~ のアウトレットを直接接続できません
  • 値(細い線)とシグナル(太い線)の違いに注意してください

ディレイ

オブジェクト説明使い方
delwrite~ディレイバッファへの書き込み[delwrite~ $0-delay バッファサイズ(ms)]
delread~ディレイバッファからの読み出し[delread~ $0-delay 遅延時間(ms)]
cyclone/delay~ディレイ(cycloneライブラリ)cycloneライブラリ

$0 について

$0 はPdのパッチそれぞれに割り当てられたID番号です。$0-delay のようにバッファ名に使うと、パッチを複製した際の名前の衝突を防げます。

シグナルと値の変換

オブジェクト説明使い方
sig~値→シグナル変換[sig~]
snapshot~シグナル→値変換bangが来た時のシグナル値を出力
metro定期的にbang出力[metro 周期(ms)]
else/s2f~シグナル→値(自動)bangなしで常時出力
else/f2s~値→シグナルELSEライブラリ
else/numbox~シグナル値の表示表示用GUI

DSPに注意

シグナル関連のオブジェクトは、DSPをオンにしないと動作しません。コンソール右上のチェックボックスをONにするか、output~ のボリュームを上げてください。

音源ファイル処理

オブジェクト説明使い方
else/play.file~音源ファイルの再生[else/play.file~ ファイル名 ループ(0/1) 自動再生(0/1)]start/stop/loop 1 メッセージで再生・停止・ループ
else/stretch.shift~ピッチシフト・タイムストレッチ[else/stretch.shift~ バッファサイズ 初期ピッチ 初期テンポ]。ピッチ: 0=元, 1200=1oct(左から3番目のインレット)/テンポ: 100=元(%)(左から4番目のインレット)
else/xselect~クロスフェード切り替え[else/xselect~ チャンネル数 フェード時間(ms)]。左インレットにチャンネル番号(0, 1, 2…)を入力すると切り替わる
else/xfade~クロスフェードELSEライブラリ
else/rec.file~録音[else/rec.file~ ファイル名]。ファイルはパッチと同じ場所に保存される
soundfilerwavデータを配列に読み込みread ファイル名 配列名
tabplay~配列のオーディオ再生[tabplay~ 配列名]
.wav非圧縮音源のファイル形式サンプル音源などに使用

自動演奏

オブジェクト説明使い方
text defineテキストデータの定義[text define -k ファイル名]。実行モードでクリックするとテキストを編集・保存(Cmd (Ctrl) + S)できる
text sequenceテキストの順次送出(宛先 値;[text sequence 名前 -g], auto:自動, bang:1ステップ, line 0:先頭へ
else/drum.seqリズムマシンGUI。bangで1ステップずつ再生[else/drum.seq 行数 列数][行番号 on(1)/off(0)] 形式の値リストを出力
else/tempoBPMテンポ出力[else/tempo BPM -mul 倍数]
randomランダム整数出力[random 最大値]

micro:bit連携(OSC)

オブジェクト説明使い方
else/osc.receiveOSCデータ受信[else/osc.receive ポート番号]
else/osc.routeOSCアドレスで振り分け[else/osc.route /アドレス1 /アドレス2]
netreceiveネットワーク経由のデータ受信[netreceive -u -b ポート番号]-u:UDP, -b:バイナリ)
oscparseOSCプロトコルに基づいてデータを解析netreceive の出力を解析。[アドレス 値] のリストを出力
list trimリストの先頭セレクタを外すoscparse が出力した [アドレス 値]route 等で扱えるようにする
list複数の値やシンボルを束ねる[list]
cyclone/scale値のマッピング[scale 入力min 入力max 出力min 出力max]
clip値のクリッピング[clip 下限 上限]
else/smooth~平滑化(シグナル)ELSEライブラリ

GUI

オブジェクト説明操作
bangトリガー送信クリックで送信
toggle0/1切り替えクリックで切替
ナンバーボックス数値表示・入力ドラッグで値変更
水平スライダ値の連続入力右クリック→プロパティで上限・下限設定
V. Radio縦に並んだラジオボタン。クリックすると選択中のインデックス(0〜スイッチ数−1)を出力する。画面右の Options からスイッチ数を変更可能Put > New > V. Radio で配置。選択状態で画面右 Options からスイッチ数を変更

その他

オブジェクト説明使い方
printコンソールに表示デバッグ用
comportシリアル通信[comport デバイス番号 ボーレート]
pd サブパッチ名サブパッチパッチ内にサブパッチを作成
clone パッチ名パッチの複製同じパッチを複数生成

豆知識

ウェーバー・フェヒナーの法則

人間の主観的な感覚量は物理量の対数に比例するという法則。音量の変化を自然に感じさせるには、音量値を4乗するとよい。

楽音の構造

楽器のような音は、基音(一番低い音)とその正数倍の倍音が合成された構造を持つ。osc~ を複数組み合わせることで、さまざまな音色を作ることができる(加算合成)。