OpenMusic

OpenMusic（オープンミュージック）は、コンピュータ支援作曲を目的とし、CLOSをベースに開発されたビジュアルプログラミング言語である。また、LISPによるプログラミングの開発環境として音楽に限らず多目的に使うことも可能である。
1990年代より、IRCAMにおいてジェラール・アサヤグ、カルロス・アゴン、ジャン・ブレッソンらによって開発が主導されてきた。GNU GPL v3のライセンスに準拠したオープンソースプロジェクトであり、アプリケーションはフリーソフトウェアとして配布されている。
概要.
OpenMusicにおけるプログラミングは、あらかじめ用意されたライブラリ、またはサードパーティーの開発したライブラリにある各モジュールを繋げること（パッチング）によって行われる。その拡張性の高さと各種アプリケーションとの連動可能性において、同じくIRCAMにおいて開発されたMAXと多くの性質を共有しているが、MAXがデータフロープログラミングであるのに対してOpenMusicは関数型プログラミングであるという点において異なる。つまり、ライブパフォーマンスやインスタレーションなどのリアルタイム系の処理に強い前者に対し、後者は非リアルタイム系の処理、楽譜やオーディオ、MIDIファイルなどの固定されたデータの抽出に適していると言える。
OpenMusicで入出力できる形式はMIDI, ETF, MusicXML, wave, AIFFなど、多くの楽譜作成ソフトウェアやミュージックシーケンサーと連携するものから、特殊なものではSDIFなどがあり、ライブラリの使用によってはCsoundやGNU LilyPondなどの形式での出力、連動も可能となる。
設計.
フレームワークにIRCAM、CNMAT、が開発したSDIFを、MIDIオペレーティングシステムおよびオーディオ・アーキテクチャにはGRAME (フランス国立音楽創造センター)が開発保守しているMidishareおよびLibAudioStream libraryを使用している。それらによって微分音の記述と再生を可能にするMidicentというMIDIに準拠した規格が実現されている。
OpenMusicで書かれたコードはMAXやPure Dataと同じく「パッチ」または「アブストラクション」と呼ばれる。またパッチにて演算出力されたオーディオやMIDIデータを時間上に配置し、さらに加工を行うシーケンサのような編集機能として「マケット」がある。
歴史.
OpenMusicは1990年代初頭にIRCAMにおいてMacintosh用に開発されたコンピュータ支援作曲環境PatchWorkを前身とし、当時より不確定性の音楽、スペクトル楽派、ミニマル・ミュージック、新しい複雑性、音楽理論、フラクタルアート、音楽情報検索、音響合成などの分野において実用されてきている。
現在はMac OS X版とWindows版、そしてLinux版が存在する。
派生ソフトウェア.
PWGL.
PatchWorkの基礎を開発したミカエル・ラーソンはIRCAMからシベリウス音楽院に移籍後にPatchWorkの後継となるPWGLを独自開発しており、PWGLはOpenMusicの競合ソフトウェアとなっている。
PatchWork時代からの利用者の中にはマグヌス・リンドベリのようにPWGLに移った作曲家もいれば、ブライアン・ファーニホウやトリスタン・ミュライユのようにOpenMusicの設計に積極的に関わる作曲家もいる。
BACH.
2013年現在Max/MSPのエクスターナルとしてOpenMusicと非常に良く似たCAC用のオブジェクト集BACH（バッハ、Automized Composer’s Help）が開発されており、Cycling ’74社のMax/MSP公式サイトからリンクが貼られている。IRCAMでも積極的に援用されている。それぞれのオブジェクト名はbach.scoreなどとbach.がついた名前となっており、またbach.nthやbach.listなどOpenMusicのファンクションでも多用される基礎的なオブジェクト名はそのまま受け継がれている。
BACHをMax/MSPで用いる最大の利点はリアルタイムでのMSPの制御に対応できることである。SuperVP（フェーズヴォコーダー）やModalys（物理モデル音響合成）といったIRCAMで開発されたプログラムをOMから制御できるという利点は、それらがsupervp~やmodalys~といったエクスターナルとしてMaxに対応したことにより、それらとBACHをMax上で組み合わせての操作も可能となった。従来のOpenMusicでもエクスターナルライブラリによってこれらの操作は行え、また複雑かつ厳密な計算結果に基づいたOpenMusic上のパッチの計算結果に基づいたシンセシスが可能だったが、今後はこれらもMax上での制御が出来るようになる。
逆に言えばOpenMusic上でのこれらSuperVPなどのエクスターナルを使うことによるBACHと比べての利点は、リアルタイムの処理時間を待つことなくノンリアルタイムで素早い計算結果と合成結果の生成が出来ることである。