Поначалу приложения для идентификации музыки кажутся волшебством, но под капотом находится сложный алгоритм, который может мгновенно находить песни. Вот как они работают.
Магия музыкальной идентификации
Это, наверное, случалось со всеми нами. Вы ужинаете в хорошем ресторане, тусуетесь в кафе или гуляете по магазину, когда неожиданно слышите великолепную песню. Может быть, это песня, которую Вы слышали раньше, или трек, который Вы никогда не слышали. Вы берете свой телефон, открываете Shazam и подносите свое устройство к динамикам. В одно мгновение приложение сообщит Вам, что это за песня и кто ее исполняет.
Такие приложения быстрые, удивительно точные и могут определить даже самые непонятные песни. Короче говоря, они ищут ее в обширной базе данных треков. Но технология того, как они это делают, довольно сложна и впечатляет.
Вы можете быть потрясены, узнав, что приложение Shazam, которое мы знаем сегодня, было выпущено еще в 2002 году, и тогда система была такой же точной и быстрой, как и сейчас. Это все благодаря уникальному алгоритму, который произвел революцию в мире музыки.
Поиск не только по тексту
На первый взгляд, приложения для идентификации музыки, такие как Shazam, могут показаться простыми. Вы можете подумать, что они просто слушают текст, как любой голосовой помощник, и ищут его в базе данных текстов песен, чтобы сказать Вам, что это за песня.
Тем не менее, большинство приложений для идентификации музыки способны определить название инструментального произведения или даже исполнителя кавер-версии. Это потому, что вместо анализа текста трека они ищут «отпечатки пальцев», которые являются уникальными для каждой песни в их обширных базах данных.
Технология отпечатков пальцев
Скорее всего, у Вас есть устройства, которые можно разблокировать с помощью отпечатка пальца, то есть расположения маленьких линий на Вашем пальце, которые являются уникальными. Точно так же, когда Вы держите микрофон для записи короткого клипа песни, этот клип превращается в шаблоны данных, которые Shazam или другое приложение могут найти в своей базе данных.
На первый взгляд, этот метод кажется подверженным нескольким проблемам. В большинстве случаев, когда Вы слышите музыку, из-за динамиков возникают фоновые шумы и искажения, которые могут сделать песни неопознаваемыми или привести к неточным совпадениям. Кроме того, есть много данных, записанных даже в коротком звуковом клипе, что может замедлить поиск этих паттернов в базе данных миллионов песен.
В интервью с Scientific American в 2003 году Эйвери Ли-Чун Ванг, главный специалист по данным и соучредитель Shazam, объясняет, как их алгоритм решает эти проблемы. Информация аудиоклипа может быть визуализирована с помощью трехмерной диаграммы, известной как спектрограмма, которая представляет собой изменение частот за период времени. Он также учитывает амплитуду, то есть насколько громкий звук.
Вместо того, чтобы принимать во внимание всю песню при выполнении поиска, Shazam принимает только «пики», которые являются самым высоким энергетическим содержанием в аудиоклипе. Отпечатки пальцев, которые он захватывает, берут только точки наивысшей частоты в пределах данного временного интервала, а затем пятна пиковой амплитуды на этих частотах.
В исследовательской работе для Колумбийского университета Ван заявил, что этот метод позволяет им убрать большинство ненужных частей аудиоклипа, таких как фоновый шум, и устранить искажения. Это также делает размер отпечатков настолько малым, что для идентификации песни в их обширной базе данных требуется всего несколько миллисекунд.
Влияние Shazam
Помимо того, что они полезны для обычных слушателей, которые слышат понравившуюся песню, приложения для идентификации музыки также помогают формировать музыкальный мир.
Радиостанции и службы потоковой передачи часто используют данные о том, что люди чаще всего ищут в Shazam, чтобы выяснить, какие треки являются популярными. Это полезно, потому что это указывает на запоминаемость и потенциальную популярность песни, независимо от исполнителя. Когда Вы идентифицируете песню с приложением, Вы сразу увидите, сколько людей пытались ее идентифицировать.
С момента появления Shazam появились несколько конкурентов. Soundhound утверждает, что может идентифицировать песню, просто напевая ее. Также имеется идентификатор песни, интегрированный с голосовыми приложениями, такими как Google Assistant, которые работают очень похоже на систему Shazam.