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

需要明确的是,错误是引用文件路径中指定的文件,而不是 soundfont。包装上的文档很少,所以我不知道该怎么做。

有没有使用 midi2audio 经验的人遇到过同样的问题并且知道问题的根源是什么?

4

1 回答 1

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)

(指定输出文件的完整路径可能是个好主意。)

于 2018-06-03T20:12:17.357 回答