カスタマイズされた言語(PureData / MaxMSP / ChucK)を使用した一般的なプログラミング言語(Python)の合成[終了]
質問
Pythonを学んでいるのは、数学者として魅力的であるだけでなく、科学計算、画像処理、Webアプリなどのための多くの有用なライブラリも持っているからです。
特定の興味(電子音楽やインスタレーションアート)について、Max / MSP、PureData、ChucKなど、これらの目的により適していると思われる非常に特定のプログラミング言語があり、それらはすべて非常に魅力的です。
私の質問は、これらの異なる言語にどのようにアプローチすべきかということです。単にPythonを学び、プラグインとPythonインタープリターを使用して他のPythonを管理する必要がありますか?言語を統合するための優れたツールがありますか、それとも単にそれらのすべてを学習する適切な方法はありますか?
解決
私はそれらをすべて学ぶと言うでしょう。多くの言語が多くのことを行うことができるのは事実ですが、特定のタスクでは通常、特殊な言語の方が表現力があり、使いやすいです。ケースインポイントは、ほとんどの言語がシェルとの対話とプロセス制御を許可している一方で、bashスクリプトほどタスクに適しているものはほとんどありません。
プラグインとライブラリは、一般的な言語と特殊な言語のギャップを埋めることができますが、私の経験では、速度、安定性、複雑さなど、常に欠点がないわけではありません。追加のライブラリをコンパイルしたり、パッチを適用したり、信頼できない、サポートが不十分なモジュールを使用したりすることは珍しくありません。また、結果のインターフェイスが元の言語よりも使いにくいことも珍しくありません。
私は15の言語についてよく知っており、そのうちのいくつかは非常によく知っています。別の言語がより適している場合は、優先する言語を使用しません。
他のヒント
このスレッドは少し古いですが、成熟したオーディオ開発環境の大部分、たとえばsupercollider / max-msp / pureデータは、オープンサウンドコントロールを介して制御できます。 OSCのより良い説明をグーグルで検索できますが、MIDIの動作と同様にこれらの環境で構築されたシンセに制御データを送信できると言うだけで十分ですが、方法はもっと豊富です。これは実際にpython自体でシンセを構築する問題を解決しませんが、「ドライブ」することができます。これらのその他の環境では、言語の内外を知る必要はありません。
Pythonからそのような特殊な言語への優れたインターフェースを構築することは完全に可能です。1つの例は RPy です。 、PythonからR(統計用)を駆動できます(あらゆる種類の汎用用)。
もちろん、両方の言語に精通している必要があります。残念ながら、そのような橋は、1つの汎用言語と1つの専用言語のすべての特定のペアに対して既に存在するわけではありません。 「すべてを学ぶ」ことは、それらすべてを使用したい場合、王道です!
Pythonは他の多くの言語とうまく機能するため、学ぶのに最適な言語です。それは、偉大な汎用言語と「接着剤」を作ります。言語。興味のある言語の学習に時間をかけ、柔軟性とパワーのためにPythonの知識を保持してください。本当に時間がない限り、すべてを学ぶことはお勧めしません。
PureDataには python拡張機能があることを知りたい場合があります。