midi2audio / FluidSynth: [WinError 2] Системе не удается найти указанный файл - PullRequest
0 голосов
/ 03 июня 2018

Я использую пакет 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 Ответ

0 голосов
/ 03 июня 2018
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)

(И было бы неплохо указать полный путь квыходной файл.)

...