OpenMusic

**OpenMusic**（オープンミュージック）は、コンピュータ支援作曲を目的とし、Common Lispをベースに開発されたビジュアルプログラミング言語である。また、Lispプログラミングの開発環境として音楽に限らず多目的に使うことも可能である。

1990年代より、IRCAMにおいてジェラール・アサヤグ、カルロス・アゴン、ジャン・ブレッソンらによって開発が主導されてきた。GNU GPL v3のライセンスに準拠したオープンソースプロジェクトであり、アプリケーションは自由ソフトウェアとして配布されている。

## 概要
OpenMusicにおけるプログラミングは、あらかじめ用意されたライブラリ、またはサードパーティーの開発したライブラリにある各モジュールを繋げること（パッチング）によって行われる。その拡張性の高さと各種アプリケーションとの連動可能性において、同じくIRCAMにおいて開発されたMAXと多くの性質を共有しているが、MAXがデータフロープログラミングであるのに対してOpenMusicは関数型プログラミングであるという点において異なる。つまり、ライブパフォーマンスやインスタレーションなどのリアルタイム系の処理に強い前者に対し、後者は非リアルタイム系の処理、楽譜やオーディオ、MIDIファイルなどの固定されたデータの抽出に適していると言える。

OpenMusicで入出力できる形式はMIDI, ETF, MusicXML, wave, AIFFなど、多くの楽譜作成ソフトウェアやミュージックシーケンサーと連携するものから、特殊なものではSDIFなどがあり、ライブラリの使用によってはCsoundやGNU LilyPondなどの形式での出力、連動も可能となる。

## 設計
フレームワークにIRCAM、CNMAT、MTGが開発したSDIFを、MIDIオペレーティングシステムおよびオーディオ・アーキテクチャにはGRAME (フランス国立音楽創造センター)が開発保守しているMidishareおよびLibAudioStream libraryを使用している。それらによって微分音の記述と再生を可能にするMidicentというMIDIに準拠した規格が実現されている。
OpenMusicで書かれたコードはMAXやPure Dataと同じく「パッチ」または「アブストラクション」と呼ばれる。またパッチにて演算出力されたオーディオやMIDIデータを時間上に配置し、さらに加工を行うシーケンサのような編集機能として「マケット」がある。

## 歴史
OpenMusicは1990年代初頭にIRCAMにおいてMacintosh用に開発されたコンピュータ支援作曲環境PatchWorkを前身とし、当時より不確定性の音楽、スペクトル楽派、ミニマル・ミュージック、新しい複雑性、音楽理論、フラクタルアート、音楽情報検索、音響合成などの分野において実用されてきている。

現在はmacOS版と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で開発されたプログラムをOpenMusicから制御できるという利点は、それらがsupervp~やmodalys~といったエクスターナルとしてMaxに対応したことにより、それらとBACHをMax上で組み合わせての操作も可能となった。従来のOpenMusicでもエクスターナルライブラリによってこれらの操作は行え、また複雑かつ厳密な計算結果に基づいたOpenMusic上のパッチの計算結果に基づいたシンセシスが可能だったが、今後はこれらもMax上での制御が出来るようになる。

逆に言えばOpenMusic上でのこれらSuperVPなどのエクスターナルを使うことによるBACHと比べての利点は、リアルタイムの処理時間を待つことなくノンリアルタイムで素早い計算結果と合成結果の生成が出来ることである。

## 関連アプリケーション
* Max (ソフトウェア) - 本文参照
* PWGL - 本文参照
* bach - MAX上で動くエクスターナル・オブジェクト集。機能的にはOpenMusicに類似した役割を果たす。

## 著名な利用者
* ジェラール・グリゼー（PatchWorkを利用。OpenMusic完成前に死去）
* マグヌス・リンドベルイ（PatchWorkを利用。現在はPWGLを使用）
* ブライアン・ファーニホウ
* フィリップ・マヌリ
* ミカエル・ジャレル
* トリスタン・ミュライユ
* ジョシュア・ファインバーグ
* カイヤ・サーリアホ
* ファビアン・レヴィ
* フィリップ・ルルー
* イザベル・ムンドリー
* マウロ・ランツァ
* ハンス・トゥチュク

## 注釈

## 関連項目
* Common Lisp
* SDIF
* Csound
* IRCAM
* シベリウス音楽院

## 文献
* PatchWork : ビジュアルプログラミング言語と音楽アプリケーション (En), ミカエル・ラーソン 1994年-1996年, シベリウス音楽院.
* OpenMusic : コンピュータ支援作曲のためのビジュアルプログラミング言語 (fr), カルロス・アゴン, 博士論文, IRCAM—パリ第6大学.
* *[http://recherche.ircam.fr/equipes/repmus/OMBook/ The OM Composer's Book 1]*, カルロス・アゴン、ジェラール・アサヤグ、ジャン・ブレッソン編纂, 2006年, Editions Delatour/IRCAM; ISBN 2-7521-0027-2.
* *[http://recherche.ircam.fr/equipes/repmus/OMBook/ The OM Composer's Book 2]*, カルロス・アゴン、ジェラール・アサヤグ、ジャン・ブレッソン編纂, 2008年, Editions Delatour/IRCAM.

## 外部リンク
*  公式ウェブサイト
* IRCAM OpenMusic 支援 (日本語wikiプロジェクト)
* OpenMusic最新版、ドキュメント、ソースコード (En)
* コンパイル、開発方法 (En)
* ライブラリ・プロジェクト (En)
* OpenMusicオンラインマニュアル (En)
* PWGL公式サイト
* MIDIshare公式サイト
* Grame公式サイト
* bach公式サイト