Как Shazam распознаёт музыку
Приложения для распознавания музыки (Shazam, SoundHound) и Content ID, который ищет пиратскую музыку на YouTube, работают по одному принципу.
Как это работает:
- Пользователь даёт приложению послушать играющую музыку.
- Алгоритм преобразует звук с микрофона в спектрограмму.
- Затем разбивает спектрограмму на одинаковые отрезки по доле секунды.
- На каждом отрезке находит только самые громкие звуки и отмечает их положение (чёрные точки на иллюстрации к посту). Таким образом, одновременный крик и удар барабана оставят отметки в разных частях спектра.
- Записывает координаты самых громких звуков в виде текстовой строки — хеша.
- Ищет похожие хэши в своей базе с миллионами предварительно проанализированных песен.
- Находит совпадение и показывает название песни и исполнителя.
Таким образом, приложение даже не отправляет запись звука на сервер, а всё преобразование происходит в телефоне пользователя.
Благодаря анализу только громких звуков, алгоритму не мешает фоновый шум и он прекрасно справляется с анализом музыки по радио.
Кстати, в начале 2000-х Шазам работал через звонки и СМС! Пользователь звонил на номер и Шазам слушал музыку по телефону. После анализа ответ с названием песни приходил по СМС.
❤️ Жми на сердечко, если интересно 🏆 Жми на кубок, если пользуешься Шазамом 🧑💻 Жми на ботана, если работаешь со спектрограммами