fluidsynth
ターミナルから実行すると
fluidsynth soundfont.sf2 midifile.midi
その後、コントロール変更コマンドをリアルタイムで書き込んで、再生を変更することができます。例えば、
cc 1 7 0
CC#7 メッセージ (チャンネル音量) を値 0 でチャンネル 1 に送信します。これは、チャンネル 1 の音量が 0 に設定されていることを意味します。
ここで、 を呼び出すときにこれらの cc コマンドの束を指定したいと思います。fluidsynth
つまり、再生が開始される前にチャンネルの音量が設定されます (つまり、目的のミックスをオーディオ ファイルに出力できるということです。これが私の最終目標です)。
fluidsynth
マニュアルを読むと、次のオプションが見つかります。
-f, --load-config
Load command configuration file (shell commands)
fluidsynth
コントロールチェンジイベントは、マニュアルのさらに下にあるMIDIメッセージの下にリストされており、シェルコマンドの下にリストされているため、これが私が使いたいものだと推測しています。ただし、このマニュアルでは、ここで詳しく説明することはあまりありません (このオプションについて述べられているのは、引用された一節だけです。例も何もありません)。UNIX の構成ファイルを調べてみましたが、何も解決できませんでした。
と呼ばれるファイルを作成しようとしましたがconfig
、次のように一連の cc コマンドで埋めました。
cc 0 7 0
cc 1 7 0
cc 2 7 0
そして、それをロードしようとしています
fluidsynth -f config soundfont.sf2 midifile.midi
しかし、このアプローチは何もしません (fluidsynth もエラーを報告しません)。