OpenMusic

提供: miniwiki
移動先:案内検索


OpenMusic(オープンミュージック)はコンピュータ支援作曲を目的とし、CLOSをベースに開発されたビジュアルプログラミング言語である。また、LISPによるプログラミングの開発環境として音楽に限らず多目的に使うことも可能である。1990年代よりIRCAMにおいてジェラール・アサヤグ、カルロス・アゴン、ジャン・ブレッソンらによって開発が主導されてきた。GNU GPL v3のライセンスに準拠したオープンソースプロジェクトであり、アプリケーションはフリーソフトウェアとして配布されている。

ファイル:OpenmusicAll.png
パッチの編集例
ファイル:OM Maquette Patches.png
マケットの編集例

概要

OpenMusicにおけるプログラミングは、あらかじめ用意されたライブラリ、またはサードパーティーの開発したライブラリにある各モジュールを繋げる事(パッチング)によって行われる。その拡張性の高さと各種アプリケーションとの連動可能性において、同じくIRCAMにおいて開発されたMAXと多くの性質を共有しているが、MAXがデータフロープログラミングであるのに対して、OpenMusicは関数型プログラミングであるという点において異なる。つまり、ライブパフォーマンスやインスタレーション等のリアルタイム系の処理に強い前者に対し、後者は非リアルタイム系の処理、楽譜やオーディオ、MIDIファイルなどの固定されたデータの抽出に適していると言える。OpenMusicで入出力できる形式はMIDI, ETF, MusicXML, wave, AIFFなど、多くの楽譜作成ソフトウェアミュージックシーケンサーと連携するものから、特殊なものではSDIFなどがあり、またライブラリの使用によってはCsoundGNU LilyPondなどの形式での出力、連動も可能となる。

設計

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

歴史

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

Linux版は開発打ち切りとなり、現在はMac OS XWindows版が存在する。

派生ソフトウェア

PWGL

またPatchWorkの基礎を開発したミカエル・ラーソンはIRCAMからシベリウス音楽院に移籍後にPatchWorkの後継となるPWGLを独自開発しており、PWGLはOpenMusicの競合ソフトウェアとなっている。

PatchWork時代からの利用者の中にはマグヌス・リンドベリのようにPWGLに移った作曲家もいれば、ブライアン・ファーニホウトリスタン・ミュライユのようにOpenMusicの設計に積極的に関わる作曲家もいる。

BACH

2013年現在Max/MSPエクスターナルとしてOpenMusicと非常に良く似たCAC用のオブジェクト集BACH(バッハ、Automized Composer’s Help http://www.bachproject.net/home )が開発されており、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と比べての利点は、リアルタイムの処理時間を待つことなくノンリアルタイムで素早い計算結果と合成結果の生成が出来ることである。

関連アプリケーション

  • MAX - 本文参照
  • PWGL - 本文参照
  • bach - MAX上で動くエクスターナル・オブジェクト集。機能的にはOpenMusicに類似した役割を果たす。

著名な利用者

関連項目

文献

外部リンク