Pure Data
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/01/04 09:25 UTC 版)
ナビゲーションに移動 検索に移動
![]() | |
![]() オブジェクト指向プログラミング音楽用言語 | |
開発元 | 原作者:ミラー・パケット |
---|---|
最新版 |
0.43.4 (Extended version:2013年1月25日) / 0.49-1 (Vanilla version:2018年10月25日) |
リポジトリ |
![]() |
プラットフォーム | クロスプラットフォーム |
ライセンス | BSDライセンス |
公式サイト |
puredata |
概要
Pd はその対象領域も設計も Puckette が以前(IRCAM在籍時)に開発した Max に似ており、Max の商用の後継である Max/MSP とある程度相互運用が可能である。Pd も Max も典型的なデータフロープログラミング言語である。グラフィカルな環境で関数や「オブジェクト」が相互にリンクされ、制御フローや音響の流れを表す。Pd では音声処理などもホストCPU上で行われる。これは、Max/FTS においてDSPボード(Ariel ISPW)に信号処理や合成を任せていたのと対照的である。Pd のコードは David Zicarelli による Max の MSP 拡張(ソフトウェア音声処理)のベースとなった。
Max と同様、Pd はソフトウェアで部品として利用できるモジュールコードベース(外部および内部)を備えている。拡張可能なAPIを備え、C言語で書かれた部品を流用したり、他の外部部品を活用することでPython、Ruby、Schemeなどの言語で書かれたモジュールも活用できる。ただし、Pd 自身もプログラミング言語である。Pd で書かれた流用可能なコードは「パッチ」または「アブストラクション」と呼ばれ、フリーなプログラムとして流通している。また、他のプログラミング言語の知識が無くとも Pd の利用には何の問題もない。
外部リンクの節には Pure Data の様々な外部モジュールがリストアップされている。GEM(Graphical Environment for MultiMedia)は他の外部モジュール(Pure Data Packet、PiDiPi、Framestein、GridFlow)のベースとなっていると同時に、OpenGL画像や動画のリアルタイム操作を可能としている。
また、Pd はネットワークやインターネット上での共同作業が可能であり、リアルタイムで遠隔にいる人々が共同で音楽を作成するといった利用が可能である。
Pd はデジタル信号処理ソフトウェアとして、44100 サンプル毎秒のサンプリング周波数と64サンプル毎に1ブロックの制御レートを実現している(いずれも設定の変更が可能である)。制御メッセージや音声信号は一般に画面の上から下に繋がっているオブジェクト間を流れていく。
フリーウェアであるため無料で利用できるが、商用のMax/MSPと比較すれば処理速度・機能面・安定性では劣ると評価されている。日本では、作曲家の美山千香士がPdを広めた先駆者として知られている。
言語機能
Pd は、アトム、メッセージ、オブジェクト、コメントという4種類の基本テキストをサポートする。
アトム
アトムとは、 Pd における基本データ単位のことで、浮動小数点数かシンボルか他のデータ構造へのポインタのいずれかである。なお、Pd では全ての数値は 32ビットの浮動小数点数である。入力データは、ファイルから読み込んだり、FireWire、USB、ネットワークなどから OpenSound Control (OSC) 経由で何らかのオーディオボードやMIDIを読み込んだり、その場で生成したりする。結果をテーブルに保持して、それを新たな入力に使用することもできる。
メッセージ
メッセージとは、1つ以上のアトムから構成され、オブジェクトへの命令として働く。中身のない特別なメッセージを bang と呼び、データの流れを開始させるスタートボタンのような役目を持っている。
オブジェクト
Pd の基本オブジェクトは、算術演算、論理演算、ビット演算といった通常のプログラミング言語にある演算子のようなものから、波形発信器や高速フーリエ変換や各種デジタルフィルタなどの音声処理DSP機能に特化したもの(チルダ(~)が付いていて区別される)まである。
- 1 Pure Dataとは
- 2 Pure Dataの概要
- 3 データ構造
- 4 参考文献
固有名詞の分類
オープンソース |
KMines GNU Octave Pure Data Conary Window Maker |
フリーソフトウェア |
KMines GNU Octave Pure Data Netscapeシリーズ Doxygen |
プログラミング言語 |
GNU Octave マクロ言語 Pure Data MHEG-5 Common Lisp |
音声処理ソフト |
Monkey''s Audio おんかいくん Pure Data オートチューン UTAU |
- Pure Dataのページへのリンク