博客指南
MusicXML、MIDI 和 PDF 有什么区别?你该用哪一种
以 MusicXML 4.0 和标准 MIDI 文件(SMF)规范为依据的直白对比,附上我们实测 MIDI 转成乐谱时遇到的问题。
先说结论
乐谱还要继续编辑,就导出 MusicXML;音乐要导入 DAW(编曲软件)或合成器,就导出 MIDI;要给人看谱或打印,就导出 PDF。MusicXML 存的是写出来的乐谱:音符的音名写法、调号和拍号、休止符、声部和歌词。MIDI 存的是一次演奏(按了哪个键、什么时候按、按多重),所以要把它变回乐谱只能靠猜。PDF 存的是排好的页面,里面没有任何音乐软件能编辑的内容。
MusicXML 是什么?
MusicXML 是一种基于 XML 的开放乐谱文件格式,用于在打谱软件之间交换和存档乐谱。最新的定稿版本 MusicXML 4.0 由 W3C 音乐记谱社区组(Music Notation Community Group)于 2021年6月1日发布,性质是社区组最终报告,和正式的 W3C 标准不是一回事。2026年8月,该社区组表示正在推进 4.1 版。
它按乐谱的写法来描述音乐。音高由音名、升降变化和八度三部分组成,所以 D♯ 和 E♭ 始终是两个不同的音。每个音符既有时值(按四分音符的细分单位计数),也有书面类型,比如附点八分音符。休止符、声部编号、符杠、符干方向、调号(用五度圈上的位置表示:正数代表升号,负数代表降号)、拍号、带段号的歌词,以及可选的页面和谱行排版,都有各自的元素。这种格式还把声音和外观分开:速度可以按每分钟多少个四分音符来存,音符也可以带上细微的起音和释音偏移,这些属于演奏,而不属于谱面。
打谱软件靠它互换乐谱。MuseScore Studio、Dorico 和 Sibelius 的文档都写明支持导入 MusicXML;MakeMusic 的 MusicXML 网站列出了 260 多款支持该格式的应用(2026年10月3日查阅)。
MIDI 文件是什么?它缺了什么?
MIDI 文件是一份按时间排列的演奏事件清单:哪个键在什么时刻、以多大力度按下,又在什么时刻抬起,该用哪种乐器音色发声。MIDI 1.0 诞生于 1983年。它的文件格式“标准 MIDI 文件 1.0”(RP-001,最近一次修订是 1996年2月)就是为了让软件之间能交换带时间戳的 MIDI 数据。
MIDI 文件还能用元事件(meta event)记下几项音乐信息:速度(以每个四分音符多少微秒表示)、拍号、调号(用升号或降号的个数加上大调或小调表示),以及歌词,通常一个音节一个事件。规范要求每个文件写明速度和拍号;没写的话,软件就默认按 4/4 拍、每分钟 120 拍处理。调号和歌词是可选的。
MIDI 说不清的,是音符该怎么写。一个音符只是 0 到 127 之间的一个键号,所以 63 号既是 D♯ 也是 E♭;我们做的第一个转换器把 MIDI 转成乐谱时,每次都把 63 写成 E♭,就连在本该写 D♯ 的 E 大调里也是如此。音的长短只体现为开始和结束时间,所以音符时值只能推断出来。没有休止符(静音只是一段空隙),没有声部、符杠和符干,也没有页面排版。MuseScore Studio 的手册说,MIDI 记录了音符和乐器,“但不含任何视觉格式”。MIDI 里也没有音频:声音来自播放它的合成器。
MusicXML、MIDI 和 PDF 对比:各自存了什么
MusicXML 存的是“怎么写”,MIDI 存的是“怎么弹”,PDF 存的是“页面长什么样”。PDF 是通用的页面格式,标准编号为 ISO 32000;PDF 2.0(ISO 32000-2)于 2017年首次发布、2020年修订,美国国会图书馆的格式登记库称它是一种“面向页面”的格式。PDF 乐谱在任何屏幕或打印机上都一模一样,但在音乐软件看来,它只是一张画着音符的图片。
| 信息 | MusicXML | MIDI 文件 | |
|---|---|---|---|
| 音名写法(D♯ 还是 E♭) | 有:音名、升降变化、八度 | 无:只有 0 到 127 的键号 | 仅印在谱面上 |
| 调号 | 有 | 可选:升降号个数,以及大调或小调 | 仅印在谱面上 |
| 拍号 | 有 | 建议写入;缺失时默认 4/4 拍 | 仅印在谱面上 |
| 音符时值和休止符 | 有 | 无:只有开始和结束时间 | 仅印在谱面上 |
| 声部、符杠、符干 | 有 | 无 | 仅印在谱面上 |
| 歌词 | 有,带歌词段号 | 可选的歌词事件,通常一个音节一个 | 仅印在谱面上 |
| 页面排版 | 可选:页面尺寸、页边距、换行和换页 | 无 | 有,固定不变 |
| 速度 | 有,以每分钟四分音符数计 | 有,以每个四分音符的微秒数计;缺失时默认 120 BPM | 仅有印在谱面上的速度标记 |
| 精确的时间和演奏力度 | 基本没有:只有书面时值,可另加演奏偏移和力度值 | 有,每个音符都有 | 无 |
| 吉他的弦和品 | 有:每个音的弦和品,以及各弦的定弦和变调夹 | 无 | 仅以六线谱形式印在谱面上 |
| 乐器音色 | 乐器名称和可选的 MIDI 音色编号;不含音频 | 音色编号;不含音频 | 无 |
| 在哪里编辑 | 打谱软件 | DAW 和音序器;打谱软件导入时只能靠猜 | 无法当作音乐编辑:只能重新录入,或用 OMR 识别 |
“仅印在谱面上”是指人能在页面上读到,但软件没法把它当作音乐来处理。要从 PDF 里取回乐谱,得用光学乐谱识别(OMR)读取图像、推断音符,所以结果需要校对。
该导出哪种格式?
看文件接下来要拿去做什么。
- 有人要编辑乐谱,就发 MusicXML。MuseScore Studio(免费开源)、Dorico 和 Sibelius 都能导入。除非某个工具指明要未压缩的 .musicxml,否则就发 .mxl。
- 音乐要导入 DAW 或驱动合成器,就发 MIDI。它保留了每个音符的时间和演奏力度,这正是音乐制作需要的。
- 有人要照着演奏,就发 PDF,打印出来或在平板上看都行;合奏的话,再给每个声部准备分谱。
- 对方只需要听,就发渲染好的 MP3 或 WAV;MIDI 文件本身不会发出声音。
- 要存档的话,用 MusicXML 留住音乐内容,用 PDF 留住版面样子。这是我们的习惯,不是硬性规定。
Finale 用户还要多考虑一点。MakeMusic 已于 2024年8月26日停止开发和销售 Finale。只要操作系统不出变化,已经装好的 Finale 还能继续用;MakeMusic 对它的技术支持已于 2025年8月结束。MakeMusic 官方的迁移建议是导出 MusicXML(Finale v27 导出的是 MusicXML 4.0),因为 Dorico 无法直接打开 Finale 的 .mus 或 .musx 文件(2026年10月3日查阅)。
想把 MIDI 文件变成 PDF 乐谱,就把它导入打谱软件,在里面整理好,再导出 PDF。MuseScore Studio 能打开 MIDI 文件,还可以在首选项里设定导入时使用的最短音符时值;Dorico Pro 的手册也介绍了它自己的 MIDI 导入和量化选项。不管用哪个,都要做好整理的准备,原因见下文“为什么 MIDI 转乐谱总要靠猜”一节。ScoreStarling 现在也接受 MIDI:点“选择文件”或直接拖入文件,就能排成可编辑的乐谱,并导出 PDF。它会略去鼓轨,只采用第一个拍号,排好后仍需要你过目检查。你也可以导入 MusicXML/MXL、ABC 或印刷乐谱,详见目前的输入限制。
MXL 和 MusicXML 有什么区别?
两者装的是同样的 MusicXML:.mxl 是压缩包,.musicxml 是纯文本文件。W3C 的 MusicXML 4.0 教程推荐的正是这两个扩展名,并指出如果只用 .xml 作扩展名,软件就没法把 MusicXML 和其他 XML 文件区分开来。
.mxl 文件是用 DEFLATE 算法压缩的 zip 包。包里的第一项是一个未压缩的文件,名为 mimetype;位于 META-INF/container.xml 的文件则指明包内乐谱的位置。按教程的说法,压缩后的 MusicXML 大约和等价的 MIDI 文件一样大,所以我们会发 .mxl。MuseScore Studio 默认导出的就是压缩的 MusicXML。如果你想自己阅读、比对或处理 XML,就选 .musicxml。两者的媒体类型也不同:.mxl 是 application/vnd.recordare.musicxml,.musicxml 是 application/vnd.recordare.musicxml+xml。
为什么 MIDI 转乐谱总要靠猜?
MIDI 文件从来不说明音符该怎么写,所以任何把 MIDI 转成乐谱的软件,都得自己决定调性、音名写法、音符时值、声部,以及休止符放在哪里。
我们实测过它会怎么出错。2026年10月2日,我们从公开数据集 GuitarSet 中取了 12 段吉他录音,用 Basic Pitch 转出 MIDI,交给我们最早基于 music21 库写的转换器。结果 12 份乐谱都没有调号;所有休止符都被隐藏(1,626 个中可见的为 0);一行谱表上最多叠了五个声部;在 2,703 个调内音中,有 322 个的写法与调性相悖。
换用 MuseScore Studio 4.7.5 的 MIDI 导入器后,这些问题大多解决了,前提是先把 MIDI 处理好:把音符对齐到十六分音符网格,再根据音符估出调性,写进每一条有音符的音轨。少了这一步,MuseScore 会把没对齐网格的 MIDI 当成现场演奏,重新猜一遍拍号、速度和调。我们还把导入限制为每行谱表最多两个声部,并关闭了连音识别。在这些设置下,12 份里有 10 份的调号与数据集标注一致(另外两份都差一个五度),3,213 个音符里写法与调性相悖的为 0,988 个休止符全部可见,没有哪行谱表超过两个声部。完整的前后对比见《MIDI 导入 MuseScore 为什么乱糟糟》。
为什么 MusicXML 换个软件打开就变样?
MusicXML 能把音乐内容完整地带过去,但每个软件都有自己的字体、间距和默认设置,所以导入后版面和小细节常会变样。MuseScore Studio 的手册说,音符和乐器编制都能如实导入,但要让导入的乐谱看起来和原版一样,通常还得整理一番。它的导入选项可以保留文件里的页面尺寸、页边距、谱表大小和换行换页,不过由于间距和字体不同,换行换页的位置未必和原来一致。MakeMusic 关于从 Finale 迁移到 Dorico 的指南也是这个意思:音乐内容,以及页面和谱表尺寸这类基本版面,都能顺利转过去,而对单个元素做的图形微调通常带不过去。
我们在 2026年10月2日自己做过一次往返测试,规模很小:MuseScore Studio 4.7.5 的命令行转换器重新导入了我们一份只有三个音符的 MusicXML 样例,音高、位置和时值完全一致,但它把我们的记谱人署名挪到了作曲者的位置,还丢掉了“记谱人”这个身份。Sibelius 和 Dorico 我们没有测试。把乐谱转给别人之前,先在对方要用的软件里打开,检查署名、版面,以及你手动调整过的地方。
ScoreStarling 导出哪些文件,为什么 MIDI 和 MusicXML 不一样?
两种文件 ScoreStarling 都能导出,而且两者在时间上故意不一致:MIDI 保留演奏,MusicXML 保留一份写给人读的版本。
在我们 10月2日针对“单件乐器”选项的测试中,转谱先由 Basic Pitch 按给定的速度生成 MIDI。MuseScore Studio 再根据一份对齐到十六分音符网格的副本写出乐谱:4/4 拍,调性由音符估算,休止符可见,每行谱表最多两个声部。它还会简化时值:在上文那 12 段吉他录音中,它把 26% 的音符写得比对齐后的演奏更长,最多长出三个十六分音符,从来没有写短过。演奏者想看到一个干净的附点四分音符,制作人想要的是原汁原味的律动。所以播放和 MIDI 导出保留你的演奏时间,而 MusicXML、PDF 和页面图片呈现的是书面版本。改音高会同时改动两种文件;你设定某个音符的书面时值时,它对应的 MIDI 音符会以原本弹奏的位置为起点调整长度。别的工具也是这样划分的:Klangio 的 Sing2Notes 应用同时提供量化和未量化两种 MIDI 下载(2026年10月3日查阅)。
ScoreStarling 免费提供的下载,以及解锁后才有的下载:
| 获取方式 | 文件 |
|---|---|
| 免费 | PDF、页面图片、单独的 PDF 分谱、简谱 PDF(全部谱表或仅旋律)、带吉他六线谱的 PDF、TAB 文本、MP3 和 WAV。乐谱解锁前,每页和 TAB 文本底部都有一行页脚小字:“Made with ScoreStarling · scorestarling.com”。 |
| 解锁后(每份乐谱一次性 15 积分) | MusicXML(.musicxml 和 .mxl;显示为 TAB 谱的声部会带上 TAB 谱表)、MIDI、ABC 和 MEI,页面也不再带页脚小字。用积分转出的乐队乐谱本身就已解锁;订阅 Plus 期间,所有乐谱都会解锁。 |
工作台的“下载”菜单提供的 MusicXML 是 .musicxml 格式;.mxl 和 MEI 要通过 AI 助手获取。单件乐器或人声、钢琴独奏的转谱(合计每天最多 3 次)以及导入和编辑都免费;乐队需要积分。简谱在工作台和对话面板里也能以只读视图查看,编辑请在五线谱中进行。简谱在保留记谱信息方面有局限。MP3 和 WAV 是按 General MIDI 音色渲染的乐谱,不是从你的录音里分离出的分轨。详情见技术规格。
参考资料
- MusicXML 4.0 和 Music Notation Community Group——W3C
- Notation basics in MusicXML 和 A MIDI-compatible part,MusicXML 4.0 教程——W3C Music Notation Community Group
- Compressed .mxl files,MusicXML 4.0 教程——W3C Music Notation Community Group
- MusicXML 4.0 参考文档:note、fifths、lyric、print、midi-instrument、string、fret、staff-tuning 和 capo 元素——W3C Music Notation Community Group
- MIDI 1.0——The MIDI Association
- Summary of MIDI 1.0 messages——The MIDI Association
- Standard MIDI Files 和 Standard MIDI Files 1.0 specification (RP-001)——The MIDI Association
- PDF 2.0, ISO 32000-2——美国国会图书馆,Sustainability of Digital Formats
- File export、Working with MusicXML files、Opening and saving scores 和 Preferences——MuseScore Studio 手册
- Importing MusicXML files 和 Importing MIDI,Dorico Pro 6.2 手册——Steinberg
- Using Sibelius for Mobile on iPhone, iPad, and Android——Avid
- The End of Finale 和 From Finale to Dorico, a migration guide——MakeMusic
- MusicXML for exchanging digital sheet music——MakeMusic
- Sing2Notes——Klangio
常见问题
MIDI 文件里有声音吗?
没有。它存的只是指令:弹哪个键、什么时候弹、弹多重,外加一个乐器音色编号。声音来自播放它的合成器或采样音源,所以同一个 MIDI 文件在不同软件里听起来不一样。
为什么我的 MIDI 文件一打开就是 4/4 拍、120 BPM?
标准 MIDI 文件规范要求每个文件写明速度和拍号,并规定文件没写时,软件一律按 4/4 拍、每分钟 120 拍处理。先把真实的速度和拍号设好,再判断乐谱写得对不对。
PDF 能转回 MusicXML 吗?
只能借助光学乐谱识别(OMR):它读取页面图像,推断出谱面内容,所以结果需要校对。如果原始的打谱文件或它的 MusicXML 还在,就直接从那里开始。
MusicXML 和 MuseScore、Sibelius 的文件是一回事吗?
不是。MuseScore Studio 的 .mscz 和 Sibelius 的 .sib 都是各自软件的自有格式,MusicXML 则是软件之间交换乐谱用的格式。比如 MuseScore Studio 除了自己的格式,也能打开 MusicXML、压缩的 MusicXML 和 MIDI 文件。
给合唱团或乐队,该发哪种文件?
看谱用 PDF;如果每位乐手只需要自己那一行,就发分谱。如果有人要移调、改编或修改分谱,再附上 MusicXML。