Agent Skills
返回列表
NCM音频转换器

NCM音频转换器

设计多媒体 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_9608010a/ncm2mp3。

技能介绍

问题:网易云音乐的加密音频无法直接播放

网易云音乐下载的 .ncm 文件是加密的,即使扩展名看起来像普通音频,实际上内容被 AES-128-ECB 和 RC4 双重加密保护。这意味着你无法用常规播放器打开,也无法在其他设备上使用。如果你需要把下载的音乐转换成 MP3、FLAC 等标准格式,就必须先解密并转换。

工作原理:纯 Python 解密与格式转换

该技能通过一个 Python 脚本实现解密和转换,核心基于 ncmdump 算法移植,使用 pycryptodome 库处理 AES-128-ECB 和 RC4 解密。脚本会在首次运行时自动检测并安装依赖,无需手动配置环境。

  • 自动识别输出格式:脚本会分析原始 .ncm 文件的编码,自动输出对应的 .mp3、.flac、.ogg 或 .wav 文件,扩展名与实际编码一致。
  • 流式处理大文件:采用 1MB 块流式读写,避免一次性加载整个文件到内存,适合处理大型音乐库。
  • 批量转换与进度显示:支持传入目录路径,批量处理时显示 [1/N] 进度,转换结果默认保存在源文件同目录,也可通过 -o 参数指定输出位置。
  • 保留原始文件:转换过程不会删除或修改原始 .ncm 文件,确保数据安全。

适用边界与注意事项

  • 格式由原始编码决定:输出格式取决于 .ncm 文件原始编码,无法强制指定为 MP3。如果文件实际是 FLAC,脚本会输出 .flac。
  • 批量处理超时设置:处理大量文件时建议设置 timeout=300000(5分钟),避免因长时间运行导致中断。
  • 依赖自动安装:仅依赖 pycryptodome,脚本会在首次运行时自动安装,但需要 Python 环境。
  • 原始文件保留:转换后原 .ncm 文件不会被删除,如需清理需手动操作。

使用场景

  • 你从网易云下载了一批加密的 .ncm 文件,想转成 mp3 放到手机或播放器里离线听
  • 你整理本地音乐库时,需要把整个目录下的 .ncm 批量解密并转为标准音频格式
  • 你帮别人转换 ncm 文件时,对方给了目录路径,你要把其中所有文件解密后保存到指定文件夹
  • 你手上有一份大体积 .ncm 音乐,担心内存不够,需要用流式处理安全转换成 wav

适合人员

  • 个人音乐爱好者,想把网易云下载的加密音乐转成通用格式在任意设备播放
  • 整理本地音乐库的普通用户,需要批量解密 ncm 文件并归档为 mp3 或 wav
  • 帮同事或朋友处理 ncm 文件的技术爱好者,需要快速完成单文件或批量转换
  • 需要在服务器或自动化流程中处理 ncm 文件的开发者,要求脚本支持目录批量处理和自定义输出路径