dsh-soundcheck
文本模型看不见声音。这个插件把一首歌拆成它能读的东西。
丢一首本地音频给它,它把能量、速度、调性、编曲密度量一遍,
再合成一段人话——哪里最满、哪一下反差最大、收尾是淡出还是硬切。
它不是让模型"听见",是让模型"读懂"。 没有多模态,也能对一首歌说上话;
代价是它只知道结构,不知道声音长什么样——人声、歌词、乐器只给方向,
能说的和不能说的它都会标出来。
说白了:给一首歌做体检。时长、响度、有没有削波、拍速、调性这些硬指标它说得比较准。
音频不出本机。 没有上传、没有联网、没有云端分析。
它真能帮上什么
不是吹的,下面这些是从实际对话里试出来的:
一首老钢琴曲,它能说出:
4 分 10 秒、99 拍;D# 大调但不太稳;前 16 秒几乎空着,之后一路铺满;
2:24 之后越往后越密;3:12 抽空 18 dB,3:28 又砸回来;4:00 淡出但底下还有东西。
它报告里说的那三件事,在曲线上就是三个点:
能量曲线:3:12 抽空、3:28 砸回、4:00 淡出
一首古筝领奏的器乐:
慢热型:前 32 秒铺垫,1:52 最密,2:24 开始加厚,4:32 塌下去、4:48 硬收尾。
和声一直在 D–E–F# 上打转,听感偏五声。
它还押了一句"民族/东方融合、偏配乐或国风电子"——方向是对的,但这是推断,不是测量。
一份只有鼓和贝斯的半成品:
低频占满、中高频空着;峰值 −3.7 dBFS、整体 −21.8 dBFS,还有 6–8 dB 余量。
这种"还差多少电平"的判断,对做混音的人最直接。
它不是在"听懂",它是把能量、密度、调性这些量出来,再合成一段判断。
它是怎么做到的
本机解码,然后算几样东西:
- 能量曲线:16 秒一块,绝对 dBFS,不归一化;
- 节拍:两条独立算法交叉验证,所以能发现"半速/双倍速";
- 调性:Krumhansl 模板 + 候选排序,模板不适用时会直说;
- 和弦:只到根音级,不硬猜大/小三度和七度;
- 编曲密度:起音密度、频谱变化率,用来判断"满不满";
- 声源:一个 16 MB 的小模型看"像什么",只当方向。
最后把这些合成三段:[判断](结论)、[依据](数字)、[可信](哪些能信)。
没有大模型,不联网,音频不出本机。
你看到的三个能力,其实是三种问法:
audio_analyze —— 整首
audio_section —— 某一段
audio_provision —— 装运行环境(/audio-install 背后就是它,也可以让助手直接调)
装
需要:Windows、Python 3.10+(命令行能跑 python -V)、约 550 MB 磁盘、第一次要联网。
三种装法,选一个:
- DSH 插件管理界面 → 从本地文件夹安装
- 命令行:
dsh plugin --profile desktop add "<你解压出来的目录>"
- 直接跟 DSH 说:"把这个插件装上,目录是 ……",让它自己装。
装完重启 DSH。
然后装运行环境——这一步不会自己偷偷开始,得你点一下:
- 在 DSH 里输入
/audio-install(/ 菜单里能看到,带说明)
- 它会告诉你:要下约 470 MB(librosa + onnxruntime + 16 MB 模型),大概几分钟,走国内镜像
- 装完再输入
/audio-status 可以确认状态
不想点也行,直接跟 DSH 说:"帮我把音频插件的引擎装好"——它会自己从头装到尾,不用你敲命令。
之后每次分析只要几秒。
怎么问
不用记命令,像跟人说话就行:
- "这首歌怎么样?"
- "副歌在哪?哪一段最满?"
- "2:40 到 3:10 这段怎么回事?"
- "速度多少?什么调?"
- "这歌是什么风格?"
追问 "为什么" 会给数字;追问 "像什么" 会给方向,并标上"这是推断"。
还有个好用的问法:"如果我猜错了,应该听到什么?" —— 它会给你一个反证条件,你听一遍就能否掉。
一句提醒
这是个轻量插件,没有大模型撑着。
结构、速度、响度、调性这些硬信息,它说得比较准;乐器和风格只能给方向——别拿它当严谨鉴定,尤其别拿它断中文乐器和细分流派。
许可
MIT。
第三方依赖与模型(librosa、scipy、onnxruntime、YAMNet 等)的许可见 THIRD_PARTY_NOTICES.md。