首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >midi2audio/FluidSynth:[WinError 2]系统找不到指定的文件

midi2audio/FluidSynth:[WinError 2]系统找不到指定的文件
EN

Stack Overflow用户
提问于 2018-06-03 12:56:59
回答 1查看 1.2K关注 0票数 2

我正在使用python包midi2audio将midi文件转换为WAV。

运行:

代码语言:javascript
运行
复制
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')

输出:

代码语言:javascript
运行
复制
The File Exists
FileNotFoundError: [WinError 2] The system cannot find the file specified

需要说明的是,该错误引用的是filepath中指定的文件,而不是soundfont。这个包上的文档很少,所以我不确定该怎么做。

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

EN

回答 1

Stack Overflow用户

发布于 2018-06-04 04:12:17

代码语言:javascript
运行
复制
fs = FluidSynth()

这将创建一个FluidSynth对象,所有构造函数的参数都使用默认值。

代码语言:javascript
运行
复制
FluidSynth(sample_rate=22050)

这将创建第二个FluidSynth对象。对象引用没有赋值给任何变量,因此它会立即被丢弃。

代码语言:javascript
运行
复制
FluidSynth(soundfont)

和第三个对象。

代码语言:javascript
运行
复制
fs.midi_to_audio(filepath, 'output.wav')

fs引用的对象使用默认声音字体和默认采样率。

你必须一次给构造器所有的参数:

代码语言:javascript
运行
复制
fs = FluidSynth(sound_font=soundfont, sample_rate=22050)

(最好指定输出文件的完整路径。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50663428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档