Архив рубрики ~Лента новостей~

Как Shazam узнаёт песню, даже если вокруг шумно

Как Shazam узнаёт песню, даже если вокруг шумно
Как Shazam узнаёт песню, даже если вокруг шумно

Как Shazam узнаёт песню, даже если вокруг шумно

Shazam не слушает музыку как человек. Он превращает звук в набор частотных точек и ищет их временной рисунок в базе. Но почему совпадению не мешает даже шум и другие помехи?

В кафе играет музыка. Рядом разговаривают люди, звенит посуда, а телефон записывает звук через небольшой микрофон. Через несколько секунд Shazam всё равно показывает название композиции.

Кажется, будто приложение внимательно «слушает» мелодию и понимает её почти как человек. На самом деле классический алгоритм Shazam не ищет слова, жанр или похожий мотив. Он превращает небольшой фрагмент записи в акустический отпечаток и сравнивает его с огромной базой известных треков.

Сначала звук превращается в изображение

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

Поэтому запись разделяется на короткие участки и анализируется по частотам. Результат можно представить в виде спектрограммы. По горизонтали располагается время, по вертикали — частота, а яркость каждой точки показывает интенсивность звука.

Как Shazam узнаёт песню, даже если вокруг шумно

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

Алгоритм оставляет только заметные пики

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

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

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

Из частотных точек создаются отпечатки

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

Для каждой пары можно сохранить три значения: частоту первой точки, частоту второй и расстояние между ними во времени. Упрощённо такой отпечаток выглядит так: (frequency_1, frequency_2, time_difference).

Из этих значений вычисляется компактный хеш. Вместе с ним в базе сохраняются идентификатор песни и позиция, на которой этот фрагмент встретился в оригинальной записи.

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

Shazam не сравнивает запись со всеми песнями

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

Это похоже на поиск значения в словаре. Алгоритму не нужно последовательно запускать миллионы треков и сравнивать их со звуком из микрофона. По хешу он сразу получает список возможных совпадений.

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

Как Shazam узнаёт песню, даже если вокруг шумно

Если фрагмент записан с 50-й секунды композиции, соответствующие отпечатки в базе будут стабильно сдвинуты примерно на 50 секунд. У правильной песни образуется плотная группа совпадений с одинаковым временным смещением. У случайных кандидатов точки окажутся разбросаны.

Почему разговоры и шум не ломают поиск

Фоновый шум добавляет на спектрограмму новые пики и может скрыть часть старых. Но ему сложно случайно воспроизвести целую последовательность частотных пар с правильными расстояниями во времени.

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

Случайные звуки тоже создадут хеши, но их совпадения будут распределены по разным композициям и временным позициям. Настоящая песня даст согласованный рисунок. Шум создаёт помехи, а музыка оставляет структуру.

Конечно, предел существует. Если композицию почти не слышно, запись слишком короткая или микрофон сильно искажает звук, устойчивой группы совпадений может не появиться.

Почему Shazam иногда не узнаёт ремикс или живое исполнение

Классический акустический отпечаток рассчитан на поиск конкретной записи. Если исполнитель изменил темп, тональность или аранжировку, частотные точки и расстояния между ними тоже изменятся.

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

Здесь Shazam отличается от систем, которые ищут музыкальное сходство. Его сильная сторона — быстро и уверенно определить именно ту запись, которая уже присутствует в каталоге.

Простая идея, которая хорошо масштабируется

В алгоритме нет необходимости понимать настроение песни или распознавать инструменты. Основная работа сводится к обработке сигнала, созданию хешей и поиску согласованных совпадений по времени.

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

Источник

Оцените материал:

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Архив рубрики ~Коротко из Telegram~ Поселил ИИ‑агента в чёлку макбука: он слушает мой день и… Архив рубрики ~Коротко из Telegram~ Немой парень впервые признался в любви СИЛОЙ МЫСЛИ — его………… Новости робототехники GM делает ставку на вычислительные технологии и искусственный интеллект, которые, по её мнению, помогут ей конкурировать с китайскими автопроизводителями. Архив рубрики ~Коротко из Telegram~ В легендарный Need for Speed: Underground 2 теперь можно поиграть… Архив рубрики ~Коротко из Telegram~ ИИ придумал пистолет, и его напечатали на 3D-принтере Однозарядный пистолет… Архив рубрики ~Коротко из Telegram~ В Швейцарии с помощью бактерий разработали печатный материал, похожий на бетон Архив рубрики ~Коротко из Telegram~ Модели искусственного интеллекта позволили России применять технологии для лучших крылатых… Архив рубрики ~Коротко из Telegram~ Преимущества использования искусственного интеллекта в медицине зависят от уровня подготовки… Архив рубрики ~Коротко из Telegram~ Почему синтаксис Nova выглядит так: 11 споров с Claude о… Архив рубрики ~Коротко из Telegram~ [Перевод] О сознании и интегрированной информации. Кристоф Кох (интервью) Сознанием… Архив рубрики ~Коротко из Telegram~ Больше половины отпечатков пальцев на терракотовых воинах оставили женщины и… Архив рубрики ~Коротко из Telegram~ В ИТМО учат роботов понимать пространство, а не просто видеть…… Архив рубрики ~Коротко из Telegram~ Теперь можно буквально заглянуть внутрь любого механизма. Claude Code научили…… Архив рубрики ~Коротко из Telegram~ PS5 снова взломали — хакер запустил меню разработчика на последней…… Архив рубрики ~Коротко из Telegram~ Поселил ИИ‑агента в чёлку макбука: он слушает мой день и… Архив рубрики ~Коротко из Telegram~ Немой парень впервые признался в любви СИЛОЙ МЫСЛИ — его………… Новости робототехники GM делает ставку на вычислительные технологии и искусственный интеллект, которые, по её мнению, помогут ей конкурировать с китайскими автопроизводителями. Архив рубрики ~Коротко из Telegram~ В легендарный Need for Speed: Underground 2 теперь можно поиграть… Архив рубрики ~Коротко из Telegram~ ИИ придумал пистолет, и его напечатали на 3D-принтере Однозарядный пистолет… Архив рубрики ~Коротко из Telegram~ В Швейцарии с помощью бактерий разработали печатный материал, похожий на бетон Архив рубрики ~Коротко из Telegram~ Модели искусственного интеллекта позволили России применять технологии для лучших крылатых… Архив рубрики ~Коротко из Telegram~ Преимущества использования искусственного интеллекта в медицине зависят от уровня подготовки… Архив рубрики ~Коротко из Telegram~ Почему синтаксис Nova выглядит так: 11 споров с Claude о… Архив рубрики ~Коротко из Telegram~ [Перевод] О сознании и интегрированной информации. Кристоф Кох (интервью) Сознанием… Архив рубрики ~Коротко из Telegram~ Больше половины отпечатков пальцев на терракотовых воинах оставили женщины и… Архив рубрики ~Коротко из Telegram~ В ИТМО учат роботов понимать пространство, а не просто видеть…… Архив рубрики ~Коротко из Telegram~ Теперь можно буквально заглянуть внутрь любого механизма. Claude Code научили…… Архив рубрики ~Коротко из Telegram~ PS5 снова взломали — хакер запустил меню разработчика на последней……

Оставить комментарий