Инженер и музыкант Кит Блумер создал функциональную гитарную педаль NeuralPi, управляемую нейронной сетью в режиме режиме реального времени. Программное обеспечение запускается на одноплатном компьютере Raspberry Pi.
![](https://habrastorage.org/getpro/habr/upload_files/e5b/6e4/26f/e5b6e426ff304eb9592dae0025e7eed3.png)
Гитарная педаль 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 запускают задачи реального времени, два других выполняют остальные процессы.
![](https://habrastorage.org/getpro/habr/upload_files/8cf/8f6/6a9/8cf8f66a99d11e4aae4db744bf0412f4.png)
Кит Блумер проверил на NeuralPi три разработанные ранее модели по параметрам: скорость обучения, производительность в реальном времени и качества звука (решающий показатель). LSTM без сохранения состояния быстро обучается, но понижает качество звука. WaveNet выдаёт качественный звук, но повышает нагрузку на процессор и создаёт проблемы в работе процессора Raspberry Pi. Модель LSTM с отслеживанием состояния получила самую высокую оценку по всем показателям.
При первом запуске NeuralPi функционировал без ошибок, но значительно искажал звук. Оказалось, что установленный плагин работал медленно и на 99 % грузил процессор. Позже с Китом связался создатель нейромодели RTNeural, разработанной для вывода звука в реальном времени. Кит сменил код вывода LSTM на RTNeural, переустановил плагин и провёл диагностику процессора. Загруженность упала с 99 % до 16 %, качество звука выросло.
Инженер отметил, что при снижении загрузки процессора до 16 % на устройстве осталось много свободного места для внедрения новых эффектов, таких как кабсим, реверберация или флэнжер. Кроме того, появилась возможность создать приложение для телефона с управлением плагином через Wi-Fi, добавить кнопки и элементы управления.
На данный момент Кит Блумер занимается изготовлением корпуса для NeuralPi. Он обещает описать процесс, как закончит сборку.