Звуковой шрифт Fluidsynth возвращается к последнему загруженному полному шрифту при воспроизведении мидифайла. В моем случае timidity-freepats.sf2 (sfont 2).
флюидсинт версия 1.1.10
Вот мои шаги.
Содержимое конфигурационного файла ./nylon-guitar.fs:
load /usr/share/soundfonts/SGM-V2.01.sf2 0
load /usr/share/soundfonts/timidity-freepats.sf2 0
load /usr/share/soundfonts/palm-muted-guitar.sf2 0
select 9 1 128 0
select 0 2 0 24
select 28 3 0 28
Запустите Fluid Synth:
fluidsynth --audio-driver=alsa -o audio.alsa.device=hw:0 -o synth.verbose=1 -f nylon-guitar.fs
> channels -verbose
chan 0, sfont 2, bank 0, preset 24, Nylon-String Guitar
chan 1, sfont 0, bank 0, preset 0, no preset
chan 2, sfont 0, bank 0, preset 0, no preset
chan 3, sfont 0, bank 0, preset 0, no preset
chan 4, sfont 0, bank 0, preset 0, no preset
chan 5, sfont 0, bank 0, preset 0, no preset
chan 6, sfont 0, bank 0, preset 0, no preset
chan 7, sfont 0, bank 0, preset 0, no preset
chan 8, sfont 0, bank 0, preset 0, no preset
chan 9, sfont 1, bank 128, preset 0, STANDARD 1
chan 10, sfont 0, bank 0, preset 0, no preset
chan 11, sfont 0, bank 0, preset 0, no preset
chan 12, sfont 0, bank 0, preset 0, no preset
chan 13, sfont 0, bank 0, preset 0, no preset
chan 14, sfont 0, bank 0, preset 0, no preset
chan 15, sfont 0, bank 0, preset 0, no preset
Пока все выглядит хорошо. Затем я проигрываю миди-файл.
aplaymidi -p 129:0 midifile.midi
Звуки не такие, как ожидалось, потому что изменился выбор звукового шрифта (шрифт канала 9 изменился с 1 на 2).
>channels -verbose
chan 0, sfont 2, bank 0, preset 24, Nylon-String Guitar
chan 1, sfont 2, bank 0, preset 24, Nylon-String Guitar
chan 2, sfont 0, bank 0, preset 0, no preset
chan 3, sfont 0, bank 0, preset 0, no preset
chan 4, sfont 0, bank 0, preset 0, no preset
chan 5, sfont 0, bank 0, preset 0, no preset
chan 6, sfont 0, bank 0, preset 0, no preset
chan 7, sfont 0, bank 0, preset 0, no preset
chan 8, sfont 0, bank 0, preset 0, no preset
chan 9, sfont 2, bank 128, preset 0, Percussion **sfont changed 1 -> 2
chan 10, sfont 0, bank 0, preset 0, no preset
chan 11, sfont 0, bank 0, preset 0, no preset
chan 12, sfont 0, bank 0, preset 0, no preset
chan 13, sfont 0, bank 0, preset 0, no preset
chan 14, sfont 0, bank 0, preset 0, no preset
chan 15, sfont 0, bank 0, preset 0, no preset
Как я могу позволить выбору звукового шрифта сохраняться при воспроизведении мидифайла? Я пробовал такие настройки, как "-o player.reset-synth=0" и "-o player.reset-synth=1" безрезультатно.