Загрузка Musirion

Блог

12 июля 2026

MusicXML: как появился универсальный формат цифровых нот

Что такое MusicXML

MusicXML — открытый формат для представления и обмена цифровыми нотными партитурами. Он разработан прежде всего для передачи нот между разными программами: нотными редакторами, системами распознавания нот, музыкальными библиотеками, образовательными приложениями и сервисами автоматической транскрипции.

Официальная спецификация определяет MusicXML как открытый стандарт для обмена и долговременного хранения цифровых нот. Актуальной стабильной версией формата является MusicXML 4.0, опубликованная организацией W3C и её Music Notation Community Group в июне 2021 года. На момент публикации стандарт поддерживали более 250 приложений.

В отличие от PDF или изображения, MusicXML хранит не только внешний вид страницы, но и структуру произведения. В файле могут быть представлены:

  • высота и длительность нот;
  • такты, размеры и тональности;
  • партии, нотоносцы и голоса;
  • паузы, лиги, триоли и другие ритмические конструкции;
  • динамика, артикуляция и орнаменты;
  • темп и исполнительские указания;
  • текст, аппликатура и аккордовые обозначения;
  • часть параметров нотной вёрстки.

Благодаря этому партитуру можно не только показать на экране, но и редактировать, транспонировать, анализировать, воспроизводить и преобразовывать в другие форматы.

MusicXML основан на XML — Extensible Markup Language, текстовом языке разметки, в котором данные представлены вложенными элементами. Отдельная нота может содержать сведения о ступени, октаве, длительности, голосе, нотоносце и типе нотного знака.

Такая структура удобна для программной обработки и формальной проверки, но делает несжатый MusicXML довольно многословным.

Обычно используются два варианта файлов:

  • .musicxml — обычный XML-файл;
  • .mxl — сжатый ZIP-контейнер, содержащий MusicXML и при необходимости связанные ресурсы.

Сжатый формат .mxl был стандартизирован в MusicXML 2.0. Согласно спецификации, такие файлы обычно примерно в двадцать раз меньше несжатых.

Важно, что MusicXML не является полноценной заменой внутреннему формату нотного редактора. Sibelius, Finale, Dorico и MuseScore могут хранить в собственных проектах данные и функции, специфичные для конкретной программы.

При экспорте основная музыкальная структура обычно сохраняется, но отдельные параметры вёрстки и внутренние объекты могут быть потеряны или интерпретированы другой программой иначе.

Поэтому MusicXML правильнее рассматривать не как универсальный исходный формат любой партитуры, а как общий язык обмена между независимыми музыкальными приложениями.

Хронология цифровых нотных форматов

Попытки представить нотную партитуру в форме, пригодной для компьютерной обработки, появились задолго до современных нотных редакторов.

При этом разные системы решали разные задачи: подготовку нот к печати, музыкальный анализ, управление электронными инструментами, библиотечную каталогизацию или перенос партитур между программами.

1960-е: DARMS и первые машинные партитуры

Одной из первых крупных систем компьютерного представления нот стал DARMS — Digital Alternate Representation of Musical Scores. Работа над ним началась в первой половине 1960-х годов, а публично система была представлена на летнем семинаре в 1966 году.

Изначально проект назывался Ford–Columbia Music Representation: его финансировал Ford Foundation, а разработка велась при Колумбийском университете.

Систему создал Стефан Бауэр-Менгельберг для подготовки исполнительских материалов Нью-Йоркского филармонического оркестра.

Бауэр-Менгельберг совмещал несколько совершенно разных профессий. Он работал математиком в IBM, был помощником дирижёра Леонарда Бернстайна в Нью-Йоркском филармоническом оркестре, занимал должность президента Mannes College of Music, а позднее работал юристом.

Сочетание математического и музыкального опыта позволило ему рассматривать партитуру как систему формальных данных.

Важной особенностью DARMS было то, что вводить партитуры могли операторы, не знавшие западной нотной грамоты. Вместо определения названия ноты оператору было достаточно посчитать линии и промежутки на нотоносце, а затем указать длительность и другие графические признаки.

Вместо названий нот DARMS записывал их вертикальное положение. Нижняя линия обозначалась цифрой 1, промежуток над ней — 2, следующая линия — 3 и так далее. Длительности задавались буквами:

  • W — целая нота;
  • H — половинная;
  • Q — четверть;
  • E — восьмая;
  • S — шестнадцатая.

Один такт с четырьмя восходящими четвертями можно схематически представить так:

Обычная нотация:  E4  F4  G4  A4
                  ♩   ♩   ♩   ♩

DARMS, упрощённо: !G !M4:4 1Q 2Q 3Q 4Q /

Здесь !G обозначает скрипичный ключ, !M4:4 — размер 4/4, 1Q–4Q — четвертные ноты на последовательных позициях нотоносца, а / — тактовую черту.

Это упрощённый пример, показывающий общий принцип системы, а не буквальная транскрипция конкретного такта из руководства. Реальный синтаксис DARMS был сложнее и мог кодировать голоса, направления штилей, лиги, альтерации, группировку нот, динамику и орнаменты.

У системы существовало несколько диалектов, поэтому детали записи различались.

В 1964 году музыковеды Барри Брук и Мюррей Гулд представили Plaine and Easie Code — компактный способ текстовой записи музыкальных инципитов, то есть начальных фрагментов произведений.

В отличие от DARMS, Plaine and Easie Code предназначался прежде всего для библиотечной каталогизации, а не для кодирования полной партитуры. Его современную версию поддерживают International Association of Music Libraries, Archives and Documentation Centres и Répertoire International des Sources Musicales.

1967: SCORE и профессиональная компьютерная печать

В 1967 году композитор и профессор Стэнфордского университета Леланд Смит начал разработку SCORE.

Первая версия появилась в Stanford Artificial Intelligence Laboratory как язык ввода музыки для системы компьютерного синтеза MUSIC V. Позднее Смит адаптировал её для нотного набора.

В основе SCORE лежала параметрическая модель. Партитура представлялась как набор объектов — нот, пауз, ключей, тактовых черт, лиг и других элементов.

Каждый объект описывался числовыми параметрами: высотой, длительностью, координатами на странице, направлением штиля и другими свойствами.

Первые напечатанные результаты были получены в 1971 году с помощью графопостроителя. В 1980-х годах SCORE был перенесён на персональные компьютеры и превратился в профессиональную издательскую систему.

Он использовался при подготовке академических собраний сочинений и ценился за точный контроль нотной гравировки.

SCORE был важен не как универсальный формат обмена, а как доказательство того, что компьютер способен хранить сложную партитуру и создавать нотные страницы издательского качества.

При этом язык данных SCORE оставался тесно связан с самой программой.

1983: MIDI — универсальный язык музыкального исполнения

В начале 1980-х годов производители электронных инструментов использовали собственные несовместимые интерфейсы. Синтезатор одной компании нельзя было без специального оборудования подключить к секвенсору или драм-машине другой.

Для решения этой проблемы американские и японские производители совместно разработали MIDI — Musical Instrument Digital Interface. Первая спецификация MIDI была представлена в 1983 году.

В отличие от DARMS и SCORE, MIDI изначально не предназначался для представления нотной страницы.

Это был аппаратный и программный протокол, позволявший электронным инструментам и компьютерам передавать команды:

  • нажать или отпустить клавишу;
  • указать высоту ноты;
  • передать силу нажатия;
  • сменить инструмент;
  • изменить громкость, педаль или другой контроллер;
  • синхронизировать устройства.

Условно MIDI-событие выглядит так:

Note On:  pitch=60, velocity=90
Note Off: pitch=60

Значение 60 соответствует определённой высоте звука, а velocity=90 описывает интенсивность нажатия. MIDI фиксирует действия исполнителя и время между ними, но не объясняет, как эти действия должны быть записаны нотами.

Изначально MIDI был протоколом связи в реальном времени. Standard MIDI File, знакомый по расширениям .mid и .midi, появился позднее и позволил сохранять последовательности MIDI-событий для переноса между секвенсорами и музыкальными программами.

MIDI стал массовым благодаря компактности и совместимости. Файлы можно было редактировать, ускорять, транспонировать и воспроизводить с разными инструментами.

Однако MIDI не хранит полноценную нотную семантику. В нём обычно отсутствуют:

  • правильное разделение на голоса;
  • различие между F♯ и G♭;
  • группировка нот в балки;
  • точная структура записанных длительностей;
  • большая часть артикуляции и орнаментов;
  • расположение объектов на странице.

Исполненная длительность также может отличаться от записанной. Пианист способен сыграть четверть немного короче, задержать следующую ноту или использовать педаль.

MIDI сохранит эти временные отклонения, но не сообщит, какая нотная запись стояла за исполнением.

Таким образом, MIDI стал универсальным языком исполнения, но не универсальным форматом партитуры.

1980-е и 1990-е: академические форматы

В 1984 году Уолтер Хьюлетт начал разработку MuseData — системы кодирования, печати и архивного хранения полных музыкальных произведений.

MuseData описывал партии, такты, длительности, голоса и другие элементы нотной структуры. На основе одних данных можно было формировать полную партитуру, отдельные партии, материалы для анализа и компьютерное воспроизведение.

Примерно в этот же период музыковед Дэвид Хьюрон создавал Humdrum Toolkit — набор текстовых форматов и Unix-инструментов для компьютерного анализа музыки.

Файлы Humdrum строились из параллельных колонок, или spines. Каждая колонка могла содержать отдельный голос, партию или тип информации: ноты, гармонию, текст либо аналитическую разметку.

MuseData был ориентирован прежде всего на подготовку и хранение качественных нотных данных, а Humdrum — на их компьютерный анализ.

Позднее оба проекта оказали непосредственное влияние на структуру MusicXML.

Finale и Sibelius: цифровая партитура как закрытый проект

В 1988 году появилась первая версия Finale — одного из первых массовых профессиональных нотных редакторов для персональных компьютеров.

Finale позволял вводить ноты с помощью мыши или MIDI-клавиатуры, редактировать крупные партитуры, воспроизводить их и получать печать издательского качества.

Партитуры сохранялись во внутреннем формате .mus, а с Finale 2014.musx.

Эти форматы содержали музыкальную структуру, вёрстку и внутренние объекты программы, но были рассчитаны прежде всего на открытие в самом Finale.

Разработка Sibelius началась в 1986 году. Программу создавали братья Бен Финн и Джонатан Финн для компьютера Acorn Archimedes.

Первая коммерческая версия Sibelius вышла в 1993 году. В дальнейшем программа была перенесена на Windows и macOS.

Sibelius сохранял партитуры в собственном формате .sib, также тесно связанном с внутренней моделью приложения.

К концу 1990-х годов компьютер уже мог хранить и печатать чрезвычайно сложные партитуры. Однако каждая программа развивала собственную модель данных.

Партитуру Finale нельзя было надёжно открыть в Sibelius, а файл Sibelius — в другой издательской системе.

Для переноса использовали MIDI, но при этом терялись голоса, лиги, артикуляция, правильное написание нот и большая часть вёрстки. PDF сохранял страницу, но превращал партитуру в практически нередактируемый документ.

Проблема уже заключалась не в том, как представить ноты в компьютере, а в том, как перенести структурированную партитуру между разными программами.

1990-е: SMDL и NIFF

Одной из самых амбициозных попыток создать общий стандарт стал SMDL — Standard Music Description Language, утверждённый как международный стандарт ISO/IEC 10743.

SMDL пытался одновременно описать логическую структуру музыки, визуальное представление партитуры, исполнение и аналитические данные.

Формат основывался на SGML — Standard Generalized Markup Language и HyTime, предназначенном для представления сложных временных и гипермедийных связей.

Такая модель была теоретически мощной, но слишком широкой и сложной для большинства разработчиков.

Несмотря на статус стандарта ISO, SMDL не был реализован ни одним массовым коммерческим музыкальным приложением.

Более практической попыткой стал NIFF — Notation Interchange File Format. Работа над ним началась в 1994 году, а спецификация была распространена в августе 1995 года.

NIFF предназначался для обмена данными между нотными редакторами, издательскими системами и программами оптического распознавания нот.

Он мог хранить информацию с разной степенью детализации: от основных высот и длительностей до точного расположения объектов на странице, графики и встроенных MIDI-данных.

Формат был бинарным и основывался на структуре RIFF — Resource Interchange File Format, где информация размещалась в отдельных блоках — chunks.

NIFF получил определённую поддержку в системах распознавания нот, поскольку его графическая модель хорошо соответствовала результатам сканирования.

Однако для других музыкальных приложений эта же модель оказалась неудобной. По оценке создателя MusicXML Майкла Гуда, программы распознавания стали единственной категорией приложений, которая действительно приняла NIFF.

SMDL и NIFF показали две противоположные проблемы.

SMDL пытался создать слишком универсальную теоретическую модель, а NIFF слишком сильно ориентировался на графическое расположение символов.

Будущему стандарту требовался баланс: он должен был быть достаточно полным для профессиональной партитуры, но достаточно понятным для разработчиков обычных музыкальных программ.

2000: появление MusicXML

К концу 1990-х годов уже существовало множество способов представить музыку в компьютере, но ни один не решал задачу практического обмена партитурами достаточно хорошо.

MIDI описывал исполнение. Форматы Finale и Sibelius были закрытыми. SMDL оказался слишком сложным, а NIFF не вышел далеко за пределы систем распознавания нот.

В 2000 году программист Майкл Гуд основал компанию Recordare для разработки нового формата обмена — MusicXML.

В отличие от SMDL, проект не пытался создать исчерпывающую модель всей существующей музыки. Его задачей был практический перенос распространённой западной нотной записи между реальными приложениями.

В докладе MusicXML: An Internet-Friendly Format for Sheet Music, представленном в 2001 году, Майкл Гуд описывал формат как универсальный переводчик для распространённой западной нотации.

Почему был выбран XML

К началу 2000-х годов XML уже был широко распространённым открытым стандартом для структурированных данных. Для него существовали готовые парсеры, средства проверки и библиотеки практически для всех популярных языков программирования.

Вместо разработки собственного бинарного контейнера MusicXML мог использовать уже существующую инфраструктуру.

Файл можно было открыть в текстовом редакторе, а его структуру — проверить с помощью DTD или XML Schema.

Элементы получили понятные музыкальные названия:

<note>
<pitch>
<measure>
<duration>

Формат предпочитал ясность компактности: файлы получались большими, но разработчику было проще понять их устройство.

MuseData и Humdrum как основа

MusicXML не создавался с нуля. Его первые версии были по существу переносом модели MuseData в XML с добавлением важных концепций из Humdrum.

MuseData уже использовался для полных классических партитур и был совместим с MIDI. Humdrum предлагал идеи для представления параллельных музыкальных данных и компьютерного анализа.

Позднее MusicXML расширили средствами для популярной музыки, табулатур и других типов нотации, отсутствовавших в первоначальных академических системах.

Формат разрабатывался вместе с программами

Recordare не ограничилась публикацией спецификации. Формат проектировался одновременно с работающими конвертерами.

Среди ранних прототипов были:

Это позволяло проверять решения на реальных партитурах и сразу обнаруживать конструкции, которых не хватало для практического обмена.

В сентябре 2001 года программа распознавания нот SharpEye Music Reader разработчика Грэма Джонса стала первым коммерческим продуктом с поддержкой MusicXML.

Затем технология Dolet компании Recordare была включена в Windows-версию Finale 2003.

Это создало реальный рабочий маршрут: распознанную партитуру можно было передать из SharpEye в Finale значительно точнее, чем через MIDI.

Поддержка одного из лидеров рынка стала ключевым фактором дальнейшего распространения стандарта.

Коммерческие программы начали использовать MusicXML 0.5 ещё в 2001 году, но MusicXML 1.0 был выпущен только в январе 2004 года.

Разработчики не спешили фиксировать стандарт, пока не проверили его на редакторах, сканерах, секвенсорах, образовательных программах и других реальных приложениях.

MusicXML оказался успешным не потому, что был самым полным или теоретически совершенным форматом.

Он был достаточно выразительным для профессиональной партитуры, достаточно понятным для разработчиков и с самого начала сопровождался работающими инструментами для популярных программ.

Развитие MusicXML

  • 2001 — MusicXML 0.5. Первые коммерческие реализации и публичное представление формата.
  • Январь 2004 — MusicXML 1.0. Первая стабильная версия спецификации.
  • Май 2005 — MusicXML 1.1. Существенно расширена поддержка нотной вёрстки: параметров страниц, систем, нотоносцев, масштабирования, шрифтов и позиционирования.
  • Июнь 2007 — MusicXML 2.0. Появился стандартизированный сжатый формат .mxl, а также новые средства для графики, воспроизведения и распространения интерактивных партитур.
  • Август 2011 — MusicXML 3.0. Расширена поддержка виртуальных инструментов, стандартных тембров, ударных, табулатур и параметров воспроизведения.
  • 2011 — MakeMusic приобрела Recordare. Развитие спецификации продолжилось внутри компании.
  • Июль 2015 — развитие передано W3C Music Notation Community Group. Группа стала документировать, поддерживать и развивать стандарты MusicXML и SMuFL — Standard Music Font Layout.
  • Декабрь 2017 — MusicXML 3.1. Формат перешёл на лицензию W3C, для несжатых файлов стало рекомендоваться расширение .musicxml, а связь со стандартом музыкальных символов SMuFL была расширена.
  • Июнь 2021 — MusicXML 4.0. Появился стандартизированный способ хранить полную партитуру и отдельные партии внутри одного .mxl, были обновлены XML-схемы и добавлены новые элементы для воспроизведения, гармонического анализа и взаимодействия с системами слежения за исполнением.

Заключение

MusicXML не заменил внутренние форматы нотных редакторов, MIDI или PDF.

Он занял отдельное место между ними — стал стандартным способом передавать структурированную и редактируемую партитуру между разными приложениями.

История MusicXML показывает, что успешный стандарт не обязательно должен описывать любую возможную музыку.

Он должен решать конкретную практическую задачу лучше и проще предыдущих решений.

Литература и источники

  1. World Wide Web Consortium. MusicXML 4.0: Final Community Group Report. W3C Music Notation Community Group, 1 июня 2021 года.
  2. World Wide Web Consortium. MusicXML 4.0: Introduction. Официальное введение в назначение и область применения формата.
  3. World Wide Web Consortium. MusicXML Version History. История версий MusicXML 1.0–4.0.
  4. World Wide Web Consortium. Extensible Markup Language (XML) 1.0. Официальная спецификация XML.
  5. Library of Congress. MusicXML File Format Family. Описание формата, его истории, открытости, совместимости и пригодности для архивного хранения.
  6. Good, Michael. Lessons from the Adoption of MusicXML as an Interchange Standard. Proceedings of XML 2006, Boston, 2006.
  7. Good, Michael. MusicXML: The First Decade. История проектирования и первых десяти лет развития MusicXML.
  8. Good, Michael. MusicXML: An Internet-Friendly Format for Sheet Music. Материалы конференции XML 2001.
  9. Good, Michael. The Need for a New Music Interchange Format. Сравнение MusicXML с MIDI, NIFF и другими форматами обмена.
  10. Erickson, Raymond F. DARMS: A Reference Manual. Binghamton, New York, 1976.
  11. Center for Computer Assisted Research in the Humanities. DARMS. История Digital Alternate Representation of Musical Scores.
  12. Bauer-Mengelberg, Stefan. Recollections. Биографические сведения о работе в IBM, Нью-Йоркском филармоническом оркестре и Mannes College of Music.
  13. Brook, Barry S.; Gould, Murray. Plaine and Easie Code. История и современная спецификация библиотечного формата для записи музыкальных инципитов.
  14. Stanford University. Stanford Professor Leland Smith, Innovative Music Creator, Dies at 88. Биография создателя SCORE и обзор его работы в области компьютерного нотного набора.
  15. Center for Computer Assisted Research in the Humanities. Music 253: SCORE. История системы SCORE и раннего компьютерного нотного набора.
  16. The MIDI Association. MIDI History: MIDI Begins, 1981–1983. Официальная история разработки MIDI.
  17. Library of Congress. Standard MIDI File Format. Техническое и историческое описание файлов .mid и .midi.
  18. Center for Computer Assisted Research in the Humanities. MuseData. История и назначение системы Уолтера Хьюлетта.
  19. Huron, David. The Humdrum Toolkit for Computational Music Analysis. Документация и история форматов Humdrum.
  20. Library of Congress. Finale Music Notation File. История Finale и внутреннего формата .musx.
  21. Library of Congress. Finale Legacy Music Notation File. Описание старого формата Finale .mus.
  22. Library of Congress. Sibelius Music Notation Format. История Sibelius и проприетарного формата .sib.
  23. International Organization for Standardization. ISO/IEC 10743: Standard Music Description Language. Международная спецификация SMDL.
  24. Grande, Cindy. The Development of the Notation Interchange File Format. Computer Music Journal, том 20, № 4, 1996.
  25. Notation Interchange File Format Project. NIFF Specification: Introduction. Описание назначения и структуры NIFF.
  26. W3C Music Notation Community Group. Music Notation Community Group. Официальная страница группы, развивающей MusicXML и SMuFL.