SOME命令行推理详解:如何快速把演唱音频转成MIDI文件(附长音频自动切分原理)
SOME命令行推理详解如何快速把演唱音频转成MIDI文件附长音频自动切分原理【免费下载链接】SOMESOME: Singing-Oriented MIDI Extractor.项目地址: https://gitcode.com/gh_mirrors/so/SOMESOMESinging-Oriented MIDI Extractor面向演唱的MIDI提取器是一个开源的人声转MIDI工具只需一条命令行即可把演唱音频文件转成标准 MIDI 乐谱文件。它的速度极快——在 i5 12400 CPU 上比实时快 9 倍在 3080Ti GPU 上可达 300 倍实时——并且能输出带小数点的 MIDI 音高值天然适合 DiffSinger 的 variance 变调标注场景。本文带你从零跑通 SOME 命令行推理并讲透长音频自动切分的底层原理。为什么需要演唱专用MIDI提取器与通用哼唱转谱工具不同SOME 专为歌声设计 直接输出音符序列 时值生成.mid文件⚡ 推理速度远超实时长音频也无需等待 支持非整数 MIDI 值如60.3方便做音准偏差标注 资源友好仅 3 小时训练数据即可微调出不错的效果环境安装3步准备工作SOME 要求 Python 3.8建议用 Conda 或 venv 创建虚拟环境。第 1 步安装 PyTorch 2.1按官方指引选择你的系统与硬件版本。第 2 步安装其余依赖依赖清单见requirements.txtpip install -r requirements.txt第 3 步下载预训练权重。到项目的 Releases 页面下载 SOME 官方预训练模型并解压到任意目录可选地下载 RMVPE 音高预训练模型解压到pretrained/目录以获得更好的音高提取效果配置见configs/base.yaml中的pe与pe_ckpt字段。一键推理核心命令详解跑通推理只需一行命令python infer.py --model CKPT_PATH --wav WAV_PATH入口脚本为infer.py它会自动完成读取模型 → 加载音频 → 长音频切分 → 逐段推理 → 合成 MIDI 并保存默认保存为与音频同名的.mid文件。全部参数速查表运行python infer.py --help可查看帮助常用参数如下参数是否必填说明--model CKPT_PATH必填模型权重路径*.ckpt需与其同目录的config.yaml配合--wav WAV_PATH必填输入演唱音频*.wav--midi MIDI_PATH可选输出 MIDI 文件路径默认与音频同名.mid--tempo TEMPO可选输出 MIDI 的拍速BPM默认120一个完整示例python infer.py --model pretrained/some.ckpt --wav song.wav --midi song.mid --tempo 120运行结束后会打印MIDI file saved at: song.mid打开任意 MIDI 编辑器即可看到提取出的音符。长音频自动切分原理Slicer 是怎么工作的整首歌可能有几分钟直接整段喂给模型既费显存又容易丢失细节。SOME 的做法是先用能量检测把长音频按静音切成小段逐段推理再按时间偏移拼回一整条 MIDI 时间轴。核心实现位于utils/slicer2.py的Slicer类流程分三步① 计算 RMS 能量曲线音频先被切成若干小帧逐帧计算 RMS均方根能量得到一条音量曲线。② 按静音区间确定切分点能量低于-40 dB阈值的帧被判定为静音帧连续静音区间达到最短长度后就在其中最安静的点下刀切分参数max_sil_kept1000表示切分时最多保留 1000ms 的静音边沿避免把乐句切断。可以直观理解为Slicer 像一个剪音师只在几乎听不见的地方下剪刀并给每段录音记下一个时间偏移量offset。③ 按偏移量拼回完整乐谱各段推理结果音符、时值在utils/infer_utils.py的build_midi_file中按offset平移对齐再统一换算成 MIDI tick按tempo计拍最终写成一个.mid文件。由于切分点都在静音处拼接时音符不会被截断保证了乐谱的连续性。推理内部流程从波形到音符inference/me_infer.py中的MIDIExtractionInference展示了完整的三阶段流水线预处理 preprocess波形转成梅尔频谱作为网络输入参数来自configs/base.yaml的hop_size、win_size等前向推理 forward_model模型同时输出两个头——probs每帧音高落在 0~127 各 MIDI 值上的概率分布和bounds音符边界后处理 postprocessdecode_bounds_to_alignment把边界转成帧→音符的对应关系decode_gaussian_blurred_probs用高斯加权平均解码出带小数的 MIDI 音高并判定休止帧restdecode_note_sequence聚合出每个音符的音高、时长休止段自动丢弃。这也是 SOME 能输出非整数 MIDI 值的关键——对概率分布做加权平均而不是简单取最大值。进阶用法批量处理 DiffSinger 数据集如果你要为一个 DiffSinger 数据集含transcriptions.csv的wavs目录批量提取 MIDI可以使用batch_infer.pypython batch_infer.py --model CKPT_PATH --dataset RAW_DATA_DIR --overwrite它会遍历transcriptions.csv中每条录音提取 MIDI 序列后覆盖写回note_seq音符名如C4、rest和note_dur时长两列。常用参数--round_midi把音高取整为整数 MIDI 值--csv CSV_PATH指定输出 CSV 路径默认写回数据集内的transcriptions.csv--overwrite目标 CSV 已存在时必须加上否则报错保护原文件。⚠️ 覆盖前建议先备份transcriptions.csv。此外SOME 还提供 webui.py 的 Gradio 图形界面python webui.py --work_dir WORK_DIR适合不想敲命令的入门用户。常见问题速答Q1没有 GPU 能跑吗可以。推理自动检测 CUDA 不可用时回落到 CPU见inference/base_infer.py的设备选择逻辑实测 i5 12400 上速度约为实时的 9 倍几分钟的歌曲秒级出结果。Q2输出的 MIDI 为什么带小数SOME 采用概率分布加权解码保留亚半音级精度专为 DiffSinger variance 标注设计若只要标准乐谱可在批量模式加--round_midi取整。Q3输出 MIDI 的拍速是固定的是的--tempo只影响 MIDI 文件的时值换算默认 120 BPM不改变音符相对时长后期可在打歌软件里整体变速。Q4想换成自己训练的模型把自训练产出的*.ckpt与config.yaml放在同一目录推理命令中的--model指向 ckpt 即可——入口脚本会自动读取旁边的配置文件并路由到对应的推理类。小结需求命令参考文件单条音频转 MIDIpython infer.py --model ... --wav ...infer.py长音频切分逻辑静音能量切分 偏移拼接utils/slicer2.py、utils/infer_utils.py批量标注数据集python batch_infer.py --dataset ... --overwritebatch_infer.py图形界面python webui.py --work_dir ...webui.pySOME 用静音切分 逐段推理 偏移拼接的思路优雅解决了长音频问题让你一条命令就能把演唱音频变成可用的 MIDI 乐谱。装上依赖、备好权重现在就可以试一首歌【免费下载链接】SOMESOME: Singing-Oriented MIDI Extractor.项目地址: https://gitcode.com/gh_mirrors/so/SOME创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

NSprites性能优化清单:8个实战技巧,让数十万精灵渲染CPU开销降到最低

NSprites性能优化清单:8个实战技巧,让数十万精灵渲染CPU开销降到最低

NSprites性能优化清单:8个实战技巧,让数十万精灵渲染CPU开销降到最低 【免费下载链接】NSprites Unity DOTS Sprite Rendering Package 项目地址: https://gitcode.com/gh_mirrors/ns/NSprites 🎯 NSprites 是一款 Unity DOTS&#xf…

2026/8/23 16:46:11 阅读更多 →
炉石HsMod插件:60+功能管换肤、战棋MMR和挂机,Windows 5分钟装好

炉石HsMod插件:60+功能管换肤、战棋MMR和挂机,Windows 5分钟装好

炉石HsMod插件:60功能管换肤、战棋MMR和挂机,Windows 5分钟装好 【免费下载链接】HsMod Hearthstone Modification Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod 商城里买不到的卡背、对手看不透的隐藏分&#xff0…

2026/8/23 16:45:10 阅读更多 →
用Win11Debloat十分钟给Windows 11减负瘦身

用Win11Debloat十分钟给Windows 11减负瘦身

用Win11Debloat十分钟给Windows 11减负瘦身 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and customize your Windows …

2026/8/23 16:45:10 阅读更多 →

最新新闻

Awesome Steam Deck 网页工具箱盘点:CheckMyDeck、ProtonDB 与 SteamGridDB 三大神器提升掌机体验

Awesome Steam Deck 网页工具箱盘点:CheckMyDeck、ProtonDB 与 SteamGridDB 三大神器提升掌机体验

Awesome Steam Deck 网页工具箱盘点:CheckMyDeck、ProtonDB 与 SteamGridDB 三大神器提升掌机体验 【免费下载链接】awesome-steam-deck A curated list of awesome Steam Deck software, resources and more. 项目地址: https://gitcode.com/gh_mirrors/aw/aweso…

2026/8/23 17:27:27 阅读更多 →
突破模糊测试瓶颈:用libprotobuf-mutator后处理器搞定字段一致性约束难题

突破模糊测试瓶颈:用libprotobuf-mutator后处理器搞定字段一致性约束难题

突破模糊测试瓶颈:用libprotobuf-mutator后处理器搞定字段一致性约束难题 【免费下载链接】libprotobuf-mutator Library for structured fuzzing with protobuffers 项目地址: https://gitcode.com/gh_mirrors/li/libprotobuf-mutator libprotobuf-mutator …

2026/8/23 17:27:27 阅读更多 →
深入UPSNet架构:ResNet、FPN、RPN、Mask R-CNN与FCN五大模块如何协同工作

深入UPSNet架构:ResNet、FPN、RPN、Mask R-CNN与FCN五大模块如何协同工作

深入UPSNet架构:ResNet、FPN、RPN、Mask R-CNN与FCN五大模块如何协同工作 【免费下载链接】UPSNet 项目地址: https://gitcode.com/gh_mirrors/up/UPSNet UPSNet(Unified Panoptic Segmentation Network)是 Uber 在 CVPR 2019&#x…

2026/8/23 17:27:27 阅读更多 →
firebase-module + Firebase Emulator 本地开发提效:一行配置连接 Auth、Firestore 模拟器的完整教程

firebase-module + Firebase Emulator 本地开发提效:一行配置连接 Auth、Firestore 模拟器的完整教程

firebase-module Firebase Emulator 本地开发提效:一行配置连接 Auth、Firestore 模拟器的完整教程 【免费下载链接】firebase-module 🔥 Easily integrate Firebase into your Nuxt project. 🔥 项目地址: https://gitcode.com/gh_mirror…

2026/8/23 17:27:27 阅读更多 →
在线近红外光谱技术实时监测氯碱生产中游离碱与有效氯

在线近红外光谱技术实时监测氯碱生产中游离碱与有效氯

在化工生产过程中,氯碱工业是基础且关键的环节,其核心产品如烧碱、液氯、次氯酸钠等的质量直接关系到下游众多产业的稳定与安全。其中,游离碱和有效氯是衡量次氯酸钠等含氯产品品质的核心指标。游离碱含量过高可能导致产品稳定性下降、腐蚀性…

2026/8/23 17:27:27 阅读更多 →
如何把IC-Light权重转换为ldm格式:ComfyUI-IC-Light-Native权重转换全流程解析

如何把IC-Light权重转换为ldm格式:ComfyUI-IC-Light-Native权重转换全流程解析

如何把IC-Light权重转换为ldm格式:ComfyUI-IC-Light-Native权重转换全流程解析 【免费下载链接】ComfyUI-IC-Light-Native ComfyUI native implementation of IC-Light 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-IC-Light-Native IC-Light权重转…

2026/8/23 17:26:26 阅读更多 →

日新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/23 0:00:50 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/23 0:00:50 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/23 0:00:50 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/23 0:00:50 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/23 0:00:50 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/23 0:00:50 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/22 18:08:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →