Слушайте и распознавайте

У Яндекс.Музыки появился бот для Telegram. Он умеет угадывать мелодии — пусть не с трёх нот, но с нескольких секунд. Если вам понравилась музыка, которая играет в магазине или кафе, запустите бота, зажмите кнопку с микрофоном и удерживайте её 5–10 секунд. Бот послушает композицию, сообщит вам название и исполнителя и пришлёт ссылку на трек на Яндекс.Музыке.

Несмотря на то, что бот только запустился, у него длинная предыстория. Возможно, вы помните, что когда-то угадывать мелодии умело мобильное приложение Яндекс.Музыки. За это отвечала созданная в Яндексе технология распознавания музыки — о том, как она работает, мы несколько лет назад подробно рассказывали в нашем блоге на «Хабрахабре».

Технология хорошо себя показала, но у неё были ограничения. В частности, не всегда получалось распознать трек, записанный в шумных условиях. Оживлённый разговор, собачий лай, гудки машин, хлопнувшая дверь — всё это сильно повышало вероятность ошибки. А самое главное — система была устроена так, что с подобными ошибками было трудно бороться.

По сути, задача распознавания музыки сводится к выделению и сравнению сигнатур — признаков, по которым можно понять, что записанный фрагмент относится к тому или иному треку. В первой версии распознавалки мы выделяли признаки по набору правил. Это работало, но не всегда: правилами невозможно описать всё разнообразие искажений, которые могут быть на записи.

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

Наш музыкальный бот сейчас способен распознавать несколько миллионов треков из базы Яндекс.Музыки. Он пока работает в тестовом режиме и иногда даёт маху —, но чем чаще вы его используете, тем реже он будет ошибаться. Добавить бота в Telegram можно по этой ссылке, а рассказать о своих впечатлениях от общения — в комментариях к этому посту.

©  Яндекс