Skip to content

AI_MIDI v3.0.0 — 原生桌面编曲工作台(Go 重写)

Choose a tag to compare

@abab996 abab996 released this 28 Aug 14:36
· 6 commits to main since this release

🎹 AI_MIDI v3.0.0 — 从网页应用到原生桌面编曲工作台

v2.0.1(Python 版)证明了"一个 API Key 就能让 AI 辅助音乐创作"。v3.0.0 用 Go + Wails v2 从零重写,把这套理念推到了原生桌面级:新增 FL Studio 风格编曲窗、钢琴卷帘、输出机架、JUCE 原生音频引擎(ASIO 低延迟 + 离线导出 WAV),并补齐项目全局 BPM、快速任务、使用声明引导等一整套体验。AI 辅助创作的核心流程(多轮对话 / 快速任务 / 乐理知识库 / 工作区绑定 / 撤销恢复)全部保留并增强。

发布日期:2026-08-28 · 规模:53 个提交 · 约 3.1 万行代码(Go 15.6k + 前端 JS 15.2k)· 220 个跟踪文件


⚡ 一次看懂:v2.0.1 → v3.0.0

v2.0.1(Python) v3.0.0(Go 原生)
运行形态 FastAPI 本地服务 + pywebview 窗口,需 Python 3.10+ 环境 单文件桌面应用,双击即用,无需任何运行时
启动速度 数秒(Python 解释器 + 依赖加载) < 1 秒(原生窗口 + 透明启动图)
音频输出 依赖浏览器 Web Audio JUCE 原生引擎:ASIO / WASAPI / DirectSound 低延迟;无引擎自动降级 Web Audio
编曲能力 —(无) FL Studio 风格编曲窗 + 钢琴卷帘 + 输出机架
安装 PyInstaller 打包 / 源码运行 Inno Setup 安装包(per-user 免管理员)+ Linux 压缩包
分发体积 数百 MB(带 Python 运行时) 11 MB 安装包(含原生音频引擎)

🆕 全新功能(v3.0.0 新增)

🎚 编曲窗(早期测试版)

  • FL Studio Playlist 风格时间线:多轨道、Clip 拖拽/切分/吸附/循环区间/撤销重做,三域焦点仲裁的完整快捷键体系
  • 钢琴卷帘:双击 MIDI Clip 直接编辑音符,力度/属性面板、拖拽克隆等 FL 惯例全集
  • 输出机架:浮动机架更换音色、导入 SF2 音色库(IndexedDB 本地持久化)、通道条拖拽分配/替换音源、试听
  • 素材库树:素材目录注册 + 树状浏览,拖拽入轨
  • 编排数据自动保存;窗口内状态(BPM/缩放/循环)随工程持久化

🌡 项目全局 BPM

  • 改一处处处生效:走带、节拍器、循环、采样调度、离线导出全部跟随
  • AI 生成新 MIDI 自动跟随全局 BPM(用户当次明确指定的速度永远优先);已有 MIDI 文件保持自身速度不变

🔊 JUCE 原生音频引擎(Windows)

  • ASIO 低延迟监听、WASAPI / DirectSound 支持、实时电平表、走带时间码跟随
  • 离线渲染导出 WAV:按全局采样率渲染,尾音到静默不截断
  • 引擎崩溃自动重启(Job Object 内核兜底 + 父进程看门狗,三重防孤儿)
  • 无引擎环境自动降级 Web Audio,功能完整

🛡 稳定性与安全加固

  • 会话并发安全:流式回复期间的轮询与状态读写全面加锁(竞态检测器验证)
  • 本地 API 来源校验:仅接受本机/Wails 来源请求,阻断 DNS rebinding 与跨站驱动
  • SMF 解析加固:畸形 MIDI 文件不再可能触发内存耗尽;路径穿越全链路防护
  • ASIO 切换自愈:驱动打开卡死时 15 秒内提示「<设备名> 未响应」并自动回退上一个可用设备,应用永不假死

✨ 保留并增强(相对 v2.0.1)

  • 多轮对话:MCP 工具调用全保留;流式输出重构为增量推送(长回复不再越到后面越卡)
  • 快速任务:配和弦 / 翻译歌词 / 设计转音 / 自定义,整合进对话页弹窗
  • 乐理知识库:20 份知识库原样迁移,AI 按需查阅
  • 工作区绑定:留空点「绑定」直接弹系统目录选择器(桌面与浏览器模式均支持)
  • 消息编辑 / 撤回 / 撤销:含 AI 文件变更的回滚(回收站机制)
  • 多任务管理:任务面板、任务切换、后台续跑
  • 思考过程可视化、草稿自动保存、暖纸/暗蓝双主题
  • 首次启动使用声明、各入口引导提示

🚀 下载与安装

文件 说明
AI_MIDI_Setup_3.0.0_windows_amd64.exe 推荐 — Windows 10+ x64 安装包(含 JUCE 音频引擎),per-user 免管理员,中文向导,卸载保留用户数据
AI_MIDI_v3.0.0_linux_amd64.tar.gz Linux x64(浏览器音频合成;桌面模式需 webkit2gtk)
Source code (zip / tar.gz) 源码构建:Go ≥ 1.27 + Wails v2,wails build

📌 升级与兼容性说明

  • 全新安装即可:v3 与 v2 的安装位置、数据目录互不影响;安装包沿用 v2 的应用标识,覆盖安装会原位升级
  • settings.json 基本兼容:api_key / base_url / model 等字段可直接沿用;新增 audio 全局段(驱动/设备/采样率)
  • ⚠️ v2 的 projects/ 工程数据与 v3 不通用(数据结构重设计):请把 v2 工程里的 MIDI 文件导出后,在 v3 中重新导入使用
  • 密钥仍然只存本机 settings.json,绝不入库、不上传

📖 文档

  • README_zh.md — 功能总览与快速开始(中文)
  • README.md — English overview
  • docs/ — 架构决策、引擎 IPC 协议、编曲窗设计基准等开发者文档

AI_MIDI — All you need is one API. 🎵