Инструменты MIDI

Откройте файл .mid, чтобы изучить его структуру, посмотреть ноты на пианоролле и послушать встроенным мгновенным синтезатором. Транспонируйте, меняйте темп, выключайте дорожки или меняйте инструменты, затем экспортируйте изменённый .mid. Подключённая MIDI-клавиатура (или экранные клавиши) тоже играют вживую. Всё выполняется локально: ничего не загружается.
MIDI-файл не загружен.
Готово.
Пианоролл
Web MIDI работает в Chrome и Edge. Safari и iOS его не поддерживают: используйте экранную клавиатуру ниже.
Играйте на экранной клавиатуре мышью или клавиатурой компьютера (A S D F G H J K L ; — белые клавиши, W E T Y U O P — чёрные).
Что такое MIDI?

MIDI (Musical Instrument Digital Interface, стандартизирован в 1983) — это не аудио. Это протокол передачи и формат файлов для инструкций исполнения: какая клавиша нажата, когда, с какой силой и какой инструмент должен звучать. Файл MIDI ближе к ленте пианолы, чем к записи: он хранит жесты, а любой синтезатор, который их получает, производит звук. Это различие объясняет всё, что делает эта страница: просмотр, транспозиция, смена темпа и инструментов работают, потому что файл .mid содержит редактируемые инструкции, а не фиксированные волновые формы.

Пять фактов, на которых держится остальная страница:
• файлы MIDI содержат ноль аудио: только ноты, тайминги и номера инструментов
• каждая нота — число: 60 = до первой октавы (C4), 69 = ля (A4) = 440 Гц, одна октава = 12 полутонов = ровно вдвое большая частота
• сила нажатия (velocity) — от 0 до 127
• внутренние часы файла идут в тиках, а не в секундах; темп хранится как микросекунды на четвертную ноту (120 BPM = 500 000)
• General MIDI определяет 128 стандартных инструментов, поэтому один и тот же .mid звучит похоже на любом синтезаторе
MIDI — это инструкции, а не аудио

Файл .mid — это поток коротких событий. Note On говорит «канал 1, клавиша 64, сила 100»; соответствующий Note Off позже её отпускает. События control-change управляют педалями и ручками; program-change выбирают инструменты. Поскольку события говорят, что играть, но не как это звучит, один и тот же файл, сыгранный через звуковую карту 1990-х, через WebAudio-синтезатор на этой странице и через профессиональную библиотеку сэмплов, даёт три очень разных варианта одного исполнения, как одни и те же ноты, сыгранные на трёх разных роялях. Если нужен фиксированный переносимый звук, за это отвечает конвертер MIDI в WAV, который записывает интерпретацию одного синтезатора в виде волновой формы.

Ноты, числа и пианоролл

MIDI называет ноты номерами, с равномерной темперацией: частота = 440 × 2(n−69)/12. Поэтому нота 69 — ровно 440 Гц, нота 60 — до первой октавы, 261.63 Гц, а любой скачок на 12 полутонов удваивает (или делит пополам) частоту. Именно это делает ползунок транспозиции, когда вы сдвигаете его на +12 или −12. Пианоролл выше — эти числа, нарисованные картинкой: высота идёт по вертикали (низкие ноты внизу), время — по горизонтали, а каждая нота становится горизонтальным отрезком, длина которого — её длительность, а насыщенность цвета задаётся силой нажатия.

Такты, PPQ и почему темп можно менять

Внутри стандартного MIDI-файла время считается в тиках относительно PPQ файла (импульсов на четвертную ноту, обычно 480, так что четвертная нота длится 480 тиков). Темп хранится в отдельном событии в микросекундах на четвертную ноту: 120 BPM — это 500 000, а 60 BPM — 1 000 000. Поскольку позиции нот хранятся в музыкальных единицах, а не в секундах, смена темпа пересчитывает время всех событий, не сдвигая ни одной ноты: ползунок темпа выше использует именно это, а кнопка экспорта переписывает события так, что любой другой плеер воспроизведёт ваши правки.

Распространённые заблуждения
  • Файлы MIDI содержат запись музыки. Нет. Они содержат инструкции исполнения. Трёхминутная поп-песня умещается в несколько десятков КБ, потому что волновая форма не хранится. Поэтому файл звучит по-разному на каждом синтезаторе.
  • MIDI по природе звучит дёшево. Нет. Репутация «дешёвого» идёт от простых волновых форм звуковых карт 1990-х. Те же данные MIDI через профессиональный SoundFont или оркестровую библиотеку сэмплов неотличимы от записанного трека: инструкции полны, а различие делает отрисовщик.
  • Velocity — это просто громкость. Не только. На настоящем пианино более сильный удар делает ноту громче и ярче; хорошие синтезаторы моделируют это, переводя velocity и в уровень, и в тембр. Диапазон MIDI 0–127 сохраняет манеру исполнителя для интерпретации синтезатором.

Связанные инструменты: MIDI в WAV, чтобы превратить MIDI в фиксированную волновую форму, Аудиоспектр, чтобы проанализировать результат, и Аудио: темп и высота, когда нужна такая же свобода растяжения времени для настоящего аудио.