步频音乐分析器 BpmRun
用户手册
1. 这是什么
先花一分钟了解这个软件做什么、以及它刻意不做什么,再看后面的操作说明。
步频音乐分析器 BpmRun 是一款完全离线的 Windows 桌面跑步音乐分析工具。
- 用多层包络节拍判定测出每首歌的真实 BPM,并区分「理论节拍」与「体感步频」(跑步实际踩的拍子)
- 从踩点跟随、节奏驱动、步频适配、律动感、耐力适配五个维度给每首歌打分
- 「步频适配」按你自己填的步频算 —— 不同的人适应的 BPM 根本不一样,所以软件不写死「大众区间」
- 行尾一键试听,同一时刻只播一首,配底部播放条可暂停、拖动进度
- 分析好的歌可以同步到耳机/手表:先比对差异,再选同步方式
- 永不联网 —— 没有服务器、没有账号、没有遥测,装完就能断网用
- 单文件绿色免安装,拷到 U 盘里换台电脑照样用
它不做什么
- 不修改你的音乐文件(除了你主动点「删除文件」并确认,那才会动磁盘,且进回收站)
- 不上传任何音频:不联网,也没有任何遥测
- 不猜你的步频:步频由你自己填,软件只负责按它算
- 不提供云端、账号、在线客服
系统要求
| 项目 | 要求 |
|---|---|
| 操作系统 | 64 位 Windows 10 / 11 |
| 处理器架构 | 仅 x64 |
| 运行库依赖 | 无(不需要 .NET / WebView2 / VC++ 运行库) |
| 网络 | 完全不需要 |
| 磁盘占用 | 便携版解压后约 210 MB |
⚠ 不支持 32 位 Windows。 两个交付的 exe 都是 x64 构建,在 32 位 Windows 上会被系统直接拒绝加载(提示「不是有效的 Win32 应用程序」)。这是架构限制而非可配置项 —— 本项目使用 Electron,而 Electron 官方已停止发布 32 位 Windows 二进制。
2. 安装与首次启动
下载压缩包后按本章说明选择合适的交付形态,双击即可运行 —— 全程无需安装、无需联网。
两种交付形态
| 形态 | 文件 | 适合谁 |
|---|---|---|
| 单文件版 | BpmRun-portable.exe(约 103 MB) | 只想要一个文件、拷来拷去最方便 |
| 目录版压缩包 | BpmRun-win-unpacked.zip(约 104 MB) | 拿到压缩包需要自己解压,启动最快 |
两个都是免安装的:单文件版直接双击;目录版解压后双击其中的 BpmRun.exe。
启动速度
- 首次启动(单文件版):需要先把运行文件解压到
%LOCALAPPDATA%\BpmRun,约 10 秒(仅此一次,有进度提示) - 后续启动:免解压直达,约 2 秒
单文件版用「构建指纹」作为解压缓存键:同一版本直接复用已解压内容,重新构建后会自动整目录重解压,绝不会启动到旧版本。缓存目录是固定的 %LOCALAPPDATA%\BpmRun,里面还有一个 .buildid 标记文件。
首次启动的兼容处理
为保证「任何机器双击即用」,启动阶段已内置几项兼容措施:
| 场景 | 自动处理 |
|---|---|
IDE / 脚本宿主注入 ELECTRON_RUN_AS_NODE | 剥离该变量后正常运行 |
| 虚拟机 / 远程桌面 GPU 崩溃 | 禁用硬件加速,改走 CPU 软件渲染 |
| 显卡驱动缺失或受限 | 同上,程序不依赖 GPU |
支持的音乐格式
.mp3 .flac .wav .m4a .ogg .aac .opus(不区分大小写)。
子文件夹会被递归扫描,所以把整个音乐库丢进去也没问题。
3. 打开音乐文件夹:先看到列表,再开始分析
点击工具栏左侧的「打开音乐文件夹」,选一个存放音乐的目录(对话框里可以直接新建目录)。
软件做两件事,顺序是刻意的:
- 先加载:把扫描到的每首歌立刻作为「待分析」行填进列表 —— 你马上就能看到曲名,不用干等
- 后分析:自动开始逐首分析,过程中随时可以暂停 / 继续 / 取消
首次打开某个文件夹时,「开始分析」按钮上会显示待分析数量(如「开始分析(128)」)。分析完的曲目再次打开同一文件夹时会跳过,不会重复算。
4. 批量分析:并行、暂停、继续、取消
分析是纯本地计算,不涉及网络。列表上方常驻一条控制条:
| 控件 | 作用 |
|---|---|
| 开始分析(N) | 分析全部未完成的曲目;也可以只对选中项重新分析(见下) |
| 暂停 | 停发新任务,已在跑的那几首跑完就停 |
| 继续 | 从剩余队列接着跑,不重头来 |
| 取消 | 立刻停止,已完成的结果全部保留 |
| 进度条 + 文字 | 显示「分析中 / 已暂停 / 已取消」与 已完成 / 总数 |
- 并行线程数按你的 CPU 逻辑核数自动决定(上限 16),批量分析基本是线性提速
- 重采样统一到 22050 Hz 后分析,界面全程不卡顿(重活儿在后台线程里干)
- 万一某些环境里后台线程起不来,会自动退回单线程模式继续跑,功能不受影响
重新分析选中
勾选任意若干行后点「重新分析选中」,软件会用本机把这几个音频文件重新算一遍——五个维度(踩点、驱动、速度、律动、耐力)全部重算,不是只补某一个维度。已分析过的行也会被覆盖。
它和另外两条路的区别:
| 操作 | 处理范围 | 能不能重算已完成的歌 |
|---|---|---|
| 开始分析 | 整个列表,跳过已完成的 | 不能,永远跳过 |
| 改「我的步频」 | 整个列表 | 只重算速度分/总分/评级,复用子维度,不重新读音频(瞬时完成) |
| 重新分析选中 | 只有勾选的几行 | 能,覆盖重算 |
实际会用到的几种情况:
- 导入的外部报告缺子维度,那几行显示
—→ 补上path后勾选重算,在本机补齐 - 软件升级过、评分口径变了,想让旧歌按新标准重新打分 → 只有它能做到
- 行的数据看着可疑(BPM 明显不对、评分偏低)→ 强制重算一次
- 只想重算少数几首,不想整库跑一遍
两个细节:
- 分析正在进行时也可以点:软件会先让当前这轮跑完(已出的结果都保留),然后自动开始重算你选中的这些
- 只能重算有文件路径的行。导入的报告若缺
path列,点它会明确提示原因
5. 主界面导览
┌──────────────────────────────────────────────────────────────────────────┐
│ ◉ 步频音乐分析器 [☀/🌙] [i] ─ □ ✕ │ ← 顶栏(整条可拖动窗口)
├──────────────────────────────────────────────────────────────────────────┤
│ [打开音乐文件夹] [D:\音乐\跑步歌单 ] [导入分析报告 CSV] [导出分析报告 CSV] │
│ [重新分析选中] 目标位置[____________] [选择] [同步选中] │ ← 工具栏
├──────────────────────────────────────────────────────────────────────────┤
│ [搜索曲名…] 评级[全部▾] 我的步频[170] 步频适配[全部▾] 综合 ≥[0] 律动 ≥[0] │
│ 推荐度[全部▾] 排序[综合分▾] ☑倒序 ← 筛选条(1360 宽时一行放下)│
├──────────────────────────────────────────────────────────────────────────┤
│ 128 总曲目 96 当前筛选 168 平均步频 BPM 71 平均综合分 37 合拍(±6%) │ ← 统计条
├──────────────────────────────────────────────────────────────────────────┤
│ [开始分析] ▓▓▓▓▓▓░░░░░░░░ 分析中 64 / 128 │ ← 分析控制条
├──────────────────────────────────────────────┬───────────────────────────┤
│ ☑ 全选(当前筛选) 已选 3 首 [移出选中] [清空列表] │ │
│ ┌──┬──────────────┬─────┬────┬────┬────┬──┬─┬──┬──────────┐ │ 详情页 │
│ │☐ │ 曲名 │ BPM │综合│评级│推荐│踩│驱│律│ 时长 │操作│ │ (右侧) │
│ ├──┼──────────────┼─────┼────┼────┼────┼──┼─┼──┼──────────┤ │ │
│ │☐ │ 起跑 │ 168 │ 82 │ A │强烈│78│71│66│ 3:42 │▶ ✕ ⋯│ │ 体感步频 │
│ │ │ D:\跑步歌单 │ │ │ │推荐│ │ │ │ │ │ │ 综合分 │
│ │☐ │ 晚风 │ 152 │ 64 │ B │推荐│61│58│72│ 4:05 │▶ ✕ ⋯│ │ 四维条 │
│ │☐ │ 间歇 │ 186 │ 71 │ B │一般│55│80│49│ 2:58 │▶ ✕ ⋯│ │ 律动拆解 │
│ └──┴──────────────┴─────┴────┴────┴────┴──┴─┴──┴──────────┘ │ │
├──────────────────────────────────────────────┴───────────────────────────┤
│ ⏸ 起跑 ▓▓▓▓▓▓░░░░░░░░░░░░░░░ 1:24 / 3:42 ✕ │ ← 试听播放条
└──────────────────────────────────────────────────────────────────────────┘顶栏
左侧是品牌区,整条都是窗口拖动区;右侧保留系统的最小化 / 最大化 / 关闭按钮(颜色跟随主题)。
工具栏
打开文件夹、当前源目录(紧跟「打开」,就是刚打开的那个目录,做成与目标位置同款的路径框,可框选复制、悬停看全路径)、导入 CSV、导出 CSV、重新分析选中、目标位置选择、同步选中。
筛选条
曲名搜索、评级、我的步频、步频适配、综合 ≥、律动 ≥、推荐度、排序、倒序。详见第 9、10 章。
统计条
总曲目 / 当前筛选 / 平均步频 BPM / 平均综合分 / 合拍(±6%)(按你的步频统计)。
分析控制条
只在有未完成曲目或分析进行中时显示,平时自动隐藏。
列表与详情
左侧列表、右侧详情。点任意一行即可在右侧看到该曲目的完整指标;勾选左侧复选框(或表头「全选」)来批量操作。
试听播放条
出现在列表底部,仅在试听时显示。详见第 8 章。
6. 列表每一列怎么读
| 列 | 含义 |
|---|---|
| 复选框 | 勾选后即可批量「同步选中」「重新分析选中」 |
| 曲名 | 曲名 + 下方一行灰色小字是所在文件夹;太长会省略号,鼠标悬停看全路径 |
| BPM | 体感步频 —— 你跑步时实际踩的拍子(已做倍频判定,不是文件标签上的数字) |
| 综合 | 0–100 的综合分,五维加权(见第 12 章) |
| 评级 | S / A / B / C / D 五档,由综合分换算 |
| 推荐 | 强烈推荐 / 推荐 / 一般 / 不推荐(跑步场景结论,见第 12 章) |
| 踩点 | 脚步能不能咬住鼓点(0–100) |
| 驱动 | 推不推得动(底鼓 + 起始密度,0–100) |
| 律动 | 一拍之内有没有东西(重音起伏与推进力,0–100) |
| 时长 | 分:秒 |
| 操作 | 试听 / 移出 / 更多菜单(详见第 7 章) |
列宽可以拖
每一列的表头右缘有一条竖线,按住左右拖即可改列宽,双击恢复不了、但可以拖回去。列宽会被记住,下次打开还是你调好的样子。
- 列表宽度不够时会出现横向滚动条,不会被硬挤
- 表头与数据列严格对齐,拖到多宽就显示多宽
7. 行尾操作区:试听、移出、更多
每一行末尾固定三个图标按钮:
┌──── 曲名 ────┬─ BPM ─┬ 操作 ──────────────┐
│ 起跑 │ 168 │ ▶ ✕ ⋯ │
└──────────────┴───────┴─────────────────────┘
│ │ │ └ 更多菜单
│ │ └ 从列表移出(不动磁盘文件)
└ └ 试听(同一时刻只播一首)▶ 试听
点一下就播这首歌,正在播的行会整行高亮 + 曲名变蓝,方便你在列表里一眼看到正在听哪首。再点一下暂停。
- 切换到别的歌会自动停掉上一首,不会叠播
- 只有一份音频在播:底部播放条跟着走(播放/暂停、时间、进度、停止)
✕ 移出
把这一行从列表里去掉,仅此而已:
- 磁盘上的音乐文件完全不动,还在原来的文件夹里
- 想要它回来,重新点一次「打开音乐文件夹」即可
- 适合清理误扫进来的文件、或整理一张临时清单
⋯ 更多菜单
带副作用或可能出错的操作都收在这个菜单里,不会误触:
| 菜单项 | 作用 |
|---|---|
| 试听 | 同行尾 ▶ 按钮 |
| 加入同步清单 | 把这首并入左侧勾选集,之后可批量同步;已在清单里时该项置灰 |
| 同步这首 | 只同步这一首 —— 仍会先弹出比对与同步方式选择,不会跳过安全预览 |
| 在文件夹中显示 | 让系统文件管理器打开并选中该文件(只读,随时可用) |
| 删除文件(进回收站) | 把音乐文件移入系统回收站,确认框会显示完整路径,可从回收站还原 |
⚠ 危险:删除文件会动你的真实音乐。 确认框里写着完整路径,文件进的是回收站而不是直接消失 —— 万一删错,可以从回收站还原。列表里的那条记录也会一并移除。
菜单在靠近窗口边缘时会自动翻转方向,不会跑到屏幕外;按 Esc、点别处或滚动列表都会关闭它。
8. 试听播放条
列表底部出现的这一条就是播放控制台:
| 控件 | 作用 |
|---|---|
| ⏸ / ▶ | 暂停 / 继续播放 |
| 曲名 | 正在播的歌(悬停看完整路径) |
| 进度条 | 可以点击跳转到任意位置 |
| 时间 | 当前时间 / 总时长 |
| ✕ | 停止播放,收起播放条 |
- 每次只播一首;点别的行的 ▶ 会自动切歌
- 换歌、停止、播放结束时,旧音频对象会被释放(不会越点越多占内存)
- 文件读不出来时(比如格式虽在支持列表但文件损坏),播放条上会直接显示失败原因,不会弹窗打断你
9. 我的步频与「步频适配」
这是本软件最该先设置的一项。
不同的人适应的 BPM 不一样。 同一首 165 BPM 的歌,对步频 170 的人是合拍,对步频 150 的人就是「快 10%」。所以软件不写死任何「大众 BPM 区间」来下结论 —— 它按你自己填的步频算。
填「我的步频」
在筛选条上找到「我的步频」,填一个数字(范围 120–220,默认 170),填完立刻生效并被记住。
- 这是你跑步时的自然步频(每分钟迈步数)
- 不知道?先按 170 试:跑一首歌时数自己一分钟踩多少步,或用跑步手表看
- 它同时决定筛选结果、统计条里的「合拍(±6%)」和详情页顶部的适配标签
三档适配怎么判
软件会把一首歌的 BPM 换算成三种可能的落脚频率 —— 每拍一步(BPM)、每拍两步(2×BPM,慢歌踩双拍)、两拍一步(BPM÷2,快歌歇半拍)—— 取最接近你步频的那一个,再算相对偏差:
| 判定 | 标签 | 什么时候 |
|---|---|---|
| 偏差 ≤ 6% | 合拍 · 与我的步频差 N% | 跑起来脚步自然咬得上 |
| 偏差 > +6% | 快 N% · 提速/冲刺 | 适合提速、冲刺、间歇 |
| 偏差 < −6% | 慢 N% · 热身/恢复 | 适合热身、放松跑、恢复跑 |
筛选条上的「步频适配」就是按这三档筛:全部 / 合拍 ±6%(含倍频)/ 快于我 / 慢于我。
倍频匹配是刻意做的:90 BPM 的歌对步频 170 的人其实是「合拍」(两拍一步 = 180,差 5.9%)—— 这正是跑步里「一首歌踩两下一拍」的实际情况。
提示 「分析与建议」里的提示文案用的是算法给出的大众参考区间(150–190),那是写死在文案里的通用说法;而列表筛选、统计条和详情页顶部的适配结论按你填的步频算。两者口径不同,不是 bug。
10. 筛选、搜索与排序
筛选条上的控件都会立即生效,并可叠加使用:
| 控件 | 说明 |
|---|---|
| 搜索曲名 | 输入即筛(不区分大小写) |
| 评级 | S / A / B / C / D 单选 |
| 我的步频 | 见上一章 |
| 步频适配 | 合拍 / 快于我 / 慢于我 |
| 综合 ≥ | 只看综合分不低于该值的曲目 |
| 律动 ≥ | 只看律动感不低于该值的曲目 |
| 推荐度 | 推荐以上 / 仅强烈推荐 |
| 排序 | 综合分 / BPM / 评级 / 推荐度 / 踩点 / 驱动 / 律动 / 曲名 / 时长 |
| ☑ 倒序 | 默认勾选(分数高的排前面);取消勾选则升序 |
两个贴心细节:
- 未分析完的行永远可见:待分析、分析中、失败的行不会被数值类筛选条件误伤掉
- 全选只作用于当前筛选结果:筛完再全选,选的是「你现在看到的这些」
点表头排序(升序 → 降序 → 取消)
除了用筛选条里的「排序」下拉,也可以直接点列表表头按该列排序,三下循环:
- 第一次点:按该列升序(表头右侧出现 ▲)
- 第二次点:降序(▲ 变 ▼)
- 第三次点:取消按该列排序,回到默认排序(综合分降序,箭头消失)
只有「曲名 / BPM / 综合 / 评级 / 推荐 / 踩点 / 驱动 / 律动 / 时长」这些列可点(勾选列与操作列除外)。 表头右缘的列宽拖拽竖线仍然可用,拖它不会触发排序。
列对齐规则
- 表头一律居中(横向扫读时有稳定的视觉锚点)
- 内容按类型对齐:曲名左对齐;数字列(BPM、综合、踩点、驱动、律动、时长)右对齐(等宽数字,便于纵向比较大小);评级、推荐这类短标签居中;勾选与操作列居中
列表管理:移出选中 / 清空列表
列表头右侧有两个按钮,用来整理列表本身(只动内存里的列表,不碰磁盘文件——文件还在原地,重新打开文件夹即可恢复):
- 移出选中:勾选 ≥ 1 首后亮起。点它会二次确认(显示数量),确认后把选中项从列表移除。 配合「全选(当前筛选)」就能做批量剔除:比如筛出评级 D → 全选 → 移出选中,干净利落地清掉一整批不想要的歌。
- 清空列表:列表非空时亮起。点它二次确认(显示总数),确认后清空整个列表;若正在分析会先自动取消分析。
这两个操作与「行尾 ✕ 从列表移出」口径一致,都不删除任何文件。真正删文件(移入回收站、可还原)只在行尾「更多」菜单的「删除文件」里,且带完整路径确认。
11. 详情页:这些指标怎么读
点列表任意一行,右侧显示该曲目的完整指标。
顶部三块
- 适配标签:按你的步频算出的「合拍 / 快 N% / 慢 N%」结论
- 跑步推荐:强烈推荐 / 推荐 / 一般 / 不推荐
- ⚠ 律动感弱 · 节奏偏平(仅在命中时出现):BPM 对得上但一拍内没东西
四个基础数
| 指标 | 含义 |
|---|---|
| 体感步频 / 理论节拍 | 前者是跑步实际踩的拍子,后者是文件层面的理论 BPM;两者差 2 倍或 1/2 时说明存在倍速歧义 |
| 节拍置信度 | 对测出的 BPM 有多大把握(越高越可信) |
| 鼓点相位一致性 | 每拍鼓点位置稳不稳 —— 这一项最影响“能不能踩上” |
| 预期拍位命中率 | 推测的拍位与真实鼓点重合的比例 |
律动四维
| 指标 | 含义 |
|---|---|
| 一拍内重音起伏 | 一拍之内有没有强弱层次(太平淡就听不出推力) |
| 低频推进力 | 底鼓给不给劲 |
| 拍位锁定 | 重音是否牢牢落在拍位上 |
| 节奏密度甜区 | 单位时间里事件的疏密是否舒服 |
其它
- 底鼓驱动力 / 底鼓间隔规律 / 起始密度 / 能量起伏 CV:节奏的力度、稳定性、密度与起伏
- 分析与建议:算法根据上面所有数值生成的中文提示(哪段适合冲刺、哪段相位很稳、哪里推不动…)
12. 评分与评级是怎么算出来的
知道算法怎么算,才能正确理解分数 —— 分数是参考,不是判决。
五个维度
| 维度 | 权重 | 主要依据 |
|---|---|---|
| 踩点跟随 | 34% | 鼓点相位一致性 40%、拍位命中率 25%、节拍显著度 20%、底鼓间隔规律 15%(再按置信度折价) |
| 节奏驱动 | 20% | 底鼓驱动力 60% + 起始密度甜区 40% |
| 步频适配 | 18% | 体感步频相对「我的步频」的偏差:±6% 内满分,之外线性衰减到 ±45% 归零,全程连续、无断崖(改步频会实时重算) |
| 律动感 | 18% | 律动四维合成 |
| 耐力适配 | 10% | 能量起伏是否稳定 50% + 时长是否合适(2–10 分钟)50% |
律动单独占一维,是刻意的:否则「BPM 正好但节奏偏平」的曲子会拿到虚高总分 —— 跟得上但推不动,跑起来一样难受。
评级档位
评级线按真实曲库(2448 首)重算总分的分位数定档,让 S/A 在真实歌单里能正常出现:
| 评级 | 综合分 | 大致含义(占库比例) |
|---|---|---|
| S | ≥ 76 | 顶尖(约前 4%) |
| A | ≥ 73 | 很适合(约前 18%) |
| B | ≥ 70 | 不错(约前 48%) |
| C | ≥ 67 | 勉强能跑(约前 76%) |
| D | < 67 | 不太适合 |
未检出可信节拍的曲目直接记 0 分、D 级。
同一首歌,换了「我的步频」分数会变(速度维随步频走),评级也会跟着变——这是设计如此,不是 bug。
列表「推荐」列的口径
「推荐」是跑步场景的结论,把「分数够高」和「合不合你的步频」合在一起判:
| 推荐度 | 条件 |
|---|---|
| 强烈推荐 | 综合分 ≥ A 线(73)且体感步频与「我的步频」偏差 ≤ ±6%(合拍) |
| 推荐 | 综合分 ≥ B 线(70)且偏差 ≤ ±18%(基本合拍) |
| 一般 | 综合分 ≥ C 线(67),不要求合拍 |
| 不推荐 | 以上都不满足 |
「强烈推荐」绑定在 A 线上:既得是高分歌,又得真的合你的步频——两个条件都满足才给,所以它比单纯看分数更值得信。
提示 BPM 与各项评分都由算法估计,必然存在误差。一首歌到底合不合你的步频,请以实际跑步试听为准 —— 软件的价值是帮你先筛掉一半,最后那一下永远得你自己用耳朵确认。
13. 同步到目标位置(耳机 / 手表 / U 盘 / 本地文件夹)
工具栏上先选目标位置——不一定是移动设备:耳机、手表的内存目录可以,U 盘、移动硬盘可以,你电脑上随便一个文件夹也可以。都是同一个文件夹对话框,还能现场新建目录。选好后勾选要同步的曲目、点「同步选中」。
同步 ≠ 复制:先比对,再决定
软件先比对源与目标,把差异分成四类摆给你看:
| 差异 | 含义 |
|---|---|
| 待新增 | 目标目录里没有,需要复制过去 |
| 需覆盖 | 同名但大小不同,需要更新 |
| 已同步 | 同名同大小,无需动 |
| 目标多余 | 目标里有、但这次没选中 |
比对口径是文件名 + 大小(不用修改时间:复制会让时间戳变成复制时刻,会导致每次都全量覆盖)。
四种同步方式
| 方式 | 行为 |
|---|---|
| 增量同步(推荐) | 新增 + 覆盖已变更的,已同步的跳过,目标多余文件保留 |
| 仅新增 | 只补目标没有的,绝不覆盖已有文件 |
| 覆盖同步 | 全部重写一遍(包括本来就相同的) |
| 镜像同步 | 让目标与选中集完全一致 —— 会删除目标里多余的音乐文件 |
⚠ 危险:镜像同步会删除目标位置里多余的音乐文件。 只在「目标目录就是专门给这次同步用的音乐文件夹」时才用。选错模式前请看清对话框里的模式说明。
同步过程有进度条与当前文件提示,完成后给你一份小结:新增多少、覆盖多少、跳过多少、删除多少、失败多少。
14. 导出与导入分析报告 CSV
这两个功能是一对:导出的列 = 导入能读的列,所以本软件导出的报告可以原样导回来,往返不丢字段。CSV 也是把结果分享给别人、或换台电脑继续用的最省事方式。
导出分析报告
点「导出分析报告 CSV」,选个保存位置即可(默认文件名形如 BpmRun-分析报告-20261019-1345.csv)。导出完成的提示里会把实际保存路径完整列出来(等宽块,可直接框选复制)。
- 导出的是当前筛选 + 当前排序的结果 —— 所见即所得:先用「步频适配」「最低律动感」筛出想要的,再导出
- 内容包含全部维度:体感步频、四项子评分、律动四维、评级、完整文件路径
- 文件带 UTF-8 BOM,Excel / WPS 直接双击打开不乱码
- 导出的行会原样出现在列表里(带完整数据),可以继续试听、同步
导入分析报告
已经有一份分析结果(自己或别人给的 CSV)时,点「导入分析报告 CSV」,选文件即可。
列名要求
必需列(缺任一则该行被跳过):
| 列名 | 含义 |
|---|---|
bpm_raw | 理论节拍 |
score_total | 综合分 |
常用列:
| 列名 | 含义 |
|---|---|
name | 曲名(缺失时用文件名) |
path | 完整文件路径 —— 强烈建议带上 |
folder | 所在文件夹(缺失时从 path 推导) |
bpm_feel | 体感步频 |
duration | 时长(秒) |
grade | 评级 |
score_follow / score_drive | 踩点跟随 / 节奏驱动(子维度,缺则显示 —) |
score_groove | 律动感(子维度,缺则显示 —) |
- 支持双引号转义与 UTF-8 BOM
- 子维度(踩点、驱动、耐力、律动等)有则读回、无则留空:缺列的行会显示
—,勾选后用「重新分析选中」在本机补齐
⚠ 不支持 path 的记录无法试听、同步与删除文件。 这些操作都需要真实文件路径。要用这些功能,请在 CSV 里补上 path 列(或直接重新分析本机文件)。
15. 设置、数据存放位置
你可以改的设置
| 设置 | 在哪改 | 会被记住 |
|---|---|---|
| 主题(亮/暗) | 顶栏右上角的月亮 / 太阳按钮 | 是 |
| 目标位置 | 工具栏「选择」 | 是 |
| 我的步频 | 筛选条输入框 | 是 |
| 各列列宽 | 拖动表头右缘 | 是 |
偏好保存在:%APPDATA%\bpm-run-analyzer\settings.json
只有一个偏好文件,删掉它等于恢复默认(主题、步频、列宽、目标位置全部回到初始状态),不会动你的音乐文件。
运行文件在哪(单文件版)
%LOCALAPPDATA%\BpmRun\ —— 里面是解压后的程序本体与 .buildid 缓存标记。
删掉这个目录不会有任何损失:下次启动便携版会自动重新解压。音乐文件不在这里,它们始终留在你原来的音乐文件夹里。
本软件不写什么
不写注册表、不写系统服务、不在音乐文件夹里生成任何临时文件或元数据。
16. 窗口操作与键盘
| 操作 | 效果 |
|---|---|
| 按住顶栏空白处左键拖动 | 移动窗口 |
| 右上角系统按钮 | 最小化 / 最大化 / 关闭 |
| 拖动窗口边缘 | 调整大小(最小 1280 × 720) |
| 拖动列表表头右缘竖线 | 调整该列宽度 |
Esc | 关闭当前打开的「更多」菜单 |
| 点击对话框外的空白区域 | 关闭该对话框 |
程序里的提示与确认都是自绘对话框(不是系统弹窗):标题、图标、正文、按钮与界面同一套样式,深浅主题自动跟随。
回车= 确定;Esc= 取消(有取消键时)或关闭(纯提示时);点对话框外 = 同Esc- 删除文件这类危险操作,确定键是红色的,且正文里会显示完整路径(等宽框,可直接框选复制)
| 在筛选条上直接输入 | 所有筛选即时生效 |
- 启动窗口 1360 × 880(最小 1280 × 720)。这个默认宽度是量出来的:筛选条与工具栏的所有控件恰好排成一行,不用竖着摞;屏幕不够宽时会自动收敛到当前屏幕的工作区,不会顶出屏幕
- 筛选条控件较多(搜索、评级、我的步频、步频适配、综合≥、律动≥、推荐度、排序、倒序),窗口窄于 1280 时它会折成两行——功能不受影响,只是要多扫一眼
- 本软件没有注册全局快捷键,也不会抢占其它程序的按键
- 界面语言为中文,字体随系统
17. 离线与隐私
- 不联网:程序里没有任何网络请求,也没有账号与遥测。断网状态下功能完全一致
- 不上传音频:音乐文件只在你本机读取;同步时只在本机与你的目标位置之间复制
- 唯一的对外动作:关于页里的「www.excelmailer.com」链接 —— 点击会交给系统默认浏览器打开官网页面。软件本身不会自行访问
- 关于页里的邮箱按钮是复制到剪贴板,不会发起邮件
18. 常见问题
Q:分析一整库要很久,能更快吗? A:已经是多核并行(上限 16 线程),且分析在后台线程跑,界面不卡。可以「暂停」改成先跑重要的几首,或勾选少数曲目用「重新分析选中」只算这几首。
Q:某首歌显示「解析失败」? A:常见原因是文件损坏、或扩展名在支持列表里但实际不是音频(如改名的 txt)。换一个播放器试着播一下最快判断。
Q:详情页提示「倍速判定不确定」? A:意思是这首歌的体感节拍与理论节拍差 2 倍或 1/2,算法无法确定你跑步时会踩哪一层。听一下就清楚了,本软件也建议你以试听为准。
Q:「合拍(±6%)」统计是 0? A:先确认「我的步频」填的是你的真实步频;只有分析完成的曲目参与这个统计,待分析的行不算。
Q:导入 CSV 后踩点/驱动/律动都是「—」? A:说明这份 CSV 里没有这些子维度(本软件自己导出的报告是带的,导入回来不会缺)。勾选后点「重新分析选中」在本机重算即可。
Q:导入的记录点试听没反应? A:该行没有 path 列(见第 14 章)。补上路径,或直接对本机文件重新分析。
Q:点了「删除文件」后悔了怎么办? A:文件进的是回收站,可以还原。列表里那条记录需要重新扫描文件夹才会回来。
Q:「移出」会把文件删掉吗? A:不会。行尾的「从列表移出」、列表头的「移出选中」、以及「清空列表」都只从列表移除,磁盘文件原地不动,重新打开文件夹即可恢复。真正删文件(移入回收站、可还原)只有行尾「更多」菜单里的「删除文件」,且带完整路径确认。
Q:同步时「目标多余」很多? A:说明目标位置里还有没选中的歌。只有镜像同步会删它们,其它三种方式都保留。
Q:换台电脑怎么继续用? A:把便携版 exe 拷过去即可。偏好设置在 %APPDATA%,不随 exe 走;在新机器上重新设一次步频和主题就行。
Q:能导出分析结果吗? A:能。点「导出分析报告 CSV」,导出的就是当前筛选与排序的结果,含体感步频、四项子评分、律动四维与完整路径;这份 CSV 还能原样导回来(第 14 章)。
Q:「重新分析选中」点了没反应? A:先看有没有勾选(按钮在未勾选时是灰的);勾选后仍无反应,通常是这一行没有文件路径 —— 导入的报告若缺 path 列就只能看不能算,软件会明确提示原因。
Q:界面字体发虚 / 布局被挤? A:把窗口拉宽一些(最小 980 宽)。列宽可拖动,把「曲名」列收窄能给其它列腾地方。
附:关于本软件
步频音乐分析器 BpmRun 是一款纯离线的跑步音乐分析工具,作者轩辕轼轲,MIT 许可证。
- 官方发布网站:https://www.excelmailer.com
- 联系邮箱:admin@excelmailer.com(在软件关于页点一下即可复制)
免责
- BPM 与各项评分由算法自动估计,存在误差,仅供参考;一首歌到底合不合你的步频,请以实际跑步试听为准
- 本软件不联网、不上传任何音频或个人信息
- 同步仅做文件复制,不会修改源文件;镜像同步会删除目标位置里多余的音乐文件,操作前请看清模式说明
- 「删除文件」会把文件移入系统回收站,请确认路径无误再点确认
- 本软件按「现状」提供;在适用法律允许的最大范围内,作者不对因使用本软件造成的任何损失承担责任
许可
MIT License,Copyright (c) 2026 轩辕轼轲。随附的 LICENSE 文件为准。