Разработчики из Вашингтонского университета под руководством Эли Шлицермана (Eli Shlizerman) создали алгоритм, способный воссоздать звук фортепиано по беззвучному видео.
Казалось бы, человеку или алгоритму, знакомому с игрой на музыкальном инструменте, не составит труда распознать мелодию на основе видеозаписи. Однако на практике разработчики компьютерных алгоритмов для этой задачи сталкиваются с серьезными трудностями. Ведь каждый звук состоит из множества параметров: сама мелодия, особенности инструмента, манера музыканта и движения его рук.
Чтобы добиться нужного эффекта, американские ученые использовали сложный алгоритм, который состоит из трех основных частей:
- Алгоритм Video2Roll, основанный на сверхточной нейросети ResNet18 и дополненный модулем внимания, обрабатывает по пять последовательных кадров, на которой показаны клавиатура и кисти рук музыканта. Результатом является аналог перфорированного рулона, который раньше использовался для механического фортепиано. Нажатые клавиши на нем обозначаются как активные.
- Генеративно-состязательная нейросеть Roll2Midi определяет, какие из нажатых клавишей не участвуют в создании конкретного звука. Ведь последовательность из пяти кадров охватывает небольшой промежуток времени, и некоторые из нажатых клавиш могут быть зажаты уже относительно долго.
- Два алгоритма: FluidSynth и PerfNet – превращают полученные данные в звук.
Самые высокие результаты были получены при использовании Roll2Midi и FluidSynth: таким образом удалось опознать 73,9 % композиций. Но, отмечают исследователи, PerfNet тоже не стоит сбрасывать со счетов: обработанный этой программой звук получился более эмоциональным.