Аудио в MIDI: распознавание в браузере

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

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

MP3, WAV, M4A или OGG · до 10 минут · файл не покидает устройство

Недавние распознавания

Пока ничего нет. Результаты хранятся в этом браузере.

01

Как здесь переводят аудио в MIDI

01

Выберите файл MP3, WAV, M4A или OGG длительностью до десяти минут. Страница декодирует его, сводит в моно и пересчитывает к 22 050 Гц — частоте, которую ожидает модель, — а затем проходит запись блоками по тридцать секунд, оставляя по две секунды перекрытия с каждой стороны блока.

02

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

03

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

02

Файл не покидает ваше устройство

01

Большинство сервисов перевода аудио в MIDI загружают файл, прогоняют модель на сервере и возвращают результат. Здесь наоборот: модель подгружается в браузер и считает на вашей машине — через WebGL там, где устройство это поддерживает, и на процессоре там, где нет.

02

Практические следствия стоит знать. Шага загрузки нет, поэтому WAV на пятьдесят мегабайт начинает обрабатываться так же быстро, как MP3 на три. Неизданные демо и заказная работа не попадают в чужую инфраструктуру. А поскольку удалённо ничего не хранится, нет ни срока хранения, который надо изучать, ни файла, удаление которого нужно запрашивать.

03

Плата за это — скорость зависит от устройства. Современный ноутбук обрабатывает трёхминутный трек заметно быстрее минуты, а на старом телефоне тот же файл будет идти ощутимо дольше. История распознаваний лежит в локальном хранилище браузера: она не переносится на другое устройство и исчезает при очистке данных сайта.

03

Что распознаётся хорошо, а что нет

01

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

02

Результат ухудшают три вещи. Плотный ансамблевый микс подаёт модели несколько высотных инструментов сразу, и она сведёт их в одну дорожку вместо разделения — если нужна одна партия, сначала пропустите запись через разделение на стемы. У перкуссии нет устойчивой высоты, которую можно отследить, поэтому барабаны возвращаются россыпью низких нот, а не пригодным грувом. Сильная перегрузка и густой реверб размывают атаки, и это проявляется как лишние короткие ноты вокруг настоящих.

03

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

04

Зачем переводят аудио в MIDI

01

Продюсеры вытаскивают мелодию из референса или старого демо, чтобы переозвучить её другим инструментом, сменить тональность или выровнять ритм по сетке, не исполняя заново. Учащиеся переводят отрабатываемый фрагмент и читают его как piano roll: ритмические отношения становятся видимыми так, как при многократном прослушивании не получается.

02

Аранжировщики используют MIDI как черновик для нотации: импорт в нотный редактор, правка длительностей — и лид-шит готов гораздо быстрее, чем при съёме на слух. Те, кто работает с вокалистами, превращают промурлыканную идею в ноты, чтобы передать её сессионному музыканту.

03

Это ещё и самый быстрый способ ответить на узкий вопрос: какая это нота у баса, какой интервал в этом скачке — без тюнера и перемотки туда-обратно.

05

Что делать с готовым MIDI

01

Скачивается стандартный MIDI-файл, поэтому его откроет всё, что читает MIDI: DAW, нотный редактор, аппаратный секвенсор, приложение для набросков на телефоне. Темп, записанный в файл, оценивается по расстоянию между началами нот и сворачивается в привычный диапазон 60–190. Он лишь определяет, где встанут тактовые черты в редакторе, и сами ноты не двигает, так что исправлять его безопасно.

02

Рассчитывайте результат подчистить, а не использовать как есть. Две правки дают больше всего: удалить короткие ноты, сбивающиеся вокруг громких атак, и продлить ноты, которые модель оборвала рано в гулких местах. На обычной мелодии и то и другое — несколько минут работы.

03

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

06

Вопросы о переводе аудио в MIDI

Мой звук куда-нибудь загружается?

Нет. Модель работает в браузере, а файл читается прямо с вашего устройства. На сервер ничего не отправляется — поэтому здесь и нет полосы загрузки.

Можно разделить инструменты в готовом миксе?

Нет. Высотное содержимое распознаётся в одну дорожку, и несколько инструментов смешаются. Сначала пропустите запись через разделение на стемы, затем переведите нужную партию отдельно.

Почему барабаны распознаются плохо?

У перкуссии нет длящейся высоты, за которой могла бы следить модель, поэтому вместо рисунка возвращается россыпь низких нот. Для ритм-партий нужен отдельный инструмент для барабанов.

Списываются ли кредиты?

Нет. Работа идёт на вашем устройстве, а не на наших серверах, поэтому перевод бесплатный и кредиты не расходует.

Почему первое распознавание медленнее?

Веса модели скачиваются один раз за сеанс. Следующие файлы в том же сеансе этот шаг пропускают и начинают сразу.

Где хранится история распознаваний?

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

Можно отредактировать MIDI, не уходя с сайта?

Откройте скачанный файл в любом MIDI-редакторе. Редактор типа piano roll быстрее всего позволяет убрать лишние короткие ноты и поправить длительности перед импортом в проект.

Как подготовить запись, чтобы результат был лучше?

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

Справится ли модель с многоголосием, например с фортепиано?

Да, распознавание полифоническое: одновременно звучащие ноты пишутся в одну дорожку. Но в очень плотных аккордах и в местах, где педаль склеивает послезвучия, внутренние голоса иногда теряются или сливаются по длительности, поэтому результат стоит просмотреть в piano roll.