

首先,感谢@孔秋强 大佬在Github上提供的项目:piano_transcription_inference
(链接:https://github.com/qiuqiangkong/piano_transcription_inference)
同时本文大致步骤参照@砂菱叶 在知乎发表的Win版教程:钢琴
转谱技术 部署教程(Giant MIDI-Piano所使用)
也使用砂菱叶提供的资源包内的部分资源(感谢!)
(链接:https://zhuanlan.zhihu.com/p/270999354)
想了解该软件用途可以参考:

测试环境:
测试安装macOS版本为macOS Mojave(10.14)

测试机版本10.14
macOS Big Sur(11)已测试通过(在此感谢帮我测试的@童嘎 老哥)
其他版本有待测试(欢迎大家反馈测试结果)

(遇到所有慢进程时都可以使用control+c停止当前进程)
(Homebrew是一个在macOS中安装、卸载、更新、查看、搜索Linux软件包的管理工具,总之就是非常方便!)
打开Terminal.app(终端),输入Homebrew官方提供的安装命令:
/bin/bash -c "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
也可以前往官网(https://brew.sh/index_zh-cn)复制这条安装命令
若出现“Fail to connect to raw.githubusercontent.com”字样的报错(也推荐直接使用此安装方式,速度更快)可以尝试使用“镜像助手”(https://brew.idayer.com)以使用镜像源安装Homebrew并替换官方软件源(此网站中还有很多遇到错误时的解决方法,欢迎大家参考)【强烈建议国内用户使用镜像源替换官方源!速度很快!】
输入完安装命令后,会要求输入当前用户密码进行授权(密码输入时不可见!)
若成功安装,结尾会提示“Installation successful!”(暂时不需要关闭终端,下面还需要使用!) 【使用镜像助手安装完成后会显示以下图样】

使用镜像助手安装brew完成

(wget(World Wide Web Get) 是一个从网络上自动下载(支持后台下载)文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的TCP/IP协议 下载,并可以使用 HTTP 代理)
在终端中输入安装命令:
brew install wget
待命令执行完成后会显示类似字样

wget安装完成
终端会再次回到等待输入命令的状态(依旧不用关闭终端)

【如果你是macOS Catalina(10.15)及以上的系统版本,那么系统会内置python3,可以使用命令: python3 -v 以查看python版本】
在终端中输入命令:
brew search python3
此命令会展示可供安装的python3版本

可供安装的Python3版本
在piano_transcription_inference项目中有提到此软件是在3.7环境下编写的,安装对应版本可能更合适(我选择安装的是3.9版本)
输入安装命令:
brew install python@3.7
(请记得输入@符号以指定安装的python版本,若直接输入brew install python3则会直接安装python最新版本3.9【建议直接这个命令,可以省去配置python系统变量的步骤】)
【安装完成python@3.7后需要配置系统变量,因篇幅问题,此步骤请大家上网搜索教程,感谢理解!】
安装完成后会显示如图

python3安装完成
安装后可输入命令:
brew ls
以展示当前已安装的软件包
也可以直接输入:
python3
来通过终端使用python3,此处会显示如下

变量配置正确
此信息代表你当前已成功安装python3,使用"quit()"或"exit()"命令退出python

可以直接访问pytorch官网:
https://pytorch.org/get-started/locally/
按照以下选项获取安装命令

按照图中选项选择以获取命令
安装命令:
pip3 install torch torchvision torchaudio
(网上很多人推荐此命令前加入sudo,即"sudo pip3 install torch torchvision torchaudio",可以尝试)
【由于macOS不再原生支持NVDIA显卡且Mac通常自带AMD显卡,所以我们的Compute Platform选择CPU】
国内建议直接输入以下命令:
pip3 install torch torchvision torchaudio -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
【此处使用阿里源,国内下载速度会客观一点】
安装完成后显示以下字样(可能不同)

torch安装完成

(ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序)
安装命令:
brew install ffmpeg
安装结束时的截图

ffmpeg安装完成
待上条命令执行完成后,输入命令:
brew info ffmpeg
若有很多依赖库未安装(即有很多❌)
请输入命令:
brew upgrade ffmpeg
待命令执行完后再次输入:
brew info ffmpeg
应该是类似如下界面

检查ffmpeg安装情况
ffmpeg安装完成

打开资源包中的requirement文件夹

拷贝路径
先不要选中任何项目!
单击菜单栏中的齿轮⚙图标,点击"将requirement拷贝为路径名称"
回到terminal.app 终端中
输入命令:
cd /Users/chocovanilazuki/Downloads/Mac_Piano_trans/requirement
【cd与路径间有一个空格,路径直接粘贴上面复制的路径即可】
此命令执行后,用户名部分应变为"choco:requirement chocovanilazuki$ "
然后输入安装命令:
pip3 install -r requirements.txt -i https://pypi.douban.com/simple --trusted-host=http://pypi.douban.com
【此处使用豆瓣镜像源,国内用户安装速度会加快,海外用户只需执行"
pip3 install -r requirements.txt "即可】
【"Getting requirements to build wheel"进程时间可能会稍长一点,请耐心等待!】

将资源包训练转换库中的"note_F1=0.9677_pedal_F1=0.9186.pth"文件复制至"/Users/用户名/piano_transcription_inference_data"路径【"piano_transcription_inference_data"文件夹需要自己新建】

文件详情

请使用命令:brew install python-tk
防止运行时出现ModuleNotFoundError: No module named '_tkinter'"

首先打开资源包——Run

复制路径
复制此文件夹路径
打开terminal.app 终端
输入命令:
cd /Users/chocovanilazuki/Desktop/Mac_Piano_trans/Run
【cd与路径间有一个空格,路径直接粘贴上面复制的路径即可】
用户名部分应变为 macos:Run chocovanilazuki$
输入命令:
python3 transCPU.py
【小技巧:可以在输入完"tr"后按tab键自动补全文件名!】
命令执行界面如下

转换界面
同时还会弹出一个文件选择器
此选择器用于选择源文件(待转换的音频文件,支持的格式有:flac、mp3、wav以及ape)
转换后的MIDI文件也会输出于该文件夹
【目前已知BUG:选择完文件夹后,文件选择器不会自动关闭(在Win端会自动关闭),待文件转换完成后才会关闭】
【请不要直接使用IDLE运行transCPU.py,否则会出现"audioread.exceptions.NoBackendError"报错
若在terminal.app中出现该报错,请检查ffmpeg安装完整性并尝试重新安装(brew install ffmpeg或brew upgrade ffmpeg)】

资源包下载链接:
天翼网盘(不限速):https://cloud.189.cn/t/QvYra2qi22Ij(访问码:8fy7)
百度网盘:https://pan.baidu.com/s/1FKwjVTKCXcJJ-Wvj0_oROA 密码: hft2
蓝奏云:分卷1:https://wwa.lanzous.com/iDnVEnl9e0h
分卷2:https://wwa.lanzous.com/in48dnl9dta
【蓝奏云分卷请删除结尾".zip",保持结尾拓展名为".001"和".002"】
Google drive:https://drive.google.com/file/d/12PVxw9MIESz457SMZ3rx3NeVB4rPhLfb/view?usp=sharing

教程到此结束~
感谢阅读!
如果有任何疑问或者建议,欢迎在评论区留言!
@Chocovanilazuki
2021.4.7