这是一个使用 Python 编写的工具,用于将网易云音乐的加密缓存文件(.ncm)批量转换为开放的音乐格式(MP3 或 FLAC)。
本项目的功能逻辑基于 C++ 项目 taurusxin/ncmdump 实现。
- 批量转换:自动处理指定文件夹内的所有
.ncm文件。 - 格式保留:能够识别原始文件是 MP3 还是 FLAC 格式,并生成对应格式的文件。
- 元数据嵌入:自动将歌曲的元数据(如歌名、专辑、艺术家)写入转换后的音乐文件中。
- 封面嵌入:自动提取并嵌入歌曲的专辑封面图片。
- 跨平台运行:基于 Python 编写,可在 Windows, macOS, Linux 等操作系统上运行。
- 2025-7-11更新:支持config.ini自定义转换后目录,添加转换后自动删除ncm文件功能,加入转换进度条和预计完成时间。
- 2025-7-12更新:支持多线程模式,可以在config.inizi中配置线程数量,留空为默认选择,优化UI显示
- Python 3.6+
pycryptodome库mutagen库
-
克隆或下载项目
将本仓库下载到您的本地计算机。
-
安装依赖
打开命令行(或终端),进入项目根目录,然后运行以下命令来安装所有必需的库:
pip install -r requirements.txt
-
准备文件
- 在项目根目录下,创建一个名为
ncm_files的文件夹。 - 将您所有需要转换的
.ncm文件复制到ncm_files文件夹中。
- 在项目根目录下,创建一个名为
-
运行转换脚本
在命令行中运行主程序:
python ncm_converter.py
(请确保您的 Python 脚本名称与此一致)
-
查看结果
脚本运行完毕后,所有转换成功的音乐文件将会保存在自动创建的
converted_music文件夹中。
- 请确保您的
.ncm文件是完整的。损坏的文件可能导致转换失败。 - 如果转换过程中提示元数据或封面写入失败,通常不会影响音频本身的播放,只是缺少了歌曲信息。
- 本工具仅供个人学习和技术研究使用,下载后请在 24 小时内删除。
- 严禁将本工具用于任何商业目的或非法用途。
- 本工具的目的是解析 ncm 加密文件的格式与算法,以促进技术交流。请尊重版权,支持正版音乐。
- 因使用本工具而产生的一切法律后果及责任,均由使用者本人承担。作者概不负责,亦不承担任何法律责任。
- 本项目的解密逻辑和算法实现参考了 taurusxin/ncmdump C++ 项目。