步频音乐分析器 v1.1.5
🏠 官网

步频音乐分析器 BpmRun
用户手册

离线跑步音乐 BPM / 律动分析工具 · 音乐文件只在本机与你的设备之间流动
版本 1.1.5 作者 轩辕轼轲 发布网站 https://www.excelmailer.com 许可证 MIT 系统 64 位 Windows 10 / 11

1. 这是什么

先花一分钟了解这个软件做什么、以及它刻意不做什么,再看后面的操作说明。

步频音乐分析器 BpmRun 是一款完全离线的 Windows 桌面跑步音乐分析工具。

它不做什么

系统要求

项目要求
操作系统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,里面还有一个 .buildid 标记文件。

首次启动的兼容处理

为保证「任何机器双击即用」,启动阶段已内置几项兼容措施:

场景自动处理
IDE / 脚本宿主注入 ELECTRON_RUN_AS_NODE剥离该变量后正常运行
虚拟机 / 远程桌面 GPU 崩溃禁用硬件加速,改走 CPU 软件渲染
显卡驱动缺失或受限同上,程序不依赖 GPU

支持的音乐格式

.mp3 .flac .wav .m4a .ogg .aac .opus(不区分大小写)。

子文件夹会被递归扫描,所以把整个音乐库丢进去也没问题。

3. 打开音乐文件夹:先看到列表,再开始分析

点击工具栏左侧的「打开音乐文件夹」,选一个存放音乐的目录(对话框里可以直接新建目录)。

软件做两件事,顺序是刻意的:

  1. 先加载:把扫描到的每首歌立刻作为「待分析」行填进列表 —— 你马上就能看到曲名,不用干等
  2. 后分析:自动开始逐首分析,过程中随时可以暂停 / 继续 / 取消

首次打开某个文件夹时,「开始分析」按钮上会显示待分析数量(如「开始分析(128)」)。分析完的曲目再次打开同一文件夹时会跳过,不会重复算。

4. 批量分析:并行、暂停、继续、取消

分析是纯本地计算,不涉及网络。列表上方常驻一条控制条:

控件作用
开始分析(N)分析全部未完成的曲目;也可以只对选中项重新分析(见下)
暂停停发新任务,已在跑的那几首跑完就停
继续从剩余队列接着跑,不重头来
取消立刻停止,已完成的结果全部保留
进度条 + 文字显示「分析中 / 已暂停 / 已取消」与 已完成 / 总数

重新分析选中

勾选任意若干行后点「重新分析选中」,软件会用本机把这几个音频文件重新算一遍——五个维度(踩点、驱动、速度、律动、耐力)全部重算,不是只补某一个维度。已分析过的行也会被覆盖。

它和另外两条路的区别:

操作处理范围能不能重算已完成的歌
开始分析整个列表,跳过已完成的不能,永远跳过
改「我的步频」整个列表只重算速度分/总分/评级,复用子维度,不重新读音频(瞬时完成)
重新分析选中只有勾选的几行能,覆盖重算

实际会用到的几种情况:

两个细节:

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),填完立刻生效并被记住。

三档适配怎么判

软件会把一首歌的 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 / 评级 / 推荐度 / 踩点 / 驱动 / 律动 / 曲名 / 时长
☑ 倒序默认勾选(分数高的排前面);取消勾选则升序

两个贴心细节:

点表头排序(升序 → 降序 → 取消)

除了用筛选条里的「排序」下拉,也可以直接点列表表头按该列排序,三下循环:

  1. 第一次点:按该列升序(表头右侧出现 ▲)
  2. 第二次点:降序(▲ 变 ▼)
  3. 第三次点:取消按该列排序,回到默认排序(综合分降序,箭头消失)

只有「曲名 / BPM / 综合 / 评级 / 推荐 / 踩点 / 驱动 / 律动 / 时长」这些列可点(勾选列与操作列除外)。 表头右缘的列宽拖拽竖线仍然可用,拖它不会触发排序。

列对齐规则

列表管理:移出选中 / 清空列表

列表头右侧有两个按钮,用来整理列表本身(只动内存里的列表,不碰磁盘文件——文件还在原地,重新打开文件夹即可恢复):

这两个操作与「行尾 ✕ 从列表移出」口径一致,都不删除任何文件。真正删文件(移入回收站、可还原)只在行尾「更多」菜单的「删除文件」里,且带完整路径确认。

11. 详情页:这些指标怎么读

点列表任意一行,右侧显示该曲目的完整指标。

顶部三块

四个基础数

指标含义
体感步频 / 理论节拍前者是跑步实际踩的拍子,后者是文件层面的理论 BPM;两者差 2 倍或 1/2 时说明存在倍速歧义
节拍置信度对测出的 BPM 有多大把握(越高越可信)
鼓点相位一致性每拍鼓点位置稳不稳 —— 这一项最影响“能不能踩上”
预期拍位命中率推测的拍位与真实鼓点重合的比例

律动四维

指标含义
一拍内重音起伏一拍之内有没有强弱层次(太平淡就听不出推力)
低频推进力底鼓给不给劲
拍位锁定重音是否牢牢落在拍位上
节奏密度甜区单位时间里事件的疏密是否舒服

其它

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)。导出完成的提示里会把实际保存路径完整列出来(等宽块,可直接框选复制)。

导入分析报告

已经有一份分析结果(自己或别人给的 CSV)时,点「导入分析报告 CSV」,选文件即可。

列名要求

必需列(缺任一则该行被跳过):

列名含义
bpm_raw理论节拍
score_total综合分

常用列:

列名含义
name曲名(缺失时用文件名)
path完整文件路径 —— 强烈建议带上
folder所在文件夹(缺失时从 path 推导)
bpm_feel体感步频
duration时长(秒)
grade评级
score_follow / score_drive踩点跟随 / 节奏驱动(子维度,缺则显示 —)
score_groove律动感(子维度,缺则显示 —)
⚠ 请留意

⚠ 不支持 path 的记录无法试听、同步与删除文件。 这些操作都需要真实文件路径。要用这些功能,请在 CSV 里补上 path 列(或直接重新分析本机文件)。

15. 设置、数据存放位置

你可以改的设置

设置在哪改会被记住
主题(亮/暗)顶栏右上角的月亮 / 太阳按钮是
目标位置工具栏「选择」是
我的步频筛选条输入框是
各列列宽拖动表头右缘是

偏好保存在:%APPDATA%\bpm-run-analyzer\settings.json

只有一个偏好文件,删掉它等于恢复默认(主题、步频、列宽、目标位置全部回到初始状态),不会动你的音乐文件。

运行文件在哪(单文件版)

%LOCALAPPDATA%\BpmRun\ —— 里面是解压后的程序本体与 .buildid 缓存标记。

删掉这个目录不会有任何损失:下次启动便携版会自动重新解压。音乐文件不在这里,它们始终留在你原来的音乐文件夹里。

本软件不写什么

不写注册表、不写系统服务、不在音乐文件夹里生成任何临时文件或元数据。

16. 窗口操作与键盘

操作效果
按住顶栏空白处左键拖动移动窗口
右上角系统按钮最小化 / 最大化 / 关闭
拖动窗口边缘调整大小(最小 1280 × 720)
拖动列表表头右缘竖线调整该列宽度
Esc关闭当前打开的「更多」菜单
点击对话框外的空白区域关闭该对话框

程序里的提示与确认都是自绘对话框(不是系统弹窗):标题、图标、正文、按钮与界面同一套样式,深浅主题自动跟随。

| 在筛选条上直接输入 | 所有筛选即时生效 |

17. 离线与隐私

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 许可证。

免责

许可

MIT License,Copyright (c) 2026 轩辕轼轲。随附的 LICENSE 文件为准。