Xiange Music MCP

io.github.ZhongQuinnKing由 GitHub 账号 ZhongQuinnKing 发布v0.2.1更新于 Oct 31, 2026

Local MCP server, eight music tools: OMR, transcription, theory and notation checks, convert.

已验证STDIO仅桌面媒体与设计AI 与机器学习

概览

AI 生成的概览

本地音乐 MCP 服务器,提供谱种识别、音频转谱、乐理与记谱校验、格式互转与渲染等八个工具。

可以做什么
  • 识别谱面图片的谱种并路由到对应引擎
  • 对印刷体五线谱图片或 PDF 做音符级 OMR,产出 MusicXML
  • 把音频或视频转成 MIDI 与 MusicXML,并提取音轨为 WAV
  • 做乐理校验(声部交叉、平行五八度、跨度)与记谱规范校验
  • 在 MusicXML、MIDI、MXL 之间互转并按半音移调
  • 用 LilyPond 渲染出 PDF 与 PNG
适用场景
适合需要把乐谱图片、PDF、音频或视频转成可编辑 MusicXML,或对已有乐谱做校验与出图的场景,全部在本机完成。
运行要求
以本地 stdio 进程在桌面运行。需要 Python 3.11 及 music21、numpy 等核心依赖,并需另行安装外部引擎:Audiveris 5.11.0、LilyPond 2.13.62、Basic Pitch(ONNX,WSL)与 PyAV;可选档位另需 verovio、playwright、opencv。未声明账号或 API 密钥。
安装前请注意
工具会向磁盘写出文件(MusicXML、MIDI、WAV、PDF、PNG)。外部引擎不是 pip 依赖,需手动配置。商用或改编需先联系作者。仅处理合法持有的乐谱,来源合法性由用户自负。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Xiange Music MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

弦歌 xiange

乐正线·一级

原作者:ZhongQuinnKing(主号署名) 许可:MIT,见 LICENSE.md 商用与合作:请先联系 [email protected](标题注明【商用授权】或【改编授权】);也可走本仓库 issue

给主流 AI 用的音乐能力包。姊妹篇:采诗读互联网、拾级陪人、玉尺量文章、弦歌弄音乐。

能力验证:一个真实的钢琴编配项目全程走通(选曲/取源/转谱/出谱),产出全部归本包。 项目本身不是成果,这套可复用的流程与工具才是。

流水线总览

任何输入(糊图/截图/哼唱/一句话/数字文件)  → 认曲:低质输入只是"线索",不硬做(docs/01)  →  ├─ 【数字源直通线】用户持有数字文件(自打/正版/下载)  │     → 验证三件套 → 直用(最快最准)  └─ 【搜索线】没有数字源        → 采诗换源:全网搜高质量谱——弹琴吧/B站链/平台矩阵(docs/02)        → 源择优:数字源 > 印刷高清 > 印刷普通;手写不用        → 转谱(引擎链+多引擎共识,docs/03)  →  符号层:从原谱图读取回填(连音/力度/踏板/指法)  → 精排(Dorico)→ 出谱

每一步都带来源与置信标注。 出库闸:核过的才许标"已验证",没核的一律标"待核对"(报"已验证"须附标准报告卡,口径见 docs/06)。

快速开始(含依赖)

环境:Python 3.11(参考环境用 conda env music-transcribe)。依赖按工具分档,零依赖件装包即用:

  • 零依赖(仅标准库):记谱两件(notation_check 体检/notation_fix 修复),可直接跑
  • 核心档(requirements.txt:music21、numpy):四级度量报告卡(omr_eval)、乐理关(theory_check)、分诊(triage)、体检修整(score_doctor)、共识系(consensus)、数字源验证三件套(verify)、音频对拍(verify_vs_audio)
  • 渲染档(requirements-render.txt:verovio、cairosvg、pillow):渲染交付(vv_render/render_v4)与 kern 修复(bekern_fix)
  • 浏览器档(requirements-browser.txt:playwright):简谱腿(deliver_dolce)
  • 输入路由档(requirements-vision.txt:opencv、numpy):工具_谱种路由、B站提页(bili_extract)

一键安装:

bash install.sh core        # 按档装:core / render / browser / vision / allbash install.sh all         # 四档全装

五分钟上手:

python3 tools/xiange.py doctor              # 环境自检(缺什么直接给修复命令)python3 tools/xiange.py check 谱.musicxml   # 记谱体检(零依赖,立即可跑)python3 tools/xiange.py selfcheck           # 判据级自测全列(一遍看全)

(route/fix/export 同壳入口;装不上看 docs/12-故障排查)

自测(判据级二十一套,与 CI 同款):

for f in tools/tests/test_*.py; do python3 "$f"; done

外部引擎(SMT/Audiveris 等)非 pip 依赖,接入见 docs/03;统一入口 tools/engine_runner.py(引擎注册表与 run.json 留痕)。

常用一条命令:

  • 记谱体检:python3 tools/notation_check.py 谱.musicxml
  • 谱面体检:python3 tools/score_doctor.py inspect 谱.musicxml
  • 谱种路由(入口):python3 tools/工具_谱种路由.py 谱图.png,一张图先判谱种(五线谱/六线谱/简谱等),再走对应引擎与工序
  • 乐理体检:python3 tools/theory_check.py 谱.musicxml(声部交叉/平行五八度/跨度上限可调/密度骤降/时值)
  • 成品出包:python3 tools/export_pack.py 谱.musicxml --out 目录 --title 曲名(五线谱三件+mxl/mid+简谱三件+试听+成品卡+zip)
  • 谱面规范查对:python3 tools/yuchi_score_check.py 谱.musicxml(谱面规范查对:小节对账/附点越界/连音线闭合/变音记号;只诊断不改谱,与记谱体检分工见规则档)

知识线:直接按 知识/90-音乐问答协议.md 的三层路径执行,零安装。

源获取(复刻线):依赖外部通道(采诗,开源公开:github.com/ZhongQuinnKing/caishi;各站边界见 docs/02)。没有该通道时的降级路径:只处理本机已有文件,或用公开搜索自行找谱(弹琴吧/B站等直达页面),按 docs/02 的源分级与各站边界走;不静默降级、不虚构来源。

目录

  • docs/ 工序文档
    • 01-输入处理(低质输入协议:差图=认曲线索)
    • 02-源获取工序(数字源+平台矩阵+各站边界)
    • 03-引擎链(SMT/oemer 现状与目标)
    • 04-质量体系(四道自动关+人工关+拒收线+分级承诺)
    • 05-交付标准
    • 06-评测口径(四级度量+报告卡+域内泛化分栏)
    • 07-已知局限(手写不做/低清拒收/符号层天花板)
    • 08-数字源验证教程(verify 三件套逐步命令)
    • 09-环境兼容矩阵(三平台实测)
    • 10-能力状态(各线:已验证/在办)
    • 11-出谱平替评估(MuseScore 4 第一轮实测)
    • 12-故障排查(常见坑速查;先跑 xiange doctor)
    • 13-复现挑战(公开基准样例包复现指引)
    • 引擎版本表(版本/权重/产物形态/验证日期/已知失败模式)
    • 册-五线谱/册-简谱(按谱种的工序卡)
  • tools/ 工具脚本(四列:工具|用途|依赖档|备注)
工具用途依赖档备注
notation_check.py记谱规范检器(符杠/符干/休止/谱表)零依赖
yuchi_score_check.py谱面规范查对(小节对账/附点/连音线/变音记号;只诊断)零依赖与记谱体检分工见 docstring
notation_fix.py记谱规范后处理(幂等)零依赖
omr_eval.py统一评价引擎(四级度量+标准报告卡)核心口径见 docs/06
theory_check.py乐理错检器(声部交叉/平行五八度/跨度/密度/时值)核心跨度上限可调
score_doctor.py谱面体检与修整(inspect/fix)核心fix 自带 .orig 备份
triage.py待裁闭环(发现环+机械裁+三色报)核心
verify.py数字源验证三件套核心教程见 docs/08
verify_vs_audio.py机器与谱面音频对拍核心下界指标
consensus.py多引擎共识融合核心
consensus2.py共识 v2(质量加权+闸门分流)核心
consensus2_note.py音符级对比试算核心
remeasure.py一键重测(机器×手工一致度)核心
music_check.py知识库定时质检核心
vv_render.py交付主链:MusicXML 到 SVG/PNG/PDF渲染A4 版式与批量
render_v4.pyv4 渲染(自查对照用)渲染
bekern_fix.pykern 语系骨架归一渲染渲染
deliver_dolce.py简谱腿:MusicXML 到简谱 PDF/PNG+123 文本浏览器单声部
export_pack.py成品导出层:MusicXML 到整包(八件+试听件)核心+渲染+浏览器字体 OFL 闸/可容忍模式
工具_谱种路由.py谱种路由入口(先判谱种再进链)输入路由
bili_extract.pyB站提页(翻页式谱视频提取谱页)输入路由
树转换器_v3.py古琴减字树转换(数据加工;需 GUQINMM_BASE/AUTODAPU_CSV)—训练类
驱动_甲路_训练.py古琴自训驱动(需 JIALU_SELF)—训练类
复测_四页分类隔离.py分类层隔离复测(需 JIALU_SELF/JIALU_GEN 与 --pages)—评估件
engine_runner.py统一引擎入口(图入 MusicXML 出;run.json 留痕)零依赖(引擎另装)引擎面
gen_bench.py基准样例生成(合成谱例十一首)核心
bench_run.py基准样例跑批(过三检器出对照;防退化闸)核心
xiange.py统一 CLI 壳(route/check/fix/export/doctor/selfcheck)零依赖入口件
doc_check.py文档与实况对账(防数字漂移,CI 挂载)零依赖
kb_todo_scan.py知识库待办核销扫描([?] 台账工具化)零依赖
m21_cache.pymusic21 解析缓存层(单流程只解析一次)核心库件
工具_移调.pyMusicXML 整体移调(任意调)零依赖移宫线
工具_定调.py歌者音域到建议调与推荐命令零依赖移宫线
工具_骨架表.py设计数据到一页缩谱(骨架表)零依赖云韶线
工具_张力账.py分段三量表(织体密度/音区重心/和声张力)零依赖云韶线
  • 自测:tools/tests/ 二十一套(原六套:test_omr_eval 五场景、test_theory_check 十一病例、test_score_doctor 重叠判据与 fix 安全网、test_triage、test_same_name_parts 同名声部防塌陷、test_notation 记谱两件最小闭环与幂等;新增十二套:test_integration 六小节端到端过三检器、test_bekern_fix 归一化、test_remeasure 分桶与滤除、test_verify 度量与冒烟、test_deliver_dolce 依赖守卫与 CLI 契约、test_export_pack 出包契约与坏源 fail-closed、test_yuchi_score_check 谱面规范查对五场景与误报边界、test_engine_runner 引擎壳契约与双适配器冒烟、test_xiange 统一壳契约、test_consensus 共识三模式判读与缺文件契约、test_vv_render 渲染腿契约与 CJK 修复、test_spec_route 谱种路由契约与合成图判读;续增三套:test_verify_vs_audio 音高类一致度函数件与 CLI 契约、test_music_check 知识库质检 rc 口径与环境口、test_bili_extract 谱视频提页缺件降级与合成跑通),随时可复跑验证判据;另有过闸轻量静态查(ruff E9,F)
  • examples/bench/ 公开基准样例包(十一首合成谱例+清单+定版预期;跑批 python3 tools/bench_run.py)。样例全部自造,验「流程可复现」,不承诺准确率数字
  • SKILL.md 技能入口(给 AI 装包的总说明;两条能力线分流)
  • xiange-mcp/ MCP 服务发布面(v0.2.0:识谱/光学识谱/音频转谱/音轨分离/乐理校验/记谱规范/格式互转移调/渲染出图,npm 包 xiange-mcp)
  • CHANGELOG.md 更新日志(版本制度与版本史)
  • CONTRIBUTING.md 贡献指南(含版权审查节)
  • ROADMAP.md 路线图(六域排期与里程碑)
  • NOTICE 权利与许可声明(五档许可记录+接管条款)
  • 知识/ 音乐知识底座(十域十六份约十万字:乐理记谱/和声/曲式/复调/配器/编配即兴/风格体系/世界音乐/音乐史/音乐教育,+问答协议与动态档;入口见 知识/_总纲.md)。更新机制:按批修订升版(版本史见 CHANGELOG);缺口走 issue(域/描述/来源);最后核验 2026-10-13;时效类与开放项按巡检制定期复核(下轮巡检 2026 年 11 月上旬)

现状(2026-10-12)

已验证:

  • 数字源路:钢琴编配项目全曲 1175 音符〔MIDI 发声数〕全数到谱(分布相似 0.987、零偏移对齐、抽核吻合)
  • B站链:歌名 → 搜索 → 视频下载 → 19 页全曲提谱(免登录、全自动)
  • 引擎链(无数字源转谱):多引擎共识链打通(SMT/homr/Audiveris 三路互补,docs/03),全谱集批量实测落定
  • 质量闸门:旧错误逐类对账、拦截机制上线(docs/04);废品件被自检拦下并量化

在办(边界如实):

  • 符号层回填、Dorico 精排:按 docs/05 工序执行,自动化程度逐件推进
  • 谱种线扩展:简谱/六线谱/工尺/古琴等分册在册,覆盖逐线扩展
  • 维护节奏:按批推进,批内逐件销账;问题件走 issue 随批处理(本页核验日 2026-10-13)
  • 能力状态一览:docs/10-能力状态.md(各线:已验证/在办,随批刷新)

边界与合规

  • 数字源不随包分发(版权);本包只给"找、验、合"的手艺
  • 乐谱版权:本包仅处理用户合法持有的乐谱(自有、正版、公有领域或已获授权);输入来源的合法性由用户自负其责;本包不提供受版权保护谱面的下载或分发
  • 零出机原则;付费工具自动切平替

来源:README.md,提交 d3f3eed

工具

8

recognize_score

识谱(谱种识别与路由)

识别谱面图片的谱种(五线谱/六线谱/简谱/方块字谱等)并给出后续引擎路由。本工具不做音符级 OMR,只到谱种识别与路由,不产出 MusicXML。

输入参数image_path必填output_dir

omr_score

音符级 OMR(Audiveris)

用 Audiveris 5.11.0 对印刷体五线谱图片/PDF 做音符级识别,产出 MusicXML(.mxl 与解压后的 .musicxml),并用 music21 回读复验音符数。不可识别或非谱面输入会结构化拒绝。

输入参数path必填engineoutput_dir

transcribe_audio

音频/视频转谱

音频经 Basic Pitch(ONNX,本地 WSL)转 MIDI,再由 music21 量化生成 MusicXML;同时跑乐理与记谱校验。视频先用 PyAV 提取音轨(16 kHz 单声道 WAV)再走同一链路。

输入参数tempoquantizemedia_path必填output_dir

extract_audio

音轨提取(PyAV)

从视频或音频容器中解码音轨,按指定采样率与声道数写出 16-bit PCM WAV;无音轨的视频会以 no_audio_stream 结构化拒绝。

输入参数monopath必填output_dirsample_rate

check_theory

乐理校验

调用 music-pack 的 theory_check:声部交叉、平行五八度、跨度过大、声部密度骤降、小节时值等机械可判项。

输入参数output_dirscore_path必填span_limit

check_notation

记谱规范校验

调用 music-pack 的 notation_check:符杠分组、符干方向、休止符布局、谱表分配。只接受未压缩 MusicXML。

输入参数output_dirscore_path必填

convert_transpose

格式互转与移调

用 music21 在 MusicXML / MIDI / MXL 之间互转,并按半音数移调;输出回读复验音符数与移调增量。

输入参数semitonesoutput_dirscore_path必填output_format

render_score

渲染出图与 PDF

music21 生成 LilyPond 源,由 LilyPond 2.13.62 输出 PDF 与 PNG。旧版 LilyPond 对中文标题支持有限,会标注。

输入参数titleformatsoutput_dirscore_path必填

版本历史

1
  1. v0.2.1最新Oct 24, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分