荣耀猎人V700用了英伟达的GTX 2060战术核显卡,显然是可以用来跑深度学习或者玩具框架的。有时候我需要一个“能跑网络就行”的东西,因为毕竟有些情况下并不需要性能或者说准确性太高,比如拿YOLO帮朋友跑交通流的视频——反正跑出来就行了。
为此我专门去问了 @到处挖坑蒋玉成 蒋老板,“有没有什么可以通用的反映深度学习性能的模型”,然后得到的回复是“没有”。
既然这样,那我就按兴趣,用字节跳动最近发布的“钢琴扒带”工具来测试效果了。项目Git如下:
https://github.com/bytedance/piano_transcriptiongithub.com配置我直接用的cuda 11.1+对应的PyTorch。
cuda可以直接官网exe:
CUDA 工具包 11.1 下载developer.nvidia.comPyTorch去官网可以找到对应的安装命令:
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
字节跳动钢琴扒带的命令:
pip install piano_transcription_inference
漫长的安装好了,还差一步——字节跳动的包不含权重,权重的话貌似需要自己下载,虽然包里有自动下载的命令,但是我这边执行总是失败:
if not os.path.exists(checkpoint_path) or os.path.getsize(checkpoint_path) < 1.6e8:
create_folder(os.path.dirname(checkpoint_path))
print('Total size: ~165 MB')
zenodo_path = 'https://zenodo.org/record/4034264/files/CRNN_note_F1%3D0.9677_pedal_F1%3D0.9186.pth?download=1'
os.system('wget -O "{}" "{}"'.format(checkpoint_path, zenodo_path))
所以直接把那个网址拿来下载权重:
https://zenodo.org/record/4034264/files/CRNN_note_F1%3D0.9677_pedal_F1%3D0.9186.pth?download=1
下载完了可以改个名字,我就叫“note.pth”了。
官网给的脚本坑在checkpoint_path,这个我是自己下载然后挂在项目根目录的,不然没有权重跑个卵。
from piano_transcription_inference import PianoTranscription, sample_rate, load_audio
import os
def mp32mid(fp):
# Load audio
(audio, _) = load_audio(fp, sr=sample_rate, mono=True)
print('loaded')
# Transcriptor
transcriptor = PianoTranscription(device='cuda', checkpoint_path='note.pth') # 'cuda' | 'cpu'
fname=fp.split('')[-1]
print(fname+' is processing...')
# Transcribe and write out to MIDI file
transcribed_dict = transcriptor.transcribe(audio, fname + '.mid')
def file_name(file_dir):
l = []
for root, dirs, files in os.walk(file_dir):
for file in files:
if os.path.splitext(file)[1] == '.mp3': # 想要保存的文件格式
l.append(os.path.join(root, file))
return l
print('start')
for l in file_name('D:CloudMusic'):
print(l)
mp32mid(l)
pass
跑出来的结果是喜出望外的,对于钢琴音色准确率极高,但节奏是错的。
这时候可以使用logic pro自带的“智能速度”去修正这个midi的节拍、速度等信息。
松本文纪的曲子一般喜欢加很大的混响,所以识别会把一些ECHO当成是钢琴音符识别。
但是这首ReSound Wave的鸟之诗改编版就识别的很好。我把一个视频翻录了一下,配上bgm。
【Lia——鳥の詩 (鸟之诗)】夏之AIR,千年守护郁郁葱葱_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com原曲地址:
Feather in Dreamsmusic.163.com显然力度动态不如原曲,不过这个不大影响制谱。应该听得出原曲和mp3->mid->mp3后的差距,还是挺明显的。
转码的速度也还行,大概两分钟一首,还算比较快。
翻录的过程中发现Mate40Pro的录像能力真的有大幅度提升,放Mate30Pro早过曝了……后面再详细对比吧。
喜欢的朋友可以尝试一下~
猎人可以用来作为生产力工具,存乎一心。
感谢字节跳动开源了如此好的转码工具。