Конвертер MIDI в JSON

Конвертируйте MIDI в удобные для разработчиков ноты Tone.js или версионированные необработанные события — а также конвертируйте любой из поддерживаемых форматов JSON обратно в проверенный MIDI. Всё происходит прямо в браузере.

Конвертировать MIDI в JSON

.mid/.midi · до 10 МБ · обработка локально в браузере

Без загрузки на сервер. Ваш файл остаётся в этой вкладке браузера.
Выбранный файл обрабатывается локально и никогда не загружается на сервер.

Выбрать файл MIDI

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

Выберите локальный файл, чтобы начать.

Как конвертировать MIDI в JSON или JSON в MIDI

  1. 1. Выберите направление и локальный файл. Откройте файл .mid, .midi или поддерживаемый файл .json. Конвертер читает его локально с ограничением по времени и проверяет в воркере браузера.
  2. 2. Выберите формат данных. Для конвертации MIDI в JSON выберите нормализованные ноты Tone.js или версионированные события Raw SMF, а затем читаемое или компактное форматирование.
  3. 3. Создайте результат. Скопируйте или скачайте точный JSON, либо явно создайте и скачайте проверенный MIDI из JSON.

Ноты Tone.js и события Raw SMF

ПрофильПодходит дляПредставлениеОбратное преобразование
Ноты Tone.jsВеб-приложения, игры, визуализацияНоты, синхроимпульсы, дорожки, контроллеры, питч-бендНормализовано; не точное соответствие исходным событиям
События Raw SMFАнализ, обмен данными, редактирование событийВерсионированный заголовок, дорожки и события с delta-timeТочное семантическое обратное преобразование событий

Что нормализованный JSON формата Tone.js сохраняет, а что меняет

Tone.js MidiJSON содержит PPQ, изменения темпа и размера, текст заголовка, инструменты и каналы дорожек, парные ноты с длительностью в тиках, группы контроллеров, питч-бенд и производные значения времени в секундах. Результат — это тот самый {header, tracks} объект, который использует сама библиотека, — без специфичной для сайта обёртки.

Объединение событий note-on и note-off в объекты нот неизбежно нормализует исходные данные. Принадлежность к исходной дорожке может быть разделена по каналу или программе, а SysEx, афтертач, временные шкалы программ, кодировки байтов и точный порядок событий разных категорий выходят за рамки этой схемы. Поэтому при конвертации JSON в MIDI создаётся детерминированный файл формата 1, а не заявляется восстановление исходного необработанного потока данных.

Что означает точное обратное преобразование событий

Схема songparts.raw-smf.v1 записывает заголовок Standard MIDI, каждую исходную дорожку и каждое поддерживаемое событие вместе с его delta-time и разрешённой полезной нагрузкой. Она сохраняет представленные границы дорожек, тайминг, порядок событий в пределах одной дорожки, подсказки running status и признак note-off по статусному байту 0x9.

Это семантическая точность событий, а не гарантия побайтовой идентичности файлов. Программа записи может кодировать чанки, статусные байты и целые числа переменной длины иначе, но при повторном разборе получится та же структура событий. Неподдерживаемые дополнительные чанки за пределами разобранного заголовка Standard MIDI и дорожек не придумываются.

Форматы MIDI 0, 1, 2, PPQ и SMPTE

Формат 0 и 1 с PPQ
Доступны оба профиля. Tone.js возвращает нормализованные данные нот; события Raw SMF сохраняют разобранные исходные дорожки и деление времени.
Формат 2
Каждая дорожка — это независимая последовательность. Необработанные события SMF сохраняют эту структуру и вычисляют длительность для каждой дорожки; вместо того чтобы объединять несвязанные последовательности, Tone.js в этом случае отключается.
Тайминг SMPTE
Необработанные события SMF сохраняют поддерживаемый тайминг с частотой кадров. Tone.js JSON описывает только PPQ, поэтому инструмент выбирает необработанный формат и поясняет это ограничение.

Использование MIDI JSON в приложениях, играх и Web Audio

Нормализованные объекты нот удобны для планирования звучания синтезатора, отрисовки пиано-ролла, построения целей в ритм-играх или анализа высоты и тайминга без декодирования исходных событий MIDI. Необработанные события подходят лучше, если приложению нужно понимать контроллеры, послекасание, SysEx, точную принадлежность дорожкам или последовательности формата 2. В обоих случаях JSON — это структурированные данные, а не готовый звук.

Приватная обработка, ограничения на размер файлов и безопасный предпросмотр

Файлы MIDI размером до 10 МБ и файлы JSON размером до 30 МБ считываются локально, а затем разбираются и кодируются отдельно от основной страницы, в заменяемом фоновом воркере браузера. Ни один запрос не отправляет ваши данные на сервер. Отображаемый блок кода очищается от лишних данных и ограничивается по размеру, чтобы большие метаданные не могли привести к зависанию страницы; копирование и скачивание всегда используют точный полный локальный результат, вплоть до лимита JSON в 50 МБ.

Часто задаваемые вопросы о конвертере MIDI в JSON

Бесплатен ли конвертер MIDI в JSON и нужен ли аккаунт?
Да. Конвертер бесплатен и не требует аккаунта. Выберите локальный файл MIDI или поддерживаемый файл JSON и создайте результат прямо в браузере.
Загружаются или сохраняются ли мои файлы MIDI или JSON?
Нет. Чтение, проверка, конвертация, копирование и скачивание файлов происходят в вашем браузере. Файлы не загружаются на сервер, не передаются, не сохраняются в аккаунте и не остаются после ухода со страницы или её перезагрузки.
Какие форматы MIDI JSON поддерживает этот конвертер?
Он поддерживает формат Tone.js MidiJSON для нормализованных нот и версионированную схему songparts.raw-smf.v1 для данных заголовка, дорожек и событий Standard MIDI. Конвертер JSON в MIDI автоматически распознаёт оба этих формата.
Какой профиль JSON выбрать?
Выбирайте «ноты Tone.js» для веб-приложений, игр, визуализации и работы на уровне отдельных нот. Выбирайте «необработанные события SMF», если границы дорожек, дельта-тайминг, SysEx, послекасание, события контроллеров и другие представленные события Standard MIDI должны сохраняться при обратном преобразовании.
Даёт ли преобразование MIDI в JSON и обратно исходный файл в неизменном виде?
«Необработанные события SMF» сохраняют представленный формат, деление тайминга, дорожки, содержимое событий, дельта-тайминг и порядок событий при смысловом обратном преобразовании, но не гарантируют побайтово идентичное кодирование блоков. «Ноты Tone.js», напротив, намеренно нормализуются и не являются точным обратным преобразованием.
Может ли этот конвертер превратить JSON обратно в MIDI?
Да. Переключитесь на режим JSON в MIDI и выберите файл Tone.js MidiJSON или корректный файл songparts.raw-smf.v1. Перед созданием локального файла MIDI для скачивания конвертер проверяет всю структуру целиком.
Какие форматы MIDI и деления тайминга поддерживаются?
«Необработанные события SMF» поддерживают корректный Standard MIDI формата 0, 1 или 2 с таймингом PPQ или поддерживаемым SMPTE. «Ноты Tone.js» принимают формат 0 или 1 с таймингом PPQ; для формата 2 и SMPTE автоматически используется формат необработанных событий.
Какие события MIDI сохраняет необработанный JSON?
Формат необработанных событий представляет ноты, программы, все номера контроллеров, изменение высоты тона, послекасание нот и каналов, темп, размер, тональности, текст, слова песни, названия, префиксы, SysEx, данные, специфичные для секвенсора, и поддерживаемые неизвестные метаданные — точно так, как они были разобраны.
Можно ли скопировать JSON или скачать его?
Да. Сначала создайте JSON, затем скопируйте его точный локальный текст или скачайте файл .json. Предпросмотр на странице очищен от лишних данных и может быть сокращён для отзывчивости интерфейса; копирование и скачивание используют полный локальный результат.
Является ли JSON аудиоформатом?
Нет. MIDI JSON описывает ноты, тайминг, параметры управления и метаданные как данные для программ. Он не содержит записанной звуковой волны и не становится слышимым звуком, пока синтезатор или сэмплер не воспроизведёт инструкции MIDI.
  • MIDI-плеер — прослушивайте локальный файл MIDI и просматривайте пиано-ролл, партитуру и табулатуру.
  • Разделитель MIDI — экспортируйте исходные дорожки или партии по каналам из одного файла MIDI.
  • Объединитель MIDI — накладывайте файлы друг на друга или соединяйте их последовательно.
  • Конвертер MIDI в WAV — превращайте инструкции MIDI в аудиофайл для скачивания.