5

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 もエラーを報告しません)。

4

0 に答える 0