![893fdbcb670f8de4b0a8474e6a117ab0.png](https://i-blog.csdnimg.cn/blog_migrate/61bf3da0728ab75a6399f30e4a4e8f42.jpeg)
简介
此项目可将钢琴录音(mp3, wav等格式)转录成MIDI文件, 识别的精度非常之高, 扒谱党的福利。相对于人工扒谱效率高了不知道多少倍, AI扒谱的时代已经到来。
前段时间字节跳动发布了全球最大的古典钢琴MIDI数据集 GiantMIDI-Piano, GiantMIDI-Piano 的特点是使用钢琴转谱技术,通过计算机将音频文件自动转为 MIDI 文件,并通过该技术转谱了大规模的 MIDI 数据集。
研究者万余首钢琴作品+一千多小时训练,开发并开源了一套高精度钢琴转谱系统piano_transcription,将所有音频转谱成 MIDI 文件,进而构建了 GiantMIDI-Piano 数据库。
该转谱系统的特点包括:
- 能够将任意声部数目、任意复杂度,甚至双钢琴、多钢琴的钢琴音频转谱为 MIDI 文件。
- 实现了任意时间精度的音符检测,突破了之前算法 32 毫秒识别精度的限制。
- 对每个音符实现了 128 个粒度的力度识别。
- 同时包含了钢琴音符和钢琴踏板的识别。
- 在 MAESTRO 评测数据集上取得 96.72% 的 F1 值,超越了 Google 系统的 94.80%。
- 预训练模型的代码以 Apache 2.0 协议开源。
详细介绍见: https://zhuanlan.zhihu.com/p/269218623
GiantMIDI-Piano: https://github.com/bytedance/GiantMIDI-Piano
piano_transcription: https://github.com/bytedance/piano_transcription
一网友在此基础制作的修改版: https://zhuanlan.zhihu.com/p/270999354
在此基础上, 我再稍微加工了下, 可批量转置, 使得更易使用
下面是一些转置后制作的一些视频
2011年Zetacola《赤色要塞》的钢琴演奏原版视频
《魂斗罗》《赤色要塞》钢琴--大小姐Zetacola_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com![46d5d68987c2f0522685285a6e2ad392.png](https://i-blog.csdnimg.cn/blog_migrate/7a7084a49b12aea4f7d6a79c9bade20f.jpeg)
音质修复+特效钢琴版
FC 赤色要塞 钢琴纯音乐 Zeta演奏扒谱音质修复_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com![83cfcd1b6398438e12f0d67cbebbe36b.png](https://i-blog.csdnimg.cn/blog_migrate/7a0c13aa75f9beaabc3de45cd9c99001.jpeg)
使用方法只需三步即可
- 下载资源
- 安装环境
- 使用
下载下面的资源包, 解压
链接: https://pan.baidu.com/s/1aqnlgfFCjB0KIlPEB8RcRg 提取码: xubj
资源包内包括Piano transcription项目,项目所使用的已训练完好模型,python安装包和ffmpeg
安装环境
以64位的windows版本为例, Mac和linux的步骤也是一样的, 只需安装对应系统的软件版本
安装下列环境
01 Python 3.7
使用到了f-string, 需要Python3.6以上版本才支持, 这里选择安装Python3.7.9版本
02 项目所依赖的库
03 ffmpeg
用于读取媒体文件, 使用资源包里的版本即可
04 cuda
限NVIDIA显卡, 使用cuda转置速度更快, 没有可以不装, 使用CPU转置
05 pytorch
需要看Python版本和cuda版本, 选择相应的版本下载
01 安装 Python 3.7
双击附件里边的Python 3.7.9安装即可
![efcc6ba5051af283f043ce8619ac6d01.png](https://i-blog.csdnimg.cn/blog_migrate/e5fae9f324b68a82758fa950f77ae732.jpeg)
在cmd里输入python出现下面提示及安装成功
![fca383aa57a9734349d1872a6e70aa2d.png](https://i-blog.csdnimg.cn/blog_migrate/50541dad2527f03a88d63afabb39959f.jpeg)
02 项目所依赖的库
在项目目录根下按住shift在空白处点击powershell打开
![e88e45298d1bca2c0cf80dc233d547d4.png](https://i-blog.csdnimg.cn/blog_migrate/7296e2b3bd02f7d727da63932b320dd8.jpeg)
输入下面命令, 升级pip版本(我装有多个python版本, 所以图片显示命令不一样, 新手直接输入下面命令即可)
python -m pip install --upgrade pip
![d59be2e669a4e9c3604dbcab23418699.png](https://i-blog.csdnimg.cn/blog_migrate/afa61fbec8484ab542e6a0677125e27e.png)
安装依赖环境
pip install -r .requirements.txt
![e9e5bf5f928e627c194f6aa1384c9803.png](https://i-blog.csdnimg.cn/blog_migrate/f4ca833ec81aaada1d9f347134a99df5.png)
03 安装ffmpeg
需要把ffmpeg的bin目录添加到环境变量
右键点击此电脑--属性 , 点击高级系统设置, 高级里边的环境变量, 双击Path, 选择新建,
将ffmpeg下的bin目录路径复制的里边,
如 F:钢琴转谱资源包ffmpegbin
(将路径改为你所解压的ffmpeg的bin目录路径)
然后点击确定
![2ec28bdf612323502380851f20ee7991.png](https://i-blog.csdnimg.cn/blog_migrate/81ea392f4e99384826902ec617a33fb4.jpeg)
![56fe663dece175bd342dd98098a6b953.png](https://i-blog.csdnimg.cn/blog_migrate/7f6f78cf00248687d9fe1caec2b73e48.jpeg)
![4ab2aac098304e0084c206db80b9ec91.png](https://i-blog.csdnimg.cn/blog_migrate/872702021124d06e4bb33484c82549c3.jpeg)
![e706d6599ebed389b24830bd4d66775a.png](https://i-blog.csdnimg.cn/blog_migrate/ba5e071a2913b5ab7e0c534b56b61aed.jpeg)
![e13a24820bc5e0b9a4b09611e2520d26.png](https://i-blog.csdnimg.cn/blog_migrate/271d010215f380e2f4ff9b70eaa3dbf4.jpeg)
在cmd里输入ffmpeg 有显示ffmpeg version 4.3.1字样的即添加好了环境变量
![48da4ca3e654937065d76481cbfcc8a9.png](https://i-blog.csdnimg.cn/blog_migrate/729f821efe757a25a602cbebc40b6fab.jpeg)
04 安装cuda (使用CPU跳过此步骤)
CUDA 是 NVIDIA 的一种并行计算平台和编程模型。使用显卡转置比用CPU快很多
cuda版本和驱动支持有关,显卡驱动会影响支持cuda的版本 , 为避免不必要的错误, 先去官网更新驱动到最新版本,这里以win10 1909版本的系统为例
win7等其他系统去NVIDIA控制面板查看支持cuda的最高版本, 选择相应的cuda版本
驱动下载地址https://www.nvidia.cn/geforce/drivers/
安装显卡最新驱动, 再去下载cuda工具包11.1安装(有3G大)
下载地址https://developer.nvidia.com/zh-cn/cuda-downloads
![575bc89334fef595abb64fac5b0d694b.png](https://i-blog.csdnimg.cn/blog_migrate/606f393cf0181505989d6639cedbd922.jpeg)
在安装界面选择自定义, 如图只勾选cuda当中的那几项, 其他不必勾选, 选了有可能安装失败
![6a5768e37c4ac085e6d9e038104368e3.png](https://i-blog.csdnimg.cn/blog_migrate/58c20835eca25e652ce1855a85a151ab.jpeg)
![108f1bac87e2e2066a68a34564e27b25.png](https://i-blog.csdnimg.cn/blog_migrate/f4c1840279e147bf7d3018e94ce98f5d.jpeg)
安装完成后显示
![d8b8f5a223eb7f8f85e1c4ee1173c98e.png](https://i-blog.csdnimg.cn/blog_migrate/1c1d4f7c7c1ed6b538d409ebfdd3cd41.jpeg)
05 安装pytorch
到官网下载自己系统合适的版本, 如果使用CPU选择cuda版本选择none
https://pytorch.org/
这里选择windows系统python3.7 使用pip安装cuda11为例, 按下图选择好版本后下面会有对应的安装命令
在cmd命令行里输入下面命令安装pytorch, 文件挺大有差不多2G, 如果网络不好安装失败, 请看下边的离线包安装
pip install torch===1.7.0+cu110 torchvision===0.8.1+cu110 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
![cef9a2f58693f1408432144161f781e9.png](https://i-blog.csdnimg.cn/blog_migrate/6387ae7df10ecf8a611d6af4d5b5e24e.jpeg)
文件比较大差不多2G, 如果网络不好可以下载离线安装包
https://download.pytorch.org/whl/cu110/torch-1.7.0%2Bcu110-cp37-cp37m-win_amd64.whl
下载好后再目录下按住shift在空白处右键点击, 选择powershell打开命令行, 输入下面安装命令
pip install .torch-1.7.0+cu110-cp37-cp37m-win_amd64.whl
![f3689b5f5048e7efe0c1ac285c8c4ef8.png](https://i-blog.csdnimg.cn/blog_migrate/686471aa22ff30b841f9ed25a04b9a77.png)
项目使用
把MP3,或wav文件放入input文件夹, 可以放多个音频文件
![4999897afcf6cc6fe9f713333711d349.png](https://i-blog.csdnimg.cn/blog_migrate/dded654a14ed7533efd3e1d3dd15e598.jpeg)
在项目piano_transcription按住shift在空白处右键点击, 选择powershell打开命令行, 输入以下命令, 等待程序跑完即可
python .start.py
![55b497fc00fdf4fc71c931125ffbfdc2.png](https://i-blog.csdnimg.cn/blog_migrate/3f84530b3d23183744c245530c5754ce.jpeg)
使用GPU进行转置还是挺快的, 大概10秒~1分多钟一首
跑完后可在output文件夹得到转置好的mid文件, 使用播放器播放即可, 可使用Pianoteq的音源生成高音质的mp3, 如果效果不是很好, 可以使用midi编辑软件进行进一步的修改。midi文件还可以通过一些软件转成琴谱
如果使用CPU转置可以修改start.py文件把第19行里边的cuda改为cpu即可
![d0f26698eb00a1f98e61e99b6c9ceee1.png](https://i-blog.csdnimg.cn/blog_migrate/12aca22e9d72d02f782f218dd80981bc.jpeg)