Csound
| 手続き型プログラミング音楽用言語 | |
| 最新版 | 5.13 / (2011年3月7日時点) |
|---|---|
| プラットフォーム | クロスプラットフォーム |
| 種別 | 音楽・音響開発環境 |
| ライセンス | LGPL |
| 公式サイト | www.csounds.com |
Csoundは音響を扱うデータ記述言語であり、「サウンドコンパイラ」あるいは音楽プログラミング言語とも呼ばれる。名称の由来は、それまでの類似ソフトウェアとは異なり、C言語で書かれていたためである。マサチューセッツ工科大学の Barry Vercoe が Music360 という言語をベースとして設計し、ベル研究所のマックス・マシューズが処理系を開発した。LGPLライセンスで提供されるフリーソフトウェアである。開発は1990年代から続いており、バス大学の John Fitch の主導の下で2005年2月に Csound 5 がリリースされた。主な開発関係者は、Istvan Varga、Gabriel Maldonado(画像処理機能を追加した CsoundAV を開発)、Robin Whittle、Richard Karpen、Michael Gogins、Matt Ingalls、Steven Yi、Victor Lazzarini である。
Csound は2種類の特別な形式のテキストファイルを入力として使用する。orchestra ファイルは楽器の性質などを記述し、score ファイルは楽譜などの時系列パラメータを記述する。Csound はこれらのファイルにある命令群を実行し、音声ファイルを生成したり、リアルタイムで音声を出力したりする。
orchestra ファイルと score ファイルは XML タグを使って1つにまとめることも可能である。そのような統合された Csound ファイルの例を以下に示す。これは、1kHzの正弦波をサンプリング周波数 44.1 kHz で1秒間鳴らすWAVファイルを生成するものである。
<CsoundSynthesizer>;
<CsOptions>
csound -W -d -o tone.wav
</CsOptions>
<CsInstruments>
sr = 44100 ; サンプリング周波数
kr = 4410 ; 制御信号周波数
ksmps = 10 ; それらの比
nchnls = 1 ; 出力チャネル数
instr 1
a1 oscil p4, p5, 1 ; 単純な発振器
out a1 ; 出力
endin
</CsInstruments>
<CsScore>
f1 0 8192 10 1 ; 正弦波を表すテーブル
i1 0 1 20000 1000 ; 1kHzの音を1秒間発生させる
e
</CsScore>
</CsoundSynthesizer>
長年に渡って開発されてきたため、様々なモジュールが存在している。Csound の利点はそのモジュール性とユーザーによる拡張性の高さにある。
Csound のMPEG-4への拡張機能MPEG-4 Structured Audioと Structured Audio Orchestra Language(SAOL)との間には密接な関係がある。
他の多くのプログラミング言語と同様、Csound で大きなプログラムを開発する場合、統合開発環境が役立つ。最新の Csound 5 は、Linux、Windows、MacOS X でバイナリとソースコードが利用可能である。当初から見ればかなりの改善と拡張がなされており、他のソフトウェアから利用可能なライブラリとそのAPIも提供している。C言語のAPIだけでなく、Python、Java、LISP、C++ のAPIもある。
関連項目[編集]
- OpenMusic - Csoundのクロスプラットフォームとなるライブラリ(OM2Csound)が存在する。
- MUSIC-N
- 音響信号処理
- ソフトウェア・シンセサイザー
- デスクトップミュージック
外部リンク[編集]
- 公式サイト
- CSound Wiki 関連文書
- Project site (SourceForge.net)
- MacCsound は、Macintosh 向けの CSound プログラミング環境
- Csound for MacOS Classic
- Csound Editor Windows 向けの Csound プログラミング環境
- Dex Tracker
- blue
- CsoundWiki
- Bol Processor