Shazam — принцип работы музыкального сервиса¶
Shazam — музыкальный аудиоинформационный сервис, распознающий звучащую вокруг музыку по фрагменту записи и сопоставляющий её с каталогом лицензированных треков. Основан в 2002 году, с 2018 года принадлежит Apple. По данным разработчиков, база сервиса содержит десятки миллионов композиций, а суммарное число «тегов» (распознаваний) превышает 50 миллиардов.
¶История
Сервис запущен в Великобритании в 2002 году под названием Shazam Entertainment Ltd. Основатели — Крис Бартон, Филип Инглебрет, Авери Ван Буш и Дэвид Джонс. Первоначально распознавание работало через телефонный звонок: пользователь набирал короткий номер, сервис записывал 20 секунд звука с микрофона, обрабатывал его и возвращал название трека в виде SMS. В 2008 году вышло приложение для iPhone, что резко увеличило популярность сервиса.
В 2017 году Shazam оценивался в 400 млн долларов США. В 2018 году Apple объявила о покупке компании за предположительно 400 млн долларов, сделка закрыта в сентябре 2019 года. После интеграции сервис стал встроенной функцией iOS (Siri), а в 2024 году отдельное приложение было упразднено — функциональность перенесена в систему iOS.
¶Принцип работы
¶Съём аудиосигнала
При нажатии кнопки Shazam считывает 5–10 секунд звука через микрофон устройства. Запись оцифровывается с частотой дискретизации 16 кГц и преобразуется в спектрограмму — двумерное представление изменения спектра сигнала во времени. Этот этап называется «созданием отпечатка» (fingerprint) аудио.
¶Построение аудиоотпечатка
Ключевой алгоритм заключается не в сравнении «сырой» записи с базой, а в выделении характерных точек — пиков энергии в спектрограмме. Для каждого такого пика фиксируются:
- частота;
- момент времени;
- интенсивность.
Далее строятся «пары точек» (constellation pairs): для каждого пика выбирается набор парных точек в пределах заданного временного окна. Из пар вычисляются инвариантные к громкости и небольшим искажениям признаки: разность частот, разность времени между точками, их абсолютные значения. Такая схема делает отпечаток устойчивым к шуму, компрессии, изменению громкости и даже незначительному изменению темпа.
¶Поиск в базе
Полученный отпечаток отправляется на сервер Shazam, где сопоставляется с индексом базы. Индекс построен как обратная хеш-таблица: для каждого признака пары точек хранится список треков, в которых этот признак встречается. Сервер подсчитывает совпадения и выбирает трек с наибольшим числом совпадений пар. Если набор совпадений превышает порог, результат считается достоверным.
Обработка занимает единицы секунд, после чего пользователю выводится название, исполнитель, обложка и ссылки на стриминг.
¶Особенности алгоритма
Разработчики неоднократно отмечали, что Shazam устойчиво распознаёт музыку в шумной среде — ресторанах, торговых центрах, на улице. Это связано с тем, что шумовой фон не создаёт устойчивых пиковых пар в спектрограмме, тогда как музыкальный сигнал — создаёт. Точность распознавания при этом оценивается исследователями выше 95 % для студийных записей.
Алгоритм аудиоотпечатков восходит к работе Ауданта и др. (Austian et al.) и к ранним исследованиям в области акустической идентификации, в частности к системе Phonos, разработанной в 1990-е годы. Широкое описание подобной схемы опубликовано в статье «An Industrial-Strength Audio Search Algorithm» (Avery Li-Chun Wang, 2003).
¶Функциональность
- Распознавание музыки — основная функция, работает офлайн-режиме распознавания через Siri на iOS.
- Shazam Charts — чарты популярных треков по странам и городам.
- История тегов — сохранение всех распознаваний с привязкой к карте и времени.
- Автоматическое распознавание — режим, при котором приложение постоянно слушает фон и распознаёт музыку без нажатий, с уведомлением о названии.
- Интеграция со стримингом — связь с Apple Music, Spotify, YouTube Music для прослушивания и добавления в плейлисты.
- Apple Music Replay и DJ — на основе истории Shazam Apple формирует персональные подборки.
¶Технологические аспекты
Shazam использует облачную архитектуру: обработка отпечатка выполняется на серверах, что позволяет обновлять базу без обновления приложения. Компания не раскрывает точный размер каталога, но независимые оценки указывают на 30–100 млн треков. Для индексации используется распределённая система, способная обрабатывать миллионы запросов в секунду в пиковые периоды.
В 2020-е годы Apple интегрировала технологию Shazam в системные компоненты iOS: распознавание доступно из Центра управления, через Siri («What's this song?»), а также в Apple Music для определения уже сохранённых треков.
¶Конкуренты и аналоги
Главные конкуренты Shazam — SoundHound (с собственным алгоритмом и распознаванием голосовых команд) и встроенные функции распознавания в Google Assistant и Яндекс.Алисе. Принцип работы всех этих систем сходен: аудиоотпечаток, индексный поиск, облачная обработка.
¶Интересные факты
- Рекорд сервиса — более 1 миллиарда «тегов» в год.
- В 2014 году Shazam стал первым приложением, распознавшим музыку в рекламе с возможностью мгновенной покупки.
- Технология аудиоотпечатков применяется не только в музыке: аналогичные схемы используются для идентификации видео, речи и промышленных сигналов.
¶Источники
- Avery Li-Chun Wang, «An Industrial-Strength Audio Search Algorithm», 2003
- Публикации Shazam Entertainment Ltd. и Apple Inc.
- Обзоры алгоритмов аудиоидентификации (Acoustical Society of America)
