TSUKUNE_SampleController (src-080814) | 2008-08-14 21:00 |
TSUKUNE_SampleSequencer (src-080806) | 2008-08-06 01:00 |
TSUKUNE_SynthModule (src-080814) | 2008-08-14 20:59 |
TSUKUNEはソフトウェアシンセサイザとその周辺ツール(フロントエンドGUI, シーケンサなど)を作成するプロジェクトです。現在のところ、サウンドドライバとしてSDLを使用しています。また、シンセサイザの制御にはOpenSoundControlを使用しています。
現在のところ、シンセサイザ本体(Synthモジュール)と、サンプルシーケンサ(SampleSequencerモジュール)、フロントエンドとしてサンプルコントローラ(SampleController)が利用できます。
Linuxのみで動作確認しています。 SDLが動く環境であれば、対応するのは比較的らくだと思いますが。
ソースコードをビルドして Synthモジュールと SampleSequencerモジュールを作成したら、それぞれを起動してください。 SampleSequencerがSynthに対してランダムにNote-on指令を出して音が鳴るはずです。 また、SampleSequencerの代わりに SampleControllerを起動するとピアノキーボードが表示されますので、キーボードをクリックすれば音をならせます。
Synthesizer.txtというファイルを読み込み、シンセサイザの構成を行います。 一行に一つモジュールを記述することができ、音データは上から下へ流れます。 例:
SquareGenerator EnvelopeGenerator RLCFilter Recorder output.sndというファイルを記述すると、 矩形波生成 → エンベロープ適応 → ローパスフィルタ(RLCFilter)適応 → output.sndへ記録 というようにデータが流れます。
モジュールとして、以下のモジュールを記述できます。
SineGenerator: サイン波生成器
SawGenerator: 鋸波生成器
SquareGenerator: 矩形波生成器
WhiteNoiseGenerator: ホワイトノイズ生成器
EnvelopeGenerator: エンベロープ適応器
Echo: エコーモジュール
FIRFilter: FIRフィルタ(試験的に作ったもの)
RCFilter: ローパスフィルタ(RC)
RLCFilter: ローパスフィルタ(RLC)
Recorder: ファイルへの記録。"Recorder output.snd"のように、後ろに出力ファイル名をつける。
Eclipse(CDT)による方法と、autotoolsを使用した方法があります。いずれの方法でも、OpenSoundControl, SDL, FTGL, OpenGLのライブラリ・ヘッダファイルがインストールされている必要があります。
ダウンロードしたソースをEclipseのワークスペースに取り込み、Buildを実行してください。
./configure; make; make install
でビルドできます(ソースコードを展開したディレクトリの ./bin配下にインストールされます)
サンプル音と、GUI画面です。
サイン波
矩形波+LPFフィルタ+レゾナンス
矩形波+LPFフィルタ+レゾナンス+Duty比変更
SampleControllerによる制御
サンプルコントローラ画面
[PageInfo]
LastUpdate: 2008-08-18 01:23:59, ModifiedBy: blackbunny
[Permissions]
view:all, edit:login users, delete/config:members