midi2audio/FluidSynth: [WinError 2] Системе не удается найти указанный файл

Я использую пакет python midi2audio для перевода файла midi в формат WAV.

Бег:

filepath = 'C:/Users/Jack/Documents/GaTech/Research/Code/Data/Midi/C4/test12.mid'
soundfont = 'C:/Users/Jack/Downloads/weedsgm3.sf2'    
fs = FluidSynth(soundfont)


if os.path.isfile(filepath):
   print('The File Exists')
else: 
   print('The File does not exist')

fs.midi_to_audio(filepath, 'output.wav')

Выходы:

The File Exists
FileNotFoundError: [WinError 2] The system cannot find the file specified

Чтобы быть понятным, ошибка ссылается на файл, указанный в filepath, а не на soundfont. На упаковке мало документации, поэтому я не уверен, что делать.

Кто-нибудь с опытом работы с midi2audio сталкивался с такой же проблемой и знает, в чем причина проблемы?

1 ответ

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)

(И это может быть хорошей идеей, чтобы указать полный путь к выходному файлу.)

Другие вопросы по тегам