A cross-platform desktop audio format converter built with Electron. Decrypts proprietary music formats (NCM, KWM, KGM, QMC, KGG) and converts between standard audio formats — all processing is done entirely offline on your local machine.
Developer: Akiro (AkiroMusic) · Contact: akiromusic@qq.com
Changelog: See CHANGELOG.md for the full release history.
| Category | Capabilities |
|---|---|
| Format Support | Decrypt .ncm (NetEase), .kwm/.kgm (Kuwo/Kugou), .qmc (QQ Music), .kgg (Kugou V5); convert to MP3, FLAC, WAV, OGG, M4A, AAC, AIFF, ALAC, Opus |
| Batch Processing | Queue hundreds of files, configurable concurrency (auto or manual 1–10), real-time progress bars |
| Metadata Preservation | Automatically writes title, artist, album, cover art, track number, genre, and year as ID3v2 tags |
| Audio Preview | Built-in player with play queue, previous/next, volume control, seek, and lyrics display |
| Custom File Naming | Flexible template system using {title}, {artist}, {album}, {track}, {year} variables |
| Conversion History | Persistent history with status filtering, clear, and retry capabilities |
| Loudness Normalization | EBU R128 standard (−23 to −6 LUFS), with presets matched to streaming platform targets |
| Lyrics | Extract embedded lyrics from source files; embed companion .lrc files during conversion |
| Themes | 7 themes: System, Dark, Light, Sepia, Forest, Ocean, Lavender |
| i18n | English & 简体中文, auto-detected or user-selected |
| Encrypted Key Management | QMCv2 ekey and KGG key database import for decryption of key-protected formats |
| Conversion Presets | Save and load preset configurations (format, bitrate, sample rate, etc.) |
| Settings Sync | Export/import settings across machines |
| Zero Configuration | FFmpeg is bundled in the installer — no manual setup needed |
Grab the latest installer from the Releases page.
| Platform | Architecture | File |
|---|---|---|
| Windows | x64 | AkiConvert-Setup-*.exe |
| macOS | Universal (Intel + Apple Silicon) | AkiConvert-*.dmg |
| Action | Shortcut |
|---|---|
| Paste file(s) from clipboard | Ctrl+V |
| Remove selected files | Delete |
| Select all / Deselect all | Ctrl+A (toggles) |
| Toggle fullscreen | F11 |
| Play / Pause audio preview | Space |
| Close context menu | Escape |
- Drag & drop: You can drag files or entire folders directly onto the drop zone.
- Encrypted formats: NCM, KWM, KGM, QMC files are decrypted automatically during conversion. Some formats (QMCv2, KGG) may require importing additional keys.
- FFmpeg fallback: If the bundled FFmpeg is not found, you can manually locate an existing FFmpeg binary in Settings.
- No data leaves your computer: All decryption and conversion is done locally. Your files never leave your machine.
- Node.js 22+
- npm 10+
git clone https://github.com/AkiroMusic/AkiConvert.git
cd AkiConvert
npm install| Command | Description |
|---|---|
npm run dev |
Launch development mode (Vite HMR + Electron) |
npm run build |
Build production bundles (main + preload + renderer) |
npm test |
Run test suite (Vitest) |
npm run download:ffmpeg |
Download FFmpeg for the current platform |
npm run download:ffmpeg:all |
Download FFmpeg for all platforms |
npm run build:win |
Build Windows installer (NSIS) |
npm run build:mac |
Build macOS disk image (DMG) |
npm run build:linux |
Build Linux AppImage |
| Layer | Technology |
|---|---|
| Framework | Electron 43 + electron-vite |
| Frontend | React 18 + TypeScript + Tailwind CSS |
| State | Zustand |
| i18n | i18next + react-i18next |
| Encryption | Node.js crypto (AES-128-ECB, RC4) |
| Tag Writing | Native ID3v2 implementation |
| Testing | Vitest |
| Packaging | electron-builder (NSIS / DMG / AppImage) |
src/
├── main/ # Electron main process
│ ├── ipc/ # IPC handlers (convert, dialog, settings, history, etc.)
│ ├── ffmpeg.ts # FFmpeg/FFprobe wrapper
│ ├── ffmpeg-path.ts # Platform-aware FFmpeg binary path resolution
│ ├── ffmpeg-check.ts # FFmpeg health check
│ ├── kggKeys.ts # Kugou decryption key management
│ ├── history.ts # Conversion history persistence
│ ├── simpleStore.ts # JSON-backed key-value store
│ └── window.ts # BrowserWindow creation & management
├── renderer/ # Electron renderer process (React app)
│ └── src/
│ ├── components/ # React components
│ ├── store/ # Zustand stores
│ ├── locales/ # i18n JSON files
│ └── styles/ # CSS tokens + Tailwind utilities
├── core/ # Shared core logic
│ ├── decoders/ # Per-format decryption implementations
│ ├── ncmDecrypt.ts # NetEase Cloud Music (.ncm) decryption
│ ├── id3Writer.ts # ID3v2 tag writer
│ ├── template.ts # File name template engine
│ ├── types.ts # Shared type definitions
│ └── supportedFormats.ts # Format support matrix
└── preload/ # Electron preload scripts
This project is licensed under the GNU General Public License v3.0.
Copyright © 2026 Akiro (AkiroMusic). All rights reserved.
一款基于 Electron 构建的跨平台桌面音频格式转换工具。解密专有音乐格式(NCM、KWM、KGM、QMC、KGG),并在标准音频格式之间进行转换——所有处理完全在本地离线完成。
开发者:Akiro(AkiroMusic)· 联系:akiromusic@qq.com
更新日志:完整版本历史见 CHANGELOG.md。
| 类别 | 能力 |
|---|---|
| 格式支持 | 解密 .ncm(网易云)、.kwm/.kgm(酷我/酷狗)、.qmc(QQ 音乐)、.kgg(酷狗 V5);输出 MP3、FLAC、WAV、OGG、M4A、AAC、AIFF、ALAC、Opus |
| 批量处理 | 队列容纳数百文件,可调节并发数(自动或手动 1–10),实时进度条 |
| 元数据保留 | 自动写入标题、艺术家、专辑、封面图、音轨号、流派、年份等 ID3v2 标签 |
| 音频预览 | 内置播放器,支持播放队列、上下曲、音量控制、进度拖拽和歌词显示 |
| 自定义文件名 | 灵活的模板系统,支持 {title}、{artist}、{album}、{track}、{year} 变量 |
| 转换历史 | 持久化历史记录,支持状态过滤、清除和重试 |
| 响度标准化 | EBU R128 标准(−23 ~ −6 LUFS),提供流媒体平台目标预设 |
| 歌词 | 提取源文件内嵌歌词;转换时嵌入同目录 .lrc 歌词文件 |
| 主题 | 7 种主题:跟随系统、深色、浅色、暖棕、森林、海洋、薰衣草 |
| 多语言 | 简体中文 & English,自动检测或手动选择 |
| 密钥管理 | 导入 QMCv2 ekey 和 KGG 密钥数据库,解密受密钥保护的音乐格式 |
| 转换预设 | 保存和加载预设配置(格式、比特率、采样率等) |
| 设置同步 | 跨设备导出/导入设置 |
| 零配置 | FFmpeg 已内置在安装包中,无需手动配置 |
从 Releases 页面 获取最新安装包。
| 平台 | 架构 | 文件 |
|---|---|---|
| Windows | x64 | AkiConvert-Setup-*.exe |
| macOS | 通用(Intel + Apple Silicon) | AkiConvert-*.dmg |
| 操作 | 快捷键 |
|---|---|
| 从剪贴板粘贴文件 | Ctrl+V |
| 移除选中的文件 | Delete |
| 全选 / 取消全选 | Ctrl+A(切换) |
| 切换全屏 | F11 |
| 播放 / 暂停音频预览 | Space |
| 关闭右键菜单 | Escape |
- 拖放操作:可以直接将文件或整个文件夹拖入拖放区域。
- 加密格式:NCM、KWM、KGM、QMC 文件在转换时自动解密。部分格式(QMCv2、KGG)可能需要导入额外密钥。
- FFmpeg 回溯:如果内置 FFmpeg 未找到,可在设置中手动指定已有的 FFmpeg 二进制文件路径。
- 数据安全:所有解密和转换均在本地完成,您的文件不会离开本机。
- Node.js 22 或更高版本
- npm 10 或更高版本
git clone https://github.com/AkiroMusic/AkiConvert.git
cd AkiConvert
npm install| 命令 | 描述 |
|---|---|
npm run dev |
启动开发模式(Vite HMR + Electron) |
npm run build |
构建生产包(main + preload + renderer) |
npm test |
运行测试套件(Vitest) |
npm run download:ffmpeg |
为当前平台下载 FFmpeg |
npm run download:ffmpeg:all |
为所有平台下载 FFmpeg |
npm run build:win |
构建 Windows 安装程序(NSIS) |
npm run build:mac |
构建 macOS 磁盘映像(DMG) |
npm run build:linux |
构建 Linux AppImage |
| 层次 | 技术 |
|---|---|
| 框架 | Electron 43 + electron-vite |
| 前端 | React 18 + TypeScript + Tailwind CSS |
| 状态管理 | Zustand |
| 国际化 | i18next + react-i18next |
| 加密 | Node.js crypto(AES-128-ECB、RC4) |
| 标签写入 | 原生 ID3v2 实现 |
| 测试 | Vitest |
| 打包 | electron-builder(NSIS / DMG / AppImage) |
src/
├── main/ # Electron 主进程
│ ├── ipc/ # IPC 处理器(转换、对话框、设置、历史记录等)
│ ├── ffmpeg.ts # FFmpeg/FFprobe 封装
│ ├── ffmpeg-path.ts # 平台感知的 FFmpeg 二进制路径解析
│ ├── ffmpeg-check.ts # FFmpeg 健康检查
│ ├── kggKeys.ts # 酷狗解密密钥管理
│ ├── history.ts # 转换历史持久化
│ ├── simpleStore.ts # 基于 JSON 的键值存储
│ └── window.ts # BrowserWindow 创建与管理
├── renderer/ # Electron 渲染进程(React 应用)
│ └── src/
│ ├── components/ # React 组件
│ ├── store/ # Zustand 状态仓库
│ ├── locales/ # i18n JSON 文件
│ └── styles/ # CSS 令牌 + Tailwind 工具类
├── core/ # 共享核心逻辑
│ ├── decoders/ # 各格式解密实现
│ ├── ncmDecrypt.ts # 网易云音乐(.ncm)解密
│ ├── id3Writer.ts # ID3v2 标签写入器
│ ├── template.ts # 文件名模板引擎
│ ├── types.ts # 共享类型定义
│ └── supportedFormats.ts # 格式支持矩阵
└── preload/ # Electron preload 脚本
本项目基于 GNU 通用公共许可证 v3.0 授权发布。
版权所有 © 2026 Akiro(AkiroMusic)。保留所有权利。