音乐文件夹越来越乱?这个工具一键搞定!
01 · 缘起
玩 NAS 的人都懂——买回来就是折腾,装了一堆服务,真正用上的没几个。
我和我老婆都爱听歌,所以从网上搜集了很多无损音乐放在 NAS 上。刚开始想着直接用网盘挂在本地,然后接上 Infuse,再配合 Audirvana Studio 用手机 App 播放。听起来很美好。
结果太卡了。
听个歌要缓冲半天,歌单切歌要等,根本没法好好听。于是只好把歌曲全部下载到本地,心想这下总该流畅了吧。
结果又发现问题了——下载到本地之后,重复的歌曲太多了。一首歌下载了好几份,有的高音质有的低音质,有的叫"38度6",有的叫"38度6-黑龙",还有的叫"黑龙 - 38度6"……好几千首歌,重复的少说也有几百首。
而且很多文件名乱七八糟,时间一长根本分不清哪个是哪个,更不敢乱删,怕把唯一的版本删掉了。
so,花了几个周末,写了这个工具。
02 · 初见
它能做什么
简单说:扫描文件夹,找出重复的音乐文件,帮你挑出要删的,一键清理。
支持格式:MP3、FLAC、WAV、AAC、M4A、OGG、APE、WMA,主流格式基本全覆盖。
三种扫描模式
① 文件名扫描
根据文件名相似度去重。比如"38度6.mp3"和"38度6-黑龙.mp3",算法一比对就知道是同一首歌。
② 音频指纹扫描
这一招更狠——直接读取音频内容,生成声纹(AcoustID指纹),同一首歌的不同版本、不同的码率,都能认出来。哪怕文件名改成"music_final_v2.mp3",也逃不过它的耳朵。
③ 两者结合
先按文件名粗筛,再用音频指纹精确比对,最全面也最耗时,适合追求完美的强迫症。
AI 歌名识别(重点!)
这应该是最实用的功能了。
很多人音乐文件名乱得一塌糊涂,规则引擎提取歌名经常出错。所以接入了大模型 AI,让它从文件名中"理解"出真正的歌名。
核心逻辑:AI 识别置信度必须达到 98% 以上才会采纳结果,低于 98% 就保持原规则引擎的结果。 宁可保守,也不乱改。
比如文件名"阿果吉曲-海来阿木 - 副本.flac",AI 识别出歌名是"阿果吉曲",置信度 99%,工具自动采用。
内置播放器,听完再删
很多人删音乐最怕的是什么?删错了。
这个工具自带播放器,扫描完双击任意文件直接播放,横向对比同一组的几个文件,确认哪份音质更好、哪份该删。听完了再勾选删除,删错的概率大大降低。
智能自动勾选
- 自动保留 FLAC 文件:无损格式优先保留
- 自动保留最大文件:同样格式下,留最大那份(音质通常更好)
勾完这两条,其实大多数情况下软件已经帮你选好了,你只需要点一下确认。
删除安全
所有删除操作不直接删文件,而是移到回收站,万一删错了还能找回来。
✦ 核心亮点
- 三种扫描模式(文件名 / 音频指纹 / 两者结合)
- AI 歌名识别,置信度 ≥98% 才采纳
- 内置播放器,听完再删
- 智能自动勾选规则
- 删除进回收站,不丢失数据
03 · 入手
🔗 软件获取
百度网盘: https://pan.baidu.com/s/10pZdPy8UpJ3QfgAwrnS4hw?pwd=9gj4 提取码: 9gj4
夸克网盘:https://pan.quark.cn/s/26d83eb8c25b 提取码:8DEx
💻 运行环境
- Python 3.x
- 依赖库:mutagen、pydub、pygame、acoustid、send2trash
- 音频指纹功能需配合 fpcalc.exe(Chromaprint)
04 · 闲话
写这个工具的初衷其实特别简单,就是自己被一堆重复音乐搞烦了。
说实话,做完之后发现 AI 歌名识别这块比预期好用。以前靠规则匹配,一遇到中文歌名就头疼,各种分隔符、编码乱七八糟。现在 AI 直接"读"文件名,理解能力比规则强太多了。
有兴趣的朋友可以试试,有问题或者建议欢迎交流。