Agent 与自动化AI 资源
HarmoniaTextor:神经符号古典音乐生成系统
xhdlphzr/HarmoniaTextor · HarmoniaTextor
ELI5:它是什么,解决什么问题
HarmoniaTextor 是一个神经符号古典音乐生成项目:由大语言模型充当作曲家,配合确定性的符号层(作曲技法包、对位检查器和可插拔体裁框架)对每一步生成进行验证,并最终输出 MusicXML 乐谱。整个流程通过 Flask/pywebview 界面呈现,支持现场乐谱渲染、试听、审阅 AI 反馈、版本回滚和 MIDI/M4A/MP3 导出。
核心能力与快速开始
★ 4 · Python
- 能做什么
- 组合大语言模型(LangChain ReAct 循环,OpenAI 兼容端点)与确定性符号层,实现端到端的古典音乐创作:作曲智能体自动确定调式、发展旋律并生成 MusicXML;符号层提供 25 个技法包、14 条对位检查规则与可插拔体裁(plain、sonata、concerto、symphony);独立的审阅 AI 在符号层通过后再次检查乐谱并反馈至同一创作会话。支持双步作曲会话(先规划各乐器与情感弧线,再在同一会话中作曲)、90% 上下文窗口时自动压缩、全分谱修订模型及回滚与审计日志、乐器感知声部(可多声部同乐器)、单页网页工作台(实时进度、OpenSheetMusicDisplay 实时五线谱渲染、自动播放、定稿/反馈与导出),并可将 MusicXML、五线谱 PNG、M4A 与 MP3 导出到 ~/Downloads。项目数据(作品、乐章、修订、主题与日志)存储在 ~/.harmonia_textor/history.db(SQLite,可用 HARMONIA_DATA 覆盖目录)。
- 适用场景
- 适用于让大语言模型作为作曲家自动生成古典音乐并输出 MusicXML 乐谱;通过网页工作台试听、审阅并迭代乐曲;利用符号检查规则保证对位与作曲技法约束;按体裁(奏鸣曲、协奏曲、交响曲等)和风格(巴洛克、古典、浪漫、印象派)生成作品;导出 MIDI/M4A/MP3 或 MusicXML 到本地;也可作为神经符号与音乐生成结合的研究或实验实现参考。
- 项目形态
- 可直接使用的工具
- 部署方式
- 提供多种方式:本地运行(uv run ht 启动 pywebview 桌面应用,Windows 与 macOS 开箱即用;Linux 需先安装 Qt WebEngine 后端);Docker 方式(docker-build.sh 构建、docker-run.sh 在 http://localhost:5000 提供服务);PyInstaller 打包(HarmoniaTextor.spec,CI 在 Windows/macOS/Ubuntu 构建发布包)。UI 完全离线(内置字体与 OpenSheetMusicDisplay)。M4A/MP3 导出需要 FluidSynth、General MIDI 音源与 ffmpeg,桌面应用首次启动会在后台下载它们到 ~/.harmonia_textor/vendor。
- 主要依赖
- Python 3.14+ 与 uv;作曲与审阅需要 OpenAI 兼容的 chat 模型端点(配置文件 ~/.harmonia_textor/config.json,含 base_url、api_key、model、context_window,也支持 LLM_BASE_URL / LLM_API_KEY / LLM_MODEL 环境变量);音频导出需要 FluidSynth、General MIDI soundfont 与 ffmpeg;符号层依赖 music21 ↔ MusicXML 桥接。文档未说明具体硬件要求与模型 API 成本。
- 使用限制
- 材料未说明模型 API 的具体成本、速率限制或可用性;音频导出依赖 FluidSynth、soundfont 与 ffmpeg,若首次下载失败则音频功能不可用;assets/ 下的图标采用 CC-BY-NC-ND-4.0 许可(与 MIT 代码许可不同);首次启动下载以及桌面打包(PyInstaller 发布包分为 1 GiB 分卷)可能受平台或网络条件影响。文档未说明其他部署限制。
- 许可证
- MIT
- 最近推送
- 2026-10-07 21:03
资料检查:2026-10-08 07:00 · 卡片整理:2026-10-09 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证 · 本次更新未完成,保留上次成功内容
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。