Прикладной AI и веб-продукты · Опубликовано для iOS и Android

BravoNota: нейросеть, которая распознаёт аккорды

Мобильное приложение для музыкантов распознаёт аккорды по времени, помогает настроить инструмент и не отправляет аудио на сервер.

Что получил бизнес

Я создал BravoNota – бесплатное приложение для музыкантов с собственной нейросетью распознавания аккордов. Пользователь выбирает запись и получает временную шкалу аккордов, может прослушать результат и продолжить работу с тюнером, метрономом и библиотекой. Модель обучена на собственном наборе данных и работает прямо на телефоне.

Что изменилось после внедрения

Аккорды видны по времени

Музыкант получает не общий список, а понятную временную шкалу и может перейти к нужному месту записи.

Аудио остаётся на телефоне

Основное распознавание выполняется на устройстве без загрузки музыкальной записи на сервер проекта.

Собственная интеллектуальная собственность

Модель обучена на собственном наборе данных, созданном специально для коммерчески чистого продукта.

Полезно и без нейросети

Тюнер, метроном, библиотека аккордов и спектрограмма превращают приложение в повседневный инструмент музыканта.

Продукт начался с реальной семейной задачи

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

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

Почему понадобилась собственная модель

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

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

  • собственный набор данных
  • точная временная разметка
  • проверка качества примеров
  • повторное обучение и сравнение версий

Как выглядит результат для музыканта

Приложение распознаёт 170 классов аккордов и объединяет соседние ответы в удобные отрезки времени. Пользователь видит название аккорда, начало и длительность, а также степень согласованности результата.

Для сложной записи можно включить углублённый режим: приложение анализирует несколько вариантов звучания и выбирает наиболее устойчивый ответ.

  • 170 классов аккордов
  • временная шкала
  • переход к нужному фрагменту
  • прослушивание и экспорт результата

Конфиденциальность заложена в продукт

Запись декодируется и анализируется на устройстве. Микрофон для тюнера и спектрограммы также обрабатывается локально, а результаты хранятся в области приложения.

Для основных функций не нужны учётная запись, рекламный профиль или аналитическая система.

  • работа модели на устройстве
  • без серверного распознавания
  • без обязательной регистрации
  • без рекламных модулей

Что настраивается под конкретную компанию

Технологию можно адаптировать для музыкального сервиса, образовательного приложения или внутреннего каталога: изменить набор распознаваемых событий, формат результата, интерфейс и способ встраивания модели в мобильный или серверный продукт.

Техническим специалистам

Модель семейства двунаправленных трансформеров получает частотно-временное представление записи и предсказывает один из 170 классов. На iOS используется Core ML, на Android – TensorFlow Lite.

  • частотно-временное представление CQT
  • 18 вариантов анализа в углублённом режиме
  • локальная обработка импортированного аудио
  • отдельные алгоритмы для тюнера, метронома и спектрограммы

Стек: Core ML, TensorFlow Lite, CQT, Transformer, SwiftUI, Jetpack Compose, YIN, STFT

Вопросы о решении

BravoNota отправляет музыку на сервер?

Нет. В опубликованном приложении распознавание аккордов и другие основные функции выполняются прямо на телефоне.

На каких устройствах работает приложение?

BravoNota опубликована для iPhone и Android. Ссылки на обе версии доступны на официальном сайте продукта.

Чем собственная модель важна для продукта?

Она даёт контроль над данными, качеством и развитием функции, а также позволяет не строить коммерческий продукт на чужом каталоге записей.

Обсудить похожую задачу

Опишите текущий процесс, данные и программы, которыми пользуются сотрудники. Я предложу понятный следующий шаг.