这个项目能做什么
MIDIChords 是一个 monorepo,包含一个可在桌面、网页和移动端使用的 MIDI 和弦及音乐理论应用。该项目已在 iOS/macOS App Store 和 Microsoft Store 上发布。
架构和平台:
- apps/desktop:使用 Qt/PySide6 和 Python 构建的桌面应用,兼容 Tk API。
- apps/web:基于 Cloudflare Worker 的网页应用,前端使用 JavaScript。
- apps/mobile_flutter:使用 Flutter 开发的 iOS/Android 平板应用。
- midichords:Python 实现的音乐理论、音频和桌面功能;网页和 Flutter 版本在无法复用 Python 时保持等效实现。
- assets:共享的图形资源和音频样本。
已证实的功能:
- 和弦的和声检测。
- 和弦生成。
- 音阶生成。
- 模式列表。
- Flutter 应用还包含节拍器和调音器。
- 文档提到网页前端具备 SPA 模式及五度圈。
技术要求:
- 桌面应用需要 Python 3.12 或 3.13(Python 3.14 与 NumPy、PySide6 和 python-rtmidi 有兼容性问题)。
- 本地网页开发需要 Node.js 和 wrangler。
- 移动端需要 Flutter 3.38+。
- 已准备好用于 Flatpak/Flathub 打包的基础。
项目包含按平台(python、web、mobile、all)的验证脚本,共享资源的自动同步,以及用于通过 GitHub Actions 将代码部署到 Cloudflare Pages(通过 v* 标签)的 CI 流程。此外,还详细记录了 macOS 的完整签名和公证流程(Developer ID 和 Mac App Store)、iOS App Store 发布以及 Windows 安装程序的生成。
评论
0 评分人数达到10人后显示
登录后参与讨论。