当前位置: 首页 > news >正文

使用 piano_transcription_inference将钢琴录音转换为 MIDI

一、简介

  • piano_transcription_inference 是由 Qiuqiang Kong 等人开发的高精度钢琴转录工具,支持音符与踏板信息转 MIDI。
  • 简单易用,通过命令行或 Python API,都能快速完成从音频(MP3/WAV)到 MIDI 的转写。
  • 支持 GPU 加速,转录速度快,适合音乐创作、扒谱、教学等应用场景。

在这里插入图片描述

二、环境与安装

✅ 必备:

  • Python 3.7+
  • PyTorch ≥1.4(推荐 GPU 版本)
  • FFmpeg(处理 MP3 等格式)
pip install piano_transcription_inference
# 安装 PyTorch 和 FFmpeg,可根据实际环境选择

GPU 推荐配置:4GB +,帮助大幅提高速度;无 GPU 可用 CPU 模式,但推理较慢。


三、快速上手

方法一:Python API 示例

from piano_transcription_inference import PianoTranscription, sample_rate, load_audio# 加载音频
audio, _ = load_audio('your_piano.wav', sr=sample_rate, mono=True)# 初始化转录器,选择 cuda 或 cpu
transcriber = PianoTranscription(device='cuda')# 转录并保存 MIDI
transcriber.transcribe(audio, 'output.mid')
  • load_audio:统一采样率、单声道处理
  • transcribe:自动分段、推理、MIDI 写出,包含踏板信号

方法二:命令行调用

python3 example.py \--audio_path="your_piano.wav" \--output_midi_path="output.mid" \--cuda
  • 支持批量处理目录下所有音频
  • 无需改动代码即可快速实验

四、核心原理与可配置项

  • 使用高分辨率 CRNN 模型,结合 onset/offset 精确回归算法

  • 模型兼容踏板检测,生成完整演奏动态

  • 支持调整检测阈值:

    • onset_threshold(音符启动灵敏度)
    • offset_threshold(音符结束判定)
    • frame_threshold(帧级激活判断)
    • pedal_offset_threshold(踏板释放检测)

适当调参数,可提升转录精度或稳定性。


五、进阶技巧

  • GPU 多卡并行:可自定义修改脚本开启多 GPU 加速,大幅提升推理效率
  • 批量处理音频:可编写脚本遍历文件夹,输出目录结构对应的 MIDI 文件
  • 嵌入 DAW 流程:输出 MIDI 后,可导入如 Cubase/FL Studio 等 DAW 进行后期编辑

六、常见问题

  1. NoBackendError → FFmpeg 未安装
  2. 内存不足(Killed) → 降低 batch、关闭 GUI、多段处理
  3. 速度慢 → 优先使用 GPU、或降低 segment_samples(默认 10s 一段)

七、应用场景

  • 📝 扒谱:高速提取古典/流行钢琴曲谱
  • 🎓 音乐教学:学生录音即时转 MIDI,便于分析演奏
  • 🎼 MIDI 数据生成:可用于训练 DAW、音乐生成模型
  • 🛠️ 研究:配合 MAESTRO 数据集训练,支持自定义模型或微调

八、总结

  • 高精度:支持踏板,音符检测 F1 高
  • 易集成:一条命令或几行代码即可完成 MIDI 导出
  • 💻 多平台:支持 Linux/macOS/Windows(推荐)
  • 🔧 可扩展:可自定义训练新模型,适配特殊演奏风格


Windows GUI 工具推荐

若你希望使用无需编程的 GUI 工具,可以尝试社区封装的 Pianotrans

  • 多平台支持:Windows、Linux、macOS
  • 自带踏板信息转录功能
  • Windows 下可直接解压运行 .exe,拖入音频即可输出 MIDI ([dongaigc.com][7])。

使用步骤:

  1. 安装必要运行库(如 Visual C++ Redistributable)
  2. 解压下载的 PianoTrans
  3. 双击运行,选择音频,等待转完即可生成 MIDI 文件。

实用小工具

App Store 截图生成器、应用图标生成器 、在线图片压缩和 Chrome插件-强制开启复制-护眼模式-网页乱码设置编码
乖猫记账,AI智能分类的最佳聊天记账App。

http://www.dtcms.com/a/294551.html

相关文章:

  • 2.4 PNIO-CM
  • 初级网安作业笔记3
  • opencv学习(视频读取)
  • Spring Data Redis 从入门到精通:原理与实战指南
  • 2025暑期—06神经网络-常见网络
  • JVM、Dalvik、ART区别
  • JS逆向实战案例之———x日头条【a-bogus】分析
  • 解析 Chromium 架构分层下 Windows 与 Linux 链接器行为差异及其影响
  • [深度学习] 大模型学习3下-模型训练与微调
  • 提升ARM Cortex-M系统性能的关键技术:TCM技术解析与实战指南
  • C++11扩展 --- 并发支持库(中)
  • sqlsuger 子表获取主表中的一个字段的写法
  • 第一章:Go语言基础入门之Go语言安装与环境配置
  • 顺丰面试提到的一个算法题
  • OpenAI发布ChatGPT Agent,AI智能体迎来关键变革
  • Git原理及使用
  • android studio打包vue
  • Android Studio中调用USB摄像头
  • 广告业技术范式转移:当AI开始重构整个价值链
  • 硅基纪元:当人类成为文明演化的燃料——论AI终极形态下的存在论重构
  • 【Linux系统】基础IO(上)
  • Neo4j如何修改用户密码?
  • Codeforces Round 973 (Div. 2)
  • uniapp自定义圆形勾选框和全选框
  • 软件开发、项目开发基本步骤
  • MCU芯片AS32S601在卫星光纤放大器(EDFA)中的应用探索
  • NineData新增SQL Server到MySQL复制链路,高效助力异构数据库迁移
  • ubuntulinux快捷键
  • 「iOS」——KVC
  • ubuntu22.04 python升级并安装pip命令