Zaurusで音響生成プログラミング言語Csoundを使う
MITのBarry Vercoe教授によって1985年に書かれた音響生成用言語であるところのCsoundというものがある。
C言語で書かれたポータビリティの高いソフトウェアであり、各種環境で動く。
簡単に言うと、Csoundは、テキストファイル形式で書かれたソースコードを元に音声ファイルを吐き出す、超高機能なソフトウェアシンセサイザーだ。
例えば、こんな風に使う。
csound a.orc a.sco -oout; cat out>/dev/dsp
a.orcはオーケストラファイルといい、楽器を定義するもの。a.scoはスコアファイルといい、楽譜を記述するもの。
いずれもテキストファイルだ。それぞれ、所定の書式がある。
上記のコマンドラインでは、csoundがa.orcとa.scoを元にoutという音声ファイルをcsoundが吐き出し、それを/dev/dspに投げ込んで音を出す、といったことをやっている。
パッケージの入手
もちろん、こんなエントリを書くぐらいだから、Zaurus向けのパッケージが存在する。
elsi (embedded linux sodtware index)からCsoundsをもらってくる。
各種ROM用のパッケージがあるので、各々の環境に合わせたものを。
自分は純正ROMなので、Sharp Rom v1.32用のものをもらってきた。
試用してみる
パッケージをインストールすると、「csound」というコマンドが使えるようになる。
とりあえず、orcファイルとscoファイルを書く。しかし、書式が全然分からないので、先人のソースを拝借。
ググると一番上に出てくるWorld of Csoundさんのソースを使用。
study1.orc
study1.sco
カレントディレクトリに置き、以下のコマンドラインを実行。
csound study1.orc study1.sco -oout; cat out>/dev/dsp
すると、アスキーアートで波形が表示された後、outというファイルに音声ファイルが書き出される。それが/dev/dspに流し込まれて音が出る。
「-o」オプションの出力先を「-odevaudio」とすると、ファイルに書き出すこと無くそのまま再生してくれる。
ただ、Zaurusだと途切れ途切れになってしまうかも。
編集用モード
当然、Emacs用のメジャーモードが存在する。
参考サイト(というかパクった)
音雑 (onzatsu) 〜everything makes noise〜
解説が分かりやすい。サンプルあり。
« Mac OS X Tiger上にAVR-GCC環境を構築する@2006 | Main | Zaurusで英文音声合成 CMU Flite 1.3 releaseのZaurus向けパッケージ »


Recent Comments