使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

简介

此项目可将钢琴录音(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_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com/video/BV1Fx411Q74p

音质修复+特效钢琴版FC 赤色要塞 钢琴纯音乐 Zeta演奏扒谱音质修复_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com/video/BV1u54y1k7ou

使用方法只需三步即可

  1. 下载资源
  2. 安装环境
  3. 使用

下载下面的资源包, 解压

链接: 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安装即可

使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

在cmd里输入python出现下面提示及安装成功

使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

02 项目所依赖的库

在项目目录根下按住shift在空白处点击powershell打开

使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

输入下面命令, 升级pip版本(我装有多个python版本, 所以图片显示命令不一样, 新手直接输入下面命令即可)

python -m pip install --upgrade pip
使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

安装依赖环境

pip install -r .\requirements.txt
使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

03 安装ffmpeg

需要把ffmpeg的bin目录添加到环境变量

右键点击此电脑属性 , 点击高级系统设置, 高级里边的环境变量, 双击Path, 选择新建,

将ffmpeg下的bin目录路径复制的里边,

如 F:\钢琴转谱资源包\ffmpeg\bin(将路径改为你所解压的ffmpeg的bin目录路径)

然后点击确定

使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程
使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程
使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程
使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程
使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

在cmd里输入ffmpeg 有显示ffmpeg version 4.3.1字样的即添加好了环境变量

使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

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

使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

在安装界面选择自定义, 如图只勾选cuda当中的那几项, 其他不必勾选, 选了有可能安装失败

使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程
使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

安装完成后显示

使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

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
使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

文件比较大差不多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
使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

项目使用

把MP3,或wav文件放入input文件夹, 可以放多个音频文件

使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

在项目piano_transcription按住shift在空白处右键点击, 选择powershell打开命令行, 输入以下命令, 等待程序跑完即可

python .\start.py
使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程

使用GPU进行转置还是挺快的, 大概10秒~1分多钟一首

跑完后可在output文件夹得到转置好的mid文件, 使用播放器播放即可, 可使用Pianoteq的音源生成高音质的mp3, 如果效果不是很好, 可以使用midi编辑软件进行进一步的修改。midi文件还可以通过一些软件转成琴谱

如果使用CPU转置可以修改start.py文件把第19行里边的cuda改为cpu即可

使用AI实现高精度钢琴曲转谱Piano Transcription项目简明使用教程
声明:本站部分文章或资源,整理于网络或由网友提供,主要用于知识性分享与学习用途。若相关内容侵犯了原著者的合法权益,请联系处理。
插件&API资源

wordpress插件:用meow Lightbox对图片放大浏览(wordpress 6.2)

2023-12-22 11:53:18

周边资源开源代码

自由钢琴-模拟钢琴键盘半开源项目

2024-1-18 13:56:34

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧