Domino と FluidSynth の連携 ― オープンソースのサウンドフォント・シンセサイザー

苦労してもビルドする価値があるオープンソースのサウンドフォント・シンセサイザー

PC  :dynabook T552/58GKD
OS  :Windows 10(ver 1803)
IDE:Visual Studio 2017 Community

はじめに:

GitHub から、FluidSynth というサウンドフォント・シンセサイザーのコードパッケージをダウンロードしてみた。これは SF2 形式のサウンドフォントをサンプル音源として使用する、オープンソースのシンセサイザーだ。実行ファイルをビルドするのにかなり高度な開発ツールを使うが、プログラミングの知識は必要ないので、根気さえ続けば誰でもビルドすることができる。

最新版の v 2.0.1 (2018/10/31 現在)は、全部で 16 個のプロジェクトで構成されている。
その中で特に重要なのは libfluidsynth プロジェクトと libfluidsynth-OBJ プロジェクト、それに fluidsynth プロジェクトだ。前 2 者は libfluidsynth.dll (以下 LibFluidSynth)をビルドし、後者はその DLL を用いて MIDI 再生コンソールアプリケーションの fluidsynth.exe(以下 FluidSynth)をビルドする。

私は今 FluidSynth と LibFluidSynth の両方で色々なテストをしているが、この記事では Domino とFluidSynth の連携について少し説明するつもりでいる。それほど多くの実例は挙げられないが、MIDI チャンネルごとに違うサウンドフォントを割り当てる方法は、多分良い使用例になっていると思う。

ビルドの説明を後回しにしたのは、まず各位に FluidSynth の特徴を知って頂いた方が良いだろうと考えたからだ。
最初に言ったように、FluidSynth のビルドには根気が必要だ。それに開発環境として使う Microsoft Visual Studio はかなりのディスクスペースを占有する。これらは決して小さくないリスクだ。なのでこれをビルドする / しないの判断は、メリットとリスクを秤(はかり)にかけた後で下しても遅くはない。…このページを読む