Description
技术栈:
采音识别: librosa 音频信号处理 + OpenAI Codex 智能规划。
底层基于 librosa 提取音频特征(Mel-Spectrogram),使用 librosa.onset.onset_detect 结合频谱通量算法定位节拍起始点。对检测结果做后处理:基于 BPM 先验信息进行节拍量化对齐,过滤低于动态阈值的弱 onset,通过最小间隔约束去除密集误检。对不同频段分离检测后加权合并,提升复杂编曲下的召回率。
上层引入 Codex 大模型作为 Plan Agent:在 onset 原始检测完成后,将完整的 onset 时间序列 + BPM + 音频能量包络作为 context 提交给 Codex,由模型自主规划后处理策略 —— 包括判断当前曲目风格、动态调整各频段的检测权重、识别出 intro/verse/chorus 等段落边界、决定哪些密集区域需要降采样、哪些稀疏段落需要补点。整个过程通过mcp 调用底层 librosa 工具链执行,平均单曲耗时5分钟左右。
谱面生成: 接入 OpenAI Codex-5.3,以 onset 时间序列 + BPM/模式元信息作为 structured prompt,驱动 LLM 生成完整谱面 JSON。生成过程引入多轮 Chain-of-Thought 推理:先由模型自主分析曲目段落结构(intro/verse/chorus/bridge/outro),再逐段规划配置密度和手法风格,最终以 streaming 方式逐 note 输出。
Agent 架构范式:
本工具集成了多套上下文工程能力,
Skills: 封装了 onset_detect、chart_generate、difficulty_analysis、pattern_recognition 等原子技能,每个 Skill 独立可调用、可组合
MCP Tools: 实现了标准 MCP 工具链,包括 file_reader(谱面文件读取)、beat_calculator(节拍精确计算)、pattern_library(模式库检索)、constraint_validator(谱面合规校验)等,模型在推理过程中可自主决定调用哪些工具
RAG: 内置向量化谱面知识库,存储了本人之前公开、未公开等谱面作品。(声明:本人严格遵守版权,从未有未授权去使用和下载商店和公开的他人谱面。)。生成前会根据当前曲目的 BPM、时长、风格标签检索 Top-K 相似谱面作为 few-shot 参考,显著提升生成质量和风格一致性
Memory: 维护用户偏好画像和历史会话上下文,记忆谱师的轨道偏好、难度倾向、常用配置手法,实现个性化生成。
与malody插件通信
双通道并行 —— HTTP API(端口 8632)+ 文件系统 IPC。Malody Editor 的 Lua 插件环境是纯沙箱,无网络能力、无标准库扩展,因此利用编辑器暴露的 ReadFile / WriteFile 接口,在谱面目录下建立 .ai_request → .ai_response → .ai_progress 三文件握手协议。Python 端通过 FileWatcher 轮询监听,实现准实时双向通信。
Lua插件
完全参考malody官方文档。懂得都懂。
Comments
Skills 都上了啊,有点东西,在 github 上我记得应该有类似项目
♥ 2 ↩ 1
[点赞][点赞][点赞]