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
オブジェクトのヘルプ右クリック → ヘルプ

音の生成

オブジェクト説明使い方
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)]
else/stretch.shift~ピッチシフト・タイムストレッチピッチ: 0=元, 1200=1oct, テンポ: 100=元
else/xselect~クロスフェード切り替え[else/xselect~ チャンネル数 フェード時間(ms)]
else/xfade~クロスフェードELSEライブラリ
else/rec.file~録音[else/rec.file~ ファイル名]
soundfilerwavデータを配列に読み込みread ファイル名 配列名
tabplay~配列のオーディオ再生[tabplay~ 配列名]

自動演奏

オブジェクト説明使い方
text defineテキストデータの定義[text define -k ファイル名]
text sequenceテキストの順次出力auto:自動, bang:1ステップ, line 0:先頭へ
else/drum.seqリズムマシンGUI[else/drum.seq 行数 列数]
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]
cyclone/scale値のマッピング[scale 入力min 入力max 出力min 出力max]
clip値のクリッピング[clip 下限 上限]
else/smooth~平滑化(シグナル)ELSEライブラリ

GUI

オブジェクト説明操作
bangトリガー送信クリックで送信
toggle0/1切り替えクリックで切替
ナンバーボックス数値表示・入力ドラッグで値変更
水平スライダ値の連続入力右クリック→プロパティで上限・下限設定

その他

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

豆知識

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

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

楽音の構造

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