Шазам как пользоваться

Как работает Shazam — все о Шазам

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

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

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


Алгоритм работы приложения шазам крайне простой. Изначально была создана крупная база данных музыки, эта картотека хранится в специальных отпечатках. Как только пользователь отмечает услышанную песню, в базе формируется совершенно новый отпечаток, характерный только для нее. Приложение отправляет этот образец на сервер, где начинается его сравнение с существующей базой данных. Если будут найдены соответствия, то об этом совпадении будет уведомлен пользователь и у него на экране появится информация о треке. Шазам музыкальное произведение видит, как простой график – спектрограмму. На ней отмечена частота, интенсивность звука и время. И только если все названные показатели совпадают, формируется результат поиска. Обновите приложение и скачайте Shazam на телефон бесплатно с нашего портала .

Работать в Shazam одно удовольствие

Как вы видите, шазам работает очень просто и после запуска программы вы получите доступ к таким ее функциям:

  1. Насладиться найденным треком и его текстом, который будет отображаться на экране.
  2. Отрывки песни прослушивать не только в программе, но и смотреть клипы на YouTube или слушать свой плейлист на Rdio и Spotify.
  3. Запускать программу можно будет с помощью голосовой команды для Google.

Как работает Shazam: принцип работы алгоритма по идентификации песен


В первых трех частях (ссылки на них будут под статьей) мы говорили о теоретическом введении в акустику и оцифровку звука, и теперь, наконец, можно поговорить о самом алгоритме идентификации песен. Сразу предупрежу — в этой статье будут использоваться теоретические термины из предыдущих статей без объяснений, дабы не увеличивать и без того объемный материал. Если вам что-то не понятно — прочитайте теорию.
Глобальный обзор
Аудио слепок (автор использует слово fingerprint, что на русский язык переводится как отпечаток пальца, что как-то не звучит и не особо подходит по смыслу, поэтому я заменил его на слепок) представляет собой цифровой «конспект» песни, который может быть использован для идентификации аудио образца или быстрого поиска похожих образцов в базе данных. Например, когда вы напеваете песню, вы создаете ее аудио слепок, потому что вы извлекаете из музыки то, что считаете необходимым (и, если вы хороший певец, другие люди узнают песню).
Прежде чем идти глубже, вот упрощенная схема того, как идентифицирует песню Shazam. Я не работаю в Shazam, так что это всего лишь предположение (из документа 2003 года от соучредителя Shazam):

На стороне сервера:

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

На стороне клиента:

  • Когда пользователь использует Shazam, приложение сначала записывает текущую музыку с помощью микрофона телефона.
  • Телефон применяет тот же алгоритм снятия слепка с песни, что и Shazam при добавлении слепка в свою базу данных.
  • Телефон отправляет аудио слепок в Shazam.
  • Shazam проверяет, совпадает ли этот слепок хотя бы с одним из базы данных:
    • Если нет, он сообщает пользователю, что трек не найден;
    • Если да, то он ищет метаданные, связанные с этим слепком (название песни, URL песни в iTunes, Amazon и т.д.) и возвращает его пользователю.

Ключевыми особенностями алгоритма по снятию слепков в Shazam являются:

  • Устойчивость к шуму/ошибкам:
    • Музыка, записанная телефоном в баре/на открытом воздухе, имеет плохое качество.
    • Из-за неидеальности оконных функций.
    • Из-за дешевого микрофона внутри телефона, который создает шум/искажения.
  • Слепки должны быть неизменными во времени: слепок полной песни должен соответствовать ее 10-секундной записи.
  • Сопоставление слепков должно быть быстрым: кто будет ждать минуты/часы, чтобы получить ответ от Shazam?
  • Отсекать ложные срабатывания: кто хочет получить ответ, который не соответствует правильной песне?

Фильтрация спектров
Звуковые слепки отличаются от стандартных компьютерных контрольных сумм, таких как SSHA или MD5, потому что два разных файла (с точки зрения битов), которые содержат одну и ту же музыку, должны иметь один и тот же аудио слепок. Например, песня в формате ACC 256 Кбит (iTunes) должна давать тот же слепок, что и та же песня в формате 256 Кбит (Amazon), или в формате WMA 128 Кбит (Microsoft). Чтобы решить эту проблему, алгоритмы автоматического снятия слепков используют спектрограмму аудиосигналов для получения слепков.

Я уже говорил вам, для того, чтобы получить спектрограмму цифрового звука, нужно применить БПФ. Для алгоритма снятия аудио слепка нам нужно хорошее частотное разрешение (например, 10.7 Гц), чтобы уменьшить спектральную утечку и иметь хорошее представление о самых важных нотах, играемых внутри песни. В то же время, нам необходимо максимально сократить время вычислений и, следовательно, использовать минимально возможный размер окна. В исследовательской работе Shazam они не объясняют, как они получают спектрограмму, но вот возможное решение:

На стороне сервера (Shazam) звук с частотой дискретизации 44.1 кГц (с CD, MP3 и любых других носителей и форматов) должен переводиться от стерео к моно. Мы можем сделать это, взяв среднее значение левого и правого звукового канала. Перед понижающей дискретизацией нам необходимо отфильтровать частоты выше 5 кГц, чтобы избежать сглаживания звука, и после этого частоту дискретизации можно понизить до 11.025 кГц.

На стороне клиента (телефон) частота дискретизации микрофона, записывающего звук, должна составлять 11.025 кГц.

Затем, в обоих случаях нам нужно применить функцию окна к сигналу (например, окно с 1024 выборками) и провести БПФ для каждых 1024 выборок. Таким образом, каждый БПФ анализирует 0.1 секунду музыки. Это дает нам спектрограмму:

  • От 0 Гц до 5000 Гц;
  • С частотным разрешением 10.7 Гц;
  • 512 возможных частот;
  • Единицу времени в 0.1 секунду.

На этом этапе у нас есть спектрограмма песни. Поскольку Shazam должен работать в условиях шума, сохраняются только самые громкие ноты. Но вы не можете просто брать Х самых громких частот каждые 0.1 секунды. Вот несколько причин этого:

  • В первой части статьи я рассказывал о психоакустических моделях. Человеческим ушам труднее слышать низкий звук (<500 Гц), чем средний звук (500 Гц — 2000 Гц) или высокий звук (> 2000 Гц). В результате громкость низких частот многих «сырых» песен искусственно увеличивают перед выпуском. Если вы возьмете только самые громкие частоты, вы получите только низкие, и если в двух песнях будет одинаковый барабанный ритм, они могут иметь очень близкую фильтрованную спектрограмму, тогда как в первой песне, к примеру, есть еще и флейты, а во второй — гитары.
  • Мы видели в главе о функциях окна, что, если у вас есть очень мощная частота, другие частоты, близкие к ней, появятся в спектре, тогда как в реальности они не существуют (это происходит из-за спектральной утечки). Нам же нужно уметь брать только настоящую частоту.

Вот простой способ сохранить только самые мощные частоты при одновременном снижении влияния других проблем:

Шаг 1: для каждого результата БПФ вы помещаете 512 бинов в 6 логарифмических диапазонов:

  • Очень низкий звуковой диапазон (от 0 до 10 бина);
  • Низкий звуковой диапазон (от 10 до 20 бина);
  • Средне-низкий звуковой диапазон (от 20 до 40 бина);
  • Средний звуковой диапазон (от 40 до 80 бина);
  • Средне-высокий звуковой диапазон (от 80 до 160 бина);
  • Высокий звуковой диапазон (от 160 до 511 бина).

Шаг 2: для каждой группы вы сохраняете самый сильный бин частот.

Шаг 3: вы вычисляете среднее значение этих 6 мощных бинов.

Шаг 4: вы сохраняете те бины (из этих шести), которые выше этого среднего значения.

Шаг 4 очень важен, потому что у вас может быть:

  • А капелла, где поют только сопрано со средними или средне-высокими частотами.
  • Джаз или рэп, где преобладают только низкие частоты.
  • Другие жанры, где есть только определенные частоты.

И нам явно ненужно поддерживать слабую частоту (относительно других диапазонов) только потому, что она самая громкая в свое диапазоне.

Но этот алгоритм имеет ограничение: в большинстве песен некоторые части очень тихие (например, начало или конец песни). Если вы проанализируете эти части, то вы получите ложные сильные частоты, потому что среднее значение (вычисленное на шаге 3) этих частей очень низкое. Чтобы избежать этого, вместо того, чтобы брать среднее значение из шести диапазонов текущего БПФ (который представляет только 0.1 секунду песни), можно взять среднее значение для самых мощных бинов полной песни.

Резюмируя: применяя этот алгоритм, мы фильтруем спектрограмму песни, чтобы сохранить пики в спектре, которые представляют самые громкие ноты. Чтобы дать вам визуальное представление о том, что такое фильтрация, вот настоящая спектрограмма 14-секундной песни:

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

Эта картинка представляет собой фильтрованную спектрограмму, где сохраняются только самые сильные частоты предыдущего рисунка. Некоторые части песни тут вообще не имеют частот (например, их нет в промежутке от 4 до 4.5 секунд).

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

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

  • Ось Y представляет частоту внутри спектрограммы;
  • Ось X представляет собой время, когда частота возникала в песне.

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

Shazam — что это за программа и как работает

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

Итак, что же такое Shazam?

Shazam — современно приложение, направленное на распознавание аудиозаписей, сбор информации и отображения полного каталога композиций, соответствующего исполнителя. Суть приложения в том, что пользователь может активировать программу в любом месте, в момент звучания определенной желанной мелодии. Чтобы приложение распознала музыкальный хит, достаточно максимально близко (по мере возможности) приблизить смартфон к источнику звучания аудиозаписи, подержать телефон на одном уровне 15 секунд и дать телефону несколько минут на обработку данных.

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

Шазам — это многофункциональная система, умеющая распознавать абсолютно весь репертуар, вне зависимости от года выпуска пластинки и языка исполнения.

В чем популярность программы?

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

Shazam — что за программа?

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

Работает программа для распознавания музыки для Андроид, iPhone и в общем любых других платформах, где существует встроенный динамик и доступ в сеть. Вы абсолютно не ограничены в среде применения приложения, за многие годы работы, оно стало не только кроссплатформенным, но и прибавило множество дополнительных функций.

Читайте также: Портативная колонка с флешкой: обзор

Изначально Shazam работал по схеме: вы звоните по номеру и включаете отрывок песни, затем вам приходит смс с названием композиции, такая услуга была платная. С того момента утекло много воды и на данный момент программа для распознавания музыки Shazam стала известна во всем мире и даже приобрела собственное выражение «шазамить» — так пользователи называют процесс поиска аудио.

Сейчас приложение умеет не только находить музыку, но и в дополнение к ней показывает вам: ссылку на официальный магазин платформы для загрузки аудио, если доступно изображение, которое содержит официальную обложку альбома. Также, если записан клип, то вы получите ссылку на него. Дополнительно внедрены функции социальной сети, где вы можете общаться с друзьями, видеть ленту их поиска, просматривать рейтинг самых популярных композиций в мире. Конечно, в программе существует история поиска и вы можете её просмотреть, если забыли название мелодии.

Также Shazam умеет синхронизироваться с другими сервисами вроде Spotify или Rdio. Умеет производить поиск по тексту песни.

Shazam, как пользоваться?

Приблизительно принцип работы состоит в следующем: программа записывает 10 сек. трека. Затем загружает его на общий, центральный сервер, где по определённым точкам, используя мощного робота, происходит поиск. Вероятность найти композицию очень высокая, хоть и не 100%. В базе сервиса содержится уже свыше 40 млн песен.

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

Сервис Shazam бесплатен для использования в странах СНГ и нет платной версии. В общем-то существует и коммерческий вариант и единственное его преимущество – это отсутствие рекламы. Увы, но как и у многих бесплатных приложений, у Шазам заработок происходит за счет рекламы.

Использование программы крайне простое и доступно даже самому незадачливому пользователю, от вас требуется:

  • Загрузите само приложение, найти его можно в оф магазине и является бесплатным, для Android https://play.google.com/store/apps/details?id=com.shazam.android&hl=ru;
  • Запустите программу;
  • Нажмите на символ Shazam, круглую кнопку по центру;

  • Поднесите смартфон, планшет или ноутбук к источнику музыки;

  • После 10-и секундной записи вы получите искомую информацию.

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

Лучше всего сервис работает с широко известными композициями, с англоязычными исполнителями, но вполне неплохо определяет и русские песни.

Читайте также: Как наложить музыку на видео на телефоне?

После удовлетворительного результата вы получите максимальное количество информации об исполнителе и самом произведении, не забыли разработчики и о тексте песни. Также будут представлены ссылки на дополнительные источники, вроде Wikipedia, где описывается история жизни/творчества музыканта, а иногда интересные обстоятельства написания песни.

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

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

Если у Вас остались вопросы по теме «Что такое Shazam? Основные функции и использование программы», то можете задать их в комментариях

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *