GiantMIDI(AI 转谱工具)配置与使用
一、简介
转谱是指将音乐录音转为对应的音乐乐谱,也称作扒谱。
2020 年 10月 字节跳动科学家为构建全球最大的古典钢琴数据集 GiantMIDI-Piano 1,开发了一套高精度钢琴转谱系统。该系统可以实现纯钢琴曲高精度的乐谱转化。
其对应的项目已开源至 github 1,名字同为 GiantMIDI-Piano。关于该项目具体的介绍分析,这里推荐一篇文章,见脚注 2。
对于音乐爱好者或音乐制作人,亦或是单纯想扒自己喜欢的乐曲的人来说,使用这套系统可以很大程度地减少工作量。配置好后,只需要提供钢琴曲,就可以获得曲子转录的 midi 文件了。我个人使用一段时间后,发现体验确实非常不错。
总的来说,转出的 midi 文件播放听感如下:
- 音高、力度识别极其准确
- 节奏识别有极微小的偏差
二、注意事项
首先注意一点:该项目只适用于纯钢琴乐曲,有其他任何乐器或人声的乐曲,都会对转化有不同程度的影响。
如果不是纯钢琴乐曲,转化结果基本都很差。
如果你有 NVIDIA 系独显,那么转谱速度将会很快(一首 5min 曲子用时 2 min)。但如果你的设备使用的是集成显卡或非 NVIDIA 系显卡,将无法使用 cuda 配置,只能使用 CPU 转谱。
这样速度将会大打折扣,至于打多大的折扣,和你的 CPU 性能有关。关于这一点,请做好心理准备!
转谱速度参考(同时转谱一首 5min 左右的曲子):
- 独显:
NVIDIA 1650 TI
,用时:124.680s - 无独显:
Intel Xeon 8269CY
,用时:1043.910s
三、配置
1、Python 环境安装
该项目的核心是 python 构建的深层神经网络模型,因此运行需要 Python 环境支持。因为从 Python 官网下载极慢,这里演示从镜像站下载 Python。
下载一个符合你操作系统的版本就好,我这边是 windows x64 平台,我就选择 python-3.8.5-amd64.exe
。
镜像站地址:https://npm.taobao.org/mirrors/python/3.8.5/
下载后安装,注意安装的时候先勾上 Add Python 3.8 to PATH
,然后选择 Install Now
,完成后直接点 close 就好。
2、clone 项目
会魔法上网且熟悉 github 的同学,直接 clone:
https://github.com/bytedance/GiantMIDI-Piano
暂时不会魔法上网的同学,请到这里下载:
https://glowmem.com/files/GiantMIDI-Piano/GiantMIDI-Piano-master.zip
下载完成后解压到一个位置存放。打开,应该是这样的:
请注意,我们之后提到项目目录,都指这个目录。
3、安装配置相关依赖库
在项目目录下,点击地址栏,输入 cmd 按下回车,在当前目录下打开命令提示符窗口。
依次输入以下内容执行:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install numpy==1.20 -i https://pypi.tuna.tsinghua.edu.cn/simple/
全部安装完成后,关闭 cmd 窗口。
4、导入启动文件
对于配置和启动运行,我写了些批处理和辅助程序来完成一键操作。
到这里下载:midiTool_Init.zip
请注意!以下批处理和辅助程序的操作,由于是我设计的,出现配置失败、错误,请与我联系。请不要去 github 打扰项目作者。
下载完成后,解压,得到一个 files
文件夹,点击里面的 init.bat
执行(右键选择以管理员身份执行),以完成初始化配置。
执行失败显示红色,执行成功为绿色,灰色为正在执行中。
完成初始化后,选择当前目录下的 works
文件夹,将其整个复制到项目目录中
四、使用
将需要转谱的 mp3 音乐文件(注意,只能是 mp3 型文件),放入项目目录下的:works\mp3s_piano_solo
文件夹中。可以一次多放几个。它会按顺序执行转化任务。
进入项目目录下的 works
目录, 点击 start.bat
运行。这里一开始有个模块要检查更新,可能会比较慢,多等一下就好。
结束后转出的 midi 文件,在项目目录下的:works\midis
文件夹中。