Проект NeuralPi ставит целью эмуляцию нейросетью любой гитарной педали
Инженер и музыкант Кит Блумер создал функциональную гитарную педаль NeuralPi, управляемую нейронной сетью в режиме режиме реального времени. Программное обеспечение запускается на одноплатном компьютере Raspberry Pi.
Гитарная педаль NeuralPi — четвёртая разработка Кита Блумера. 26 апреля этого года инженер написал о начале работ по адаптации нейросетей к использованию в музыке и 3 мая описал нейронный гитарный усилитель на основе модели для генерации звуковых волн WaveNet. 5 мая он опубликовал второй гитарный усилитель на основе модели LSTM без сохранения состояния и сравнил с WaveNet. Обнаружив высокую скорость обучения LSTM, Кит Блумер продолжил работу и 22 мая опубликовал третий материал, где смоделировал через LSTM с отслеживанием состояния усилитель Blackstar HT40.
25 мая Кит Блумер опубликовал заключительный материал в серии, где описал процесс создания функциональной гитарной педали на нейросети. Инженер назвал программное обеспечение NeuralPi и выложил исходный код на GitHub.
NeuralPi состоит из четырёх основных компонентов: мини-компьютер с подключаемым модулем Raspberry Pi 4b, аналого-цифровая и цифро-аналоговая плата HiFi Berry ADC + DAC, операционная система с низкой задержкой Elk Audio и плагин VST3, работающий на нейросети. Два из четырёх процессорных ядер Raspberry Pi 4b запускают задачи реального времени, два других выполняют остальные процессы.
Кит Блумер проверил на NeuralPi три разработанные ранее модели по параметрам: скорость обучения, производительность в реальном времени и качества звука (решающий показатель). LSTM без сохранения состояния быстро обучается, но понижает качество звука. WaveNet выдаёт качественный звук, но повышает нагрузку на процессор и создаёт проблемы в работе процессора Raspberry Pi. Модель LSTM с отслеживанием состояния получила самую высокую оценку по всем показателям.
При первом запуске NeuralPi функционировал без ошибок, но значительно искажал звук. Оказалось, что установленный плагин работал медленно и на 99% грузил процессор. Позже с Китом связался создатель нейромодели RTNeural, разработанной для вывода звука в реальном времени. Кит сменил код вывода LSTM на RTNeural, переустановил плагин и провёл диагностику процессора. Загруженность упала с 99% до 16%, качество звука выросло.
Инженер отметил, что при снижении загрузки процессора до 16% на устройстве осталось много свободного места для внедрения новых эффектов, таких как кабсим, реверберация или флэнжер. Кроме того, появилась возможность для создания приложения для телефона с управлением плагином через Wi-Fi, добавить кнопки и элементы управления.
На данный момент Кит Блумер занимается изготовлением корпуса для NeuralPi. Он обещает описать процесс, как закончит сборку.