Csound @ ウィキ

2. はじめの一歩

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集
この章は、Windows、Linux、Macintosh の各 OS 用に同じことが書かれています。
内容は、どこから Csound を取ってくるか、インストールの方法、設定の仕方、実行の方法です。

2.1 Windows

2.1.1 Csound をダウンロードする

http://csound.sourceforge.net/ へ行き、Download のリンクをたどります。
ダウンロードのページで「Csound 5 file package」のリンクをクリックします。
2008-12-01現在、csound5.09(2008-09-23 11:36) が最新です。
Csound5.09.1-gnu-win32-d.exe
Csound5.09.1-gnu-win32-f.exe
Csound5.09.2-gnu-win32-d.exe
Csound5.09.2-gnu-win32-f.exe
と Windows 用には四つのファイルがあります。 -f 付きは通常精度でオーディオを扱う Csound です。
-d 付きは倍精度浮動小数点でオーディオを扱うので、音質はよくなるものの15%ほど処理が遅くなりますが、 C++ で書かれた Perry Cook のシンセサイズツールキットをべースにしたインストゥルメントコードや
サウンドモデリングやモーフィングや Reassingd Bandwidth-Enhanced Additive sound Model を使って音を加工できる Kelly Fitz と Lippold Haken の Loris システムが含まれています。

(.1 と .2 のバージョンの差異は今のところ不明ですが、最新版を入れてみてもし不具合があれば一つ戻す、で良いかと思います。)

(中略)

2.1.2 インストール

-d 付きの Csound には、他のソフトウェアと協調して動作するいろいろな拡張機能が付属しています。
これらの拡張機能とそのために必要ソフトは付録Aを見てください。
注意: これら他のソフトがなくても、基本機能だけ使う分には問題なく動きます。

Csound をインストールするには、ダウンロードした exe ファイルをダブルクリックで実行し、ダイアログにしたがっていけばスタートメニューに Csound が登録されます。
(途中で Python 環境が見つけられないが、 Python なしでインストール「 OK 」、 Python 入れるからインストールは中断「キャンセル」と聞かれる。
Python が入っていてもこれが発生するので OK を押すしかありません。)

(中略)

インストールが出来たか確認するために、スタートメニューから csound5gui を起動してみてください。
csound5gui は csound を使いやすくするために標準で付属する GUI インタフェースです。


2.1.3 Csound を設定する

このセクションでは、Csound を C:\Csound フォルダに作ったものとして説明するので、参照する場合に実際のインストール場所と読み替えてください。

.csoundrc の設定

メモ帳ではなく、Unix 式改行を扱えるテキストエディタ (*1) などで C:\Csound\.csoundrc ファイルを開いてください。
このファイルは、csound の起動時にパラメータを与えなかった場合の、コマンドラインパラメータのデフォルト値を決めるものです。インストール時には次のような内容です。

-d -m135 -H0 -s -W -o dac -+rtaudio=pa -b 128 -B 2048 --expression-opt

パラメータの意味は次の通りです。
-d ファンクションテーブルのグラフを表示しない
-m135 音の大きさやサンプル数が可能な範囲を超えた事や警告やエラーを色つきで表示する。
-H0 各 kperiod(*2) でハートビートを表示しない。
-s オーディオデータに16bit 整数 (short integer) を使用する
-W サウンドファイルとしてマイクロソフトの WAV 形式を使う
-o dac パソコンの規定のオーディオインタフェースへ、リアルタイムのオーディオ出力を送る(dacはD/A変換器の事、要するにパソコンのスピーカーから音を出す)
-+rtaudio=pa リアルタイムオーディオ用にポートオーディオドライバを使用する (Windows/Linux/Mac で有効)
-b 128 Csound のソフトウェアバッファの容量。オーディオサンプルフレーム数 (*3) で数える。
-B 2048 オーディオインタフェースのハードウェアバッファの容量。オーディオサンプルフレーム数で数える。-b の値に 2 ~ 10 を掛けた値よりも小さくなければならない。
-expression-opt Csound のオーケストラ言語コンパイラに、数値的/論理的表現の最適化を指示する。

*1: Windows のメモ帳は改行コードが異なるので使えません。改行コード LF (\n とか 0x0a とも表記されます) が使えるテキストエディタを用意してください。
*2: kperiod は Csound の制御周期の一つで、この周期の間に Csound は 1 回かそれ以上のオーディオサンプルフレームを処理します。
大体一回の kperiod の周期につき、オーディオ信号 10 から 100 程度の処理が目安です。このどこかに Csound の効率がもっともよくなる点があります。
*3: 「オーディオサンプル」とはある瞬間の音の瞬時値を表します。「オーディオサンプルフレーム」とは、そのような値の、チャンネル数分の集まり(フレーム)です。(つまりオーディオ信号のある瞬間の数値を、n個のチャンネル分まとめて、n個の数値で一つの「オーディオサンプルフレーム」となります。

なお、完全な Csound のコマンドラインオプションについては、リファレンスマニュアルを参照してください。
以上で述べたオプションは、すべてのコンピュータとOSの上でリアルタイムオーディオ出力をするように指定しています。
これ以後、このオプションを変更する必要はありませんが、
あなたがあなたのコンピュータやオーディオインタフェースについて勉強してよく知るようになれば、後で変更してもいいでしょう。

Csoundのバッファ処理階層は次のように働きます。
(注:普通は、音が途切れたりしないようにある程度のオーディオデータをバッファにためてから処理をする。その Csound での方法について説明。)

1. Csound はサンプリング周期「ksmps」毎に、
オペコードの「in」ファミリーに属する「spin」バッファからオーディオデータを読み出し、
スコアファイルやMIDIやその他のリアルタイム制御待ち行列からスコアイベントを読み出し、
インストゥルメントのインスタンスにそれらのイベントを割り当て、
オペコードの「out」ファミリーから読んだオーディオデータを「spout」バッファーに書き込んで、
そのspoutバッファーをソフトウェアバッファーまたは「-b」で指定したバッファーにコピーします。
結果的に、ksmpsはイベントやオーディオの処理量の最小単位を決定します。

2.

(中略)
+ タグ編集
  • タグ:
  • チュートリアル

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

記事メニュー
目安箱バナー