开源的简谱(JP-Word /
.jpwabc)在线排版与编辑器 · An open-source jianpu (numbered musical notation) editor & typesetter.
🌐 在线试用 / Live demo:https://lodebar2026.github.io/jpeditor/
简谱(JP-Word / .jpwabc)与文本谱(番茄简谱 / 诗歌本动态谱)排版与编辑器。
左侧高亮代码编辑器,右侧实时简谱预览,支持点选、翻页、文本谱原生编辑(番茄简谱脚本 / 诗歌本文本谱,原版与 PPT 双版面)、简谱与五线谱混排(加载 MusicXML 排版)、MusicXML 导入导出、简谱图片识别(OMR)、ABC 记谱导入、乐谱播放,以及导出 PDF / PNG / MIDI / 矢量 PPTX。
jpeditor is an open-source editor and typesetter for jianpu (Chinese
numbered musical notation) in the .jpwabc (JP-Word) format. Edit the score as
text on the left and see a live SVG preview on the right. It also natively supports
plain-text jianpu scripts (Fanqie / Shigeben — the latter known as "dynamic score"
in the Shigeben app). It supports mixed
jianpu + staff (Western) notation typeset from MusicXML, MusicXML import & export,
optical music recognition (OMR) of jianpu images, ABC notation import,
score playback, and export to
PDF / PNG / MIDI / vector PPTX. It runs in the browser
(no install) and as a lightweight Windows / macOS desktop app (Tauri 2).
- 🌐 Live demo: https://lodebar2026.github.io/jpeditor/
- ⬇️ Desktop downloads: Releases
.jpwabc实时编辑:CodeMirror 6 编辑器 + 语法高亮,编辑即重排重渲染- SVG 矢量渲染:乐谱以 SVG 绘制,分辨率无关;用浏览器
getBBox/getComputedTextLength测量,与渲染同一引擎、天然一致 - 点选与高亮:点击音符/歌词即选中(CSS 高亮,不重渲染),状态栏显示信息
- 分页:按比例自动分页(16:9 / 4:3 / A4),可设每页行数
- 简谱图片识别(OMR):拖入简谱照片/截图即识别为 MusicXML 再导入排版。本地识别、
浏览器/桌面均可、可离线:连通域几何启发 + PaddleOCR PP-OCRv6_small 数字/歌词识别,含逐音节↔音符
对齐与页眉标题/词曲/调号识别
- 识别核对视图:识别后自动进入「识别 / 排版」可切换模式,把识别结果按源图坐标叠加在二值图上
比对——支持原位叠加 / 附近浮窗 / 仅原图三种视图;点选识别对象即选中对应
.jpwabc代码, 悬停高亮并弹出整行 / 页眉浮窗,便于逐音校对
- 识别核对视图:识别后自动进入「识别 / 排版」可切换模式,把识别结果按源图坐标叠加在二值图上
比对——支持原位叠加 / 附近浮窗 / 仅原图三种视图;点选识别对象即选中对应
- ABC 记谱导入:拖入或「打开」
.abc文件即自动转 MusicXML 再排版为简谱,复用 MusicXML 导入 路径,天然支持多声部、连奏、重复 / volta、和弦、装饰音、broken-rhythm、调号变更、C:字段作词 作曲等。转换忠实移植自 Willem Vree 的abc2xml,输出与原脚本逐字节一致 - 文本谱(番茄简谱 / 诗歌本动态谱):两套纯文本简谱记谱语言作为第一等源格式——
打开或拖入即编原文(自动嗅探方言、语法高亮、诊断提示),按各自的排版规则渲染
「原版」连续长图与「PPT」16:9 分页两种版面,支持四声部并排、和弦、力度、倚音、跳房子等;
可导出 MusicXML(由文本谱直出,保留和弦/力度/多声部)、
.jpwabc、MIDI、矢量 PPTX, 也能直接试听(光标逐音高亮跟随)。诗歌本文本谱即《诗歌本》app 里所说的「动态谱」。 见 docs/实现/文本谱.md - 乐谱播放:内置播放,光标跟随当前音符,两路音源;按谱面标注的速度(
.Title的Expression = {♩=76})演奏,工具条可再调 ×0.5~×2 倍速,试听与导出 MIDI 共用 - 乐句分析排版:MusicXML / OMR 导入时按乐句自动断行——综合歌词标点、音乐信号(延长号 / 终止线 / 长音 / 休止 / 连线)与重复旋律结构,在小节边界找乐句断点并凑成疏密适中的行长 (每页至多 4 行、末页 3+2)
- 文件:打开 / 保存 / 另存为 / 拖拽打开(UTF-16LE 编解码,兼容 JP-Word)
- 浏览器在线版(免安装):https://lodebar2026.github.io/jpeditor/
- 桌面版下载:Releases
- macOS 首次打开提示“已损坏”或“无法验证开发者”?见 docs/macOS-打不开.md(应用未签名,属正常现象,一条命令即可解决)。
完整技术框架、架构要点与项目结构见 docs/技术栈.md。
构建、运行与无头校验命令见 docs/开发.md。
各阶段完成情况与打包产物体积见 docs/进度.md。
本项目站在这些工作之上,一并致谢:
- abc2xml(Willem Vree)—— ABC → MusicXML 转换, 本项目的 ABC 导入是对它的忠实移植
- open-fanqie(MIT)—— 番茄简谱脚本的第三方开源 解析/渲染实现;番茄简谱脚本规范文档见 https://fqdoc.linho.cc/
- Bravura / SMuFL(Steinberg,SIL OFL)—— 音乐字体与字形元数据
- PaddleOCR(Apache-2.0)—— OMR 里数字与歌词的 识别模型;推理运行时用 onnxruntime-web 与 tesseract.js
- CodeMirror 6、ANTLR 4、 Tauri 2、Vite、TypeScript —— 编辑器 / 解析 / 桌面外壳 / 构建
- opencc-js(简繁转换)、 pdf.js(PDF 栅格化)、 jsPDF(PDF 导出)、 smplr(试听音源)、 fflate(PPTX 打包)、 opentype.js(字形轮廓)
本项目代码以 MIT 授权(见 LICENSE)。随附 Bravura 字体按 SIL OFL 授权
(见 public/redist);各第三方依赖的许可以其自身声明为准。

