Что такое формат файла MXL?
Файлы с расширением .mxl хранят сжатую нотацию нотного текста в формате MusicXML. .mxl использует сжатие ZIP для экономии места - файлы .mxl компактны, по размеру comparable с файлами MIDI. Формат .mxl был введен как расширение стандарта MusicXML для облегчения обмена нотными записями и архивирования музыки.
Формат данных MXL
MusicXML 4.0, выпущенный в 2021 году, является текущей версией стандарта, поддерживаемой Группой сообщества нотации W3C. Более ранние вехи включают версию 3.1 (2017), которая решила большинство проблем предыдущих версий. Разработчики могут использовать стандартные библиотеки и определения DTD и XSD для реализации стандарта в своих приложениях. Манифест внутри сжатого архива .mxl - это META-INF/container.xml, который указывает на корневой файл партитуры. Контейнер .mxl был впервые представлен вместе с версией 2.0 стандарта MusicXML. Файлы .mxl обычно в 10 раз меньше несжатых файлов .musicxml.
.mxl-контейнеры также могут хранить связанные ресурсы, такие как:
- Изображения,
- Аудиофайлы,
- Другие мультимедийные файлы.
Формат .mxl поддерживается большим количеством приложений для редактирования и обмена нотными записями. Формат был разработан компанией Recordare, а сжатый контейнер был введен в 2007 году.
Структура XML-файла
Файлы MusicXML определяют стандарт для хранения данных, аналогично файлам XML, ссылаясь на связанные документы DTD или XSD. Партитура .mxl состоит из:
- Заголовка, хранящего части данной пьесы - помеченного тегом
part-list, - Нотных частей вместе с их атрибутами и нотацией.
Документация, доступная на веб-сайте разработчика, предлагает документы XSLT, которые позволяют конвертировать файлы MusicXML между версиями, включая:
- Из версии 4.0 в 3.1,
- Из версии 3.0 в 2.0,
- Из версии 2.0 в 1.1,
- Между типами времени и частей.
.mxl использует стандартное сжатие ZIP, поэтому такие файлы можно извлечь с помощью любого инструмента управления архивами - переименование .mxl в .zip и извлечение дает текстовый файл партитуры. Внутренний файл партитуры .musicxml обычно кодируется в UTF-8, поэтому любой текстовый редактор или веб-браузер должен открыть его без проблем.
Безопасность и защита
РИСК: LOW.mxl - это XML-данные внутри ZIP и не содержит исполняемого кода; открытие его в приложении для нот безопасно. Как и любой ZIP, применимо обычное предостережение - не запускайте неожиданные исполняемые файлы, которые могут быть упакованы в загрузку (легитимный .mxl содержит только партитуру и медиафайлы).
Детали формата
в двух словахПрограммы, открывающие файлы MXL
Технические подробности
глубокая спецификация| Формат контейнера | ZIP-архив с использованием сжатия DEFLATE |
| MIME-тип | application/vnd.recordare.musicxml |
| Файловый сигнатура (магические байты) | 50 4B 03 04 hex ("PK" - стандартный заголовок локального файла ZIP, смещение 0) |
| Запись манифеста | META-INF/container.xml - обязательная запись ZIP, указывающая на корневой файл партитуры MusicXML |
| Кодирование внутреннего документа | UTF-8 XML-текст (обычный текст внутри ZIP) |
| Коэффициент сжатия | Обычно в 10 раз меньше эквивалентного несжатого файла .musicxml |
| Атрибут версии MusicXML | Объявляется в корневом элементе партитуры, например score-partwise version 4.0; допустимые значения: 1.0 до 4.0 |
| Проверка целостности | Контрольная сумма CRC-32 на запись, наследуемая от формата ZIP; цифровой подписи нет |
| Пакетные ресурсы | Могут включать связанные изображения и медиафайлы вместе с партитурой XML в том же ZIP |
| Типы корневого документа | score-partwise (наиболее распространенный) или score-timewise; взаимозаменяемы через XSLT-стили |
| Ответственный за стандарт | Группа сообщества нотации W3C (первоначально разработана Recordare/MakeMusic) |
| Валидация схемы | Поддерживает валидацию как DTD, так и W3C XML Schema (XSD) |
| Типичный размер файла | 5 КБ до 2 МБ в зависимости от длины партитуры и включенных медиафайлов |
| Структура заголовка партитуры | Элемент part-list перечисляет все инструменты и голоса; каждый блок части содержит данные тактов и нотации |
| Лимит записи архива | До 65 535 записей (лимит ZIP); на практике одна партитура плюс небольшое количество медиафайлов |
| Выпущен | MusicXML 2.0 (2007) introduced the compressed .mxl container |
| Последняя версия | MusicXML 4.0 (2021, W3C Community Group Report) |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.w3.org |
Конвертации MXL
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах MXL.