【Python煮音乐】MID文件转WAV
运行环境:
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相关推荐
- Java gdal .mif/.mid文件读取
上一篇研究了 Windows10 64位 Python读取.mif/.mid文件并转成txt 今天研究一下Java读取MIF. 俩种解决办法: (1)Python程序读取.mif/.mid转成txt, ...
- python 文件批量转换格式_使用python批量化音乐文件格式转换的实例
使用python批量化音乐文件格式转换的实例 最近在做声音文件数据处理,写了一个自动将m4a文件转化为wav的脚本. import os m4a_path = "/Users/Downloa ...
- 基于python的音频播放器_基于python实现音乐播放器代码实例
基于python实现音乐播放器代码实例,一首,函数,按钮,布局,音乐 基于python实现音乐播放器代码实例 易采站长站,站长之家为您整理了基于python实现音乐播放器代码实例的相关内容. 核心播放 ...
- 【Python】音乐可视化播放器(PyQt5 + matplotlib.animation)
前言 最近同学有个作业,做音乐可视化播放器,为了学习PyQt,我就尝试做了做.该设计主要分为音乐播放器和可视化两部分.两部分单独做相对于结合在一起容易很多,结合的过程遇到了很多麻烦. 音乐播放器: 采 ...
- Python制作音乐播放器,帮你随时放飞心情~
最近网易云音乐闹出不少事情,甚至被各大应用商店下架.它的某些做法小笨聪也着实不敢苟同,但还是希望它整改后能够发展更好,当然不只是在故事式热评方面,还包括更为重要的版权问题. 由此,小笨聪也萌发了制作一 ...
- python音乐相册_用 Python 绘制音乐图谱
在本文中,我们将探讨一种简洁的方式,以此来可视化你的MP3音乐收藏.此方法最终的结果将是一个映射你所有歌曲的正六边形网格地图,其中相似的音轨将处于相邻的位置.不同区域的颜色对应不同的音乐流派(例如:古 ...
- python获取mp3音频数据_详解python进行mp3格式判断 python怎么读取mp3文件
python中哪个库有em算法 EM算法初稿2016-4-28 初始化三个一维的高斯分布 from numpy import * import numpy as np import matplotli ...
- Window10 64位,通过Python读取.mif, shp文件
1. 读取依赖库及安装 依赖模块osgeo ,osgeo依赖于GDAL .mif 是Mapinfo支持的信息 .shp是 postgis存储地理空间信息的文件格式: 尝试了很多安装方法:包括安装Ana ...
- 在Python中使用设置文件的最佳做法是什么? [关闭]
本文翻译自:What's the best practice using a settings file in Python? [closed] I have a command line scrip ...
- python制作音乐播放器_python实现音乐播放器 python实现花框音乐盒子
本文实例为大家分享了python实现音乐播放器的具体代码,供大家参考,具体内容如下 """这是一个用海龟画图模块和pygame的混音模块制作的简易播放器. 作者:李兴球, ...
最新文章
- python贴吧发帖脚本-Python实现自动添加脚本头信息的示例代码
- mysql二进制日志被删除无法启动_mysql二进制日志文件出错导致mysql服务无法启动...
- 广州那所大学有自考计算机专业,广州自考本科大学有哪些
- Eclipse如何调整字体大小
- python pandas教程百家号_python--学习笔记6 pandas
- 掌控谈话~标注对方的痛苦
- ZOJ 3490 String Successor
- MySoft.Data新版v2.7.3 beta发布,修正较多bug,新增功能尚未完全测试
- python个人项目进度管理系统源码_Python项目练习:40行代码画出动态贝氏曲线(附源码)...
- 修改Python解释器和包路径
- 实验室计算机主机关,计算机综合实验室管理办法
- 【业余无线电BI1FKP】宝峰UV9R-Plus写频、自制写频线
- Admob激励视频广告(rewarded ad)的服务器端验证(server-side )的疑问
- 定向灰盒fuzzing工具BEACON
- 原子的波尔模型、能量量子化、光电效应、光谱实验、量子态、角动量
- The Sultan's Successors
- 解决:NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
- 偷偷看,别让老板发现了...微信如何多开,实现工作号和私人号分离|亲测,win系列所有系统都可以实现
- 这款国产工具,让我电脑里的PS、XD都落灰了
- 企业微信可以统计加班时长吗?如何查看?
热门文章
- (附源码)APP+springboot订餐APP 毕业设计 190711
- win7修改开机动画
- html参数转义字符,Html转义字符 获得请求参数
- mac matlab 模糊,MATLAB 2014a 在Mac OS X yosemite 10.10 Retina显示模糊的解决办法
- Matlab学习随笔 ——bin文件读写
- 帆软帮助文档_帆软:像阿甘一样,奔跑在商业智能的赛道上
- 向量的范数(有例子,简单好理解)
- iOS平台iPhone iPad和iPod Touch开源应用游戏App源代码下载
- 计算机考试发送邮件教程,电脑考试怎么发邮件
- 将多个Excel文件合并为一个(实测有效)