运行环境:

Win10系统,Python3.7

问题:

因为一些自娱自乐的需要,笔者遇到了一个需要将MIDI音乐标准格式转换为WAV音频的问题,在互联网的帮助下找到了 Python 库 midi2audio,按照官方的引导使用如下方法进行优雅地转换:

from midi2audio import FluidSynth
FluidSynth().midi_to_audio('input.mid', 'output.wav')

不过出现了以下问题:

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

不太痛苦地解决中:

查看报错源头,发现函数midi_to_audio()的定义如下:

    def midi_to_audio(self, midi_file, audio_file):subprocess.call(['fluidsynth', '-ni', self.sound_font, midi_file, '-F', audio_file, '-r', str(self.sample_rate)])

这段程序调用了其实是调用了 fluidsynth 的命令,因此正确的解决方案应该是找到 fluidsynth.exe 可执行程序,并且将路径添加到系统变量 Path 中。这里也是找到了 FluidSynth 官网,并根据官网的提示找到了下载链接。由于Github偶尔上不去,笔者分享了自己下载的文件,网盘提取码:1ki5 。下载到任意位置都行,然后把路径加到系统变量 Path 中。不过随后又出现了另外一个问题:

Parameter 'D:\/.fluidsynth/default_sound_font.sf2' not a SoundFont or MIDI file or error occurred identifying it.

也就是说,想要转换还需要 sound font 文件,根据笔者粗浅的理解,这个“声音字体”就是音色的数字实现,使用不同的 .sf2 文件就可以实现不同的音色了。因此去网上找了一些免费的文件,放到项目所在的文件夹下。同时在 FluidSynth() 函数中增加参数,问题解决。

FluidSynth(sound_font="some_sound_font.sf2").midi_to_audio('input.mid', 'output.wav')

解决方案:

需要 fluidsynth.exe 和 default_sound_font.sf2

【Python煮音乐】MID文件转WAV相关推荐

  1. Java gdal .mif/.mid文件读取

    上一篇研究了 Windows10 64位 Python读取.mif/.mid文件并转成txt 今天研究一下Java读取MIF. 俩种解决办法: (1)Python程序读取.mif/.mid转成txt, ...

  2. python 文件批量转换格式_使用python批量化音乐文件格式转换的实例

    使用python批量化音乐文件格式转换的实例 最近在做声音文件数据处理,写了一个自动将m4a文件转化为wav的脚本. import os m4a_path = "/Users/Downloa ...

  3. 基于python的音频播放器_基于python实现音乐播放器代码实例

    基于python实现音乐播放器代码实例,一首,函数,按钮,布局,音乐 基于python实现音乐播放器代码实例 易采站长站,站长之家为您整理了基于python实现音乐播放器代码实例的相关内容. 核心播放 ...

  4. 【Python】音乐可视化播放器(PyQt5 + matplotlib.animation)

    前言 最近同学有个作业,做音乐可视化播放器,为了学习PyQt,我就尝试做了做.该设计主要分为音乐播放器和可视化两部分.两部分单独做相对于结合在一起容易很多,结合的过程遇到了很多麻烦. 音乐播放器: 采 ...

  5. Python制作音乐播放器,帮你随时放飞心情~

    最近网易云音乐闹出不少事情,甚至被各大应用商店下架.它的某些做法小笨聪也着实不敢苟同,但还是希望它整改后能够发展更好,当然不只是在故事式热评方面,还包括更为重要的版权问题. 由此,小笨聪也萌发了制作一 ...

  6. python音乐相册_用 Python 绘制音乐图谱

    在本文中,我们将探讨一种简洁的方式,以此来可视化你的MP3音乐收藏.此方法最终的结果将是一个映射你所有歌曲的正六边形网格地图,其中相似的音轨将处于相邻的位置.不同区域的颜色对应不同的音乐流派(例如:古 ...

  7. python获取mp3音频数据_详解python进行mp3格式判断 python怎么读取mp3文件

    python中哪个库有em算法 EM算法初稿2016-4-28 初始化三个一维的高斯分布 from numpy import * import numpy as np import matplotli ...

  8. Window10 64位,通过Python读取.mif, shp文件

    1. 读取依赖库及安装 依赖模块osgeo ,osgeo依赖于GDAL .mif 是Mapinfo支持的信息 .shp是 postgis存储地理空间信息的文件格式: 尝试了很多安装方法:包括安装Ana ...

  9. 在Python中使用设置文件的最佳做法是什么? [关闭]

    本文翻译自:What's the best practice using a settings file in Python? [closed] I have a command line scrip ...

  10. python制作音乐播放器_python实现音乐播放器 python实现花框音乐盒子

    本文实例为大家分享了python实现音乐播放器的具体代码,供大家参考,具体内容如下 """这是一个用海龟画图模块和pygame的混音模块制作的简易播放器. 作者:李兴球, ...

最新文章

  1. python贴吧发帖脚本-Python实现自动添加脚本头信息的示例代码
  2. mysql二进制日志被删除无法启动_mysql二进制日志文件出错导致mysql服务无法启动...
  3. 广州那所大学有自考计算机专业,广州自考本科大学有哪些
  4. Eclipse如何调整字体大小
  5. python pandas教程百家号_python--学习笔记6 pandas
  6. 掌控谈话~标注对方的痛苦
  7. ZOJ 3490 String Successor
  8. MySoft.Data新版v2.7.3 beta发布,修正较多bug,新增功能尚未完全测试
  9. python个人项目进度管理系统源码_Python项目练习:40行代码画出动态贝氏曲线(附源码)...
  10. 修改Python解释器和包路径
  11. 实验室计算机主机关,计算机综合实验室管理办法
  12. 【业余无线电BI1FKP】宝峰UV9R-Plus写频、自制写频线
  13. Admob激励视频广告(rewarded ad)的服务器端验证(server-side )的疑问
  14. 定向灰盒fuzzing工具BEACON
  15. 原子的波尔模型、能量量子化、光电效应、光谱实验、量子态、角动量
  16. The Sultan's Successors
  17. 解决:NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
  18. 偷偷看,别让老板发现了...微信如何多开,实现工作号和私人号分离|亲测,win系列所有系统都可以实现
  19. 这款国产工具,让我电脑里的PS、XD都落灰了
  20. 企业微信可以统计加班时长吗?如何查看?

热门文章

  1. (附源码)APP+springboot订餐APP 毕业设计 190711
  2. win7修改开机动画
  3. html参数转义字符,Html转义字符 获得请求参数
  4. mac matlab 模糊,MATLAB 2014a 在Mac OS X yosemite 10.10 Retina显示模糊的解决办法
  5. Matlab学习随笔 ——bin文件读写
  6. 帆软帮助文档_帆软:像阿甘一样,奔跑在商业智能的赛道上
  7. 向量的范数(有例子,简单好理解)
  8. iOS平台iPhone iPad和iPod Touch开源应用游戏App源代码下载
  9. 计算机考试发送邮件教程,电脑考试怎么发邮件
  10. 将多个Excel文件合并为一个(实测有效)