fs = FluidSynth()
Это создает объект FluidSynth
со значениями по умолчанию для всех параметров конструктора.
FluidSynth(sample_rate=22050)
Это создает второй FluidSynth
объект.Ссылка на объект не присваивается какой-либо переменной, поэтому она немедленно отбрасывается.
FluidSynth(soundfont)
И третий объект.
fs.midi_to_audio(filepath, 'output.wav')
Объект, на который ссылается fs
, использует значение по умолчаниюзвуковой шрифт и частота дискретизации по умолчанию.
Вы должны сразу передать все параметры конструктору:
fs = FluidSynth(sound_font=soundfont, sample_rate=22050)
(И было бы неплохо указать полный путь квыходной файл.)