PureData
https://nicholasbuer.files.wordpress.com/2008/02/pd123.jpg
元々Maxの源流となるPatcherというソフトウェアから派生してできたOSSがPdで、Maxの信号処理(MSP)はPdをベースに作られたもの
Miller Pucketteが開発
信号処理部分はC、グラフィックなどアプリケーション部分はtcl/tkで書かれている
2016年頃までは第三者が開発した拡張オブジェクト(external)を多数標準搭載したPd-extendedというバージョンが主流だったが、管理しきれなくなったため開発が止まる
その後、拡張機能マネージャdekenがオリジナル版(Vanilla)に搭載され、必要な機能を必要なだけインストールする形でこちらが主流で使われるように
Pd-extendedからさらに派生した、グラフィックをWebベースの技術で再構成したPurr-dataというのもある JUCE(Max5以降のGUIフロントエンドにも使われているオーディオアプリケーション向けフレームワーク)でGUIを再構成したplugdata というのもある 実際のところMaxの方が様々な面でユーザビリティが高いとはいえ、いくつかの点でPdのメリットもある
サブパッチ(ひとつのパッチをオブジェクトとして再利用する、汎用言語における関数のような役割)の単位でアップサンプリング/ダウンサンプリングが可能である
data structuresという、Pdのセマンティクスの中で新しいGUIを構築することが可能な機能がある
ただしデータフロー言語なのにpointerなるオブジェクトを利用する必要があったりとだいぶ難解
libPdという形で、アプリケーションのサウンドエンジンとして埋め込むことも可能(iPhoneやAndroidでも動かせる)
Heavyというトランスパイラを使うとC++コードに直接変換することも可能 ただし開発元の会社が倒産したため開発が停止している