- Шазам — что это за приложение?
- Разбираемся
- Что за приложение Шазам, и как им пользоваться?
- Что такое Шазам
- Как пользоваться?
- Использование Shazam на устройствах Android
- Определение музыки с помощью Shazam
- Использование режима «Автошазам»
- Использование панели уведомлений вместе с жестами смахивания и нажатия для определения музыки
- Использование функции Pop-Up Shazam (Всплывающий Shazam) для определения музыки
- Как работает Shazam: принцип работы алгоритма по идентификации песен
Шазам — что это за приложение?
Шазам — приложение, позволяющее автоматически определить исполнителя и название проигрываемой песни, источником звука может быть радио, телевизор, колонки (для определения используется микрофон).
Простыми словами: например где-то играет музыка, например по радио, в магнитофоне, автомагнитоле.. вам интересно что что за музыка? Просто запустите Шазам, он запишет фрагмент композиции и сравнит со совей базой, после чего выдаст вам информацию — что за исполнитель, название песни, может даже текст показать))
Разбираемся
- Данное приложение необходимо чтобы распознать музыку. То есть вы запускаете программу, далее она анализирует музыку которая играет и определяет название композиции и исполнителя.
- Программа доступна для Айфонов, Андроида, Мак и WatchOS (операционка для часов).
- Как работает? Программа анализирует музыку через микрофон, точнее записывает фрагмент, далее этот фрагмент сравнивается с фрагментами из центральной базы, после предоставляется информация о проигрываемой композиции. На данный момент в базе примерно 11 млн треков.
- Шазам может распознавать аудио из любых источников, например радио, телевизор, музыка из кино. Достаточно поднести телефон к источнику звука. Главное чтобы уровень посторонних шумов не был сильно высок. Если распознанный трек есть на Ютубе или Apple Music — приложение выдаст соответствующие ссылки.
- С 2015 года программа может искать песни по тексту и названиям альбомов.
- Приложение Шазам может определить что за песня буквально за несколько секунд.
Как пользоваться? Сперва устанавливаем приложение Шазам. Запускаем. На главном экране доступна кнопка Шазамить, собственно подносим смартфон к источнику звука, но в принципе если играет далеко и четко — тоже сработает. Ну и нажимаем кнопку Шазамить:
После нужно немного подождать.. обычно это несколько секунд:
Иногда бывает что с первого раза не определяет. Тогда нужно повторить. Но если приложение Шазам определило что за трек — вы сразу увидите название исполнителя, название трека, а также по возможности текст песни, видео:
Иногда есть возможность даже купить билеты на концерт))
Также Шазам может запросить доступ к микрофону — нужно разрешить, без этого приложение не сможет вообще понять что за музыка играет:
Кстати Шазам может определить музыку, которая играет на вашем же телефоне. Первое — вы можете просто включать песню на телефоне, далее открыть Шазам и распознать. Но если песня не играет в фоновом режиме — тоже не беда, зайдите в Шазам, нажмите кнопку определения и удерживайте ее, пока не активизируется функция Автошазам. Теперь распознавание будет работать даже если свернуть Шазам. Осталось только запустить приложение, где играет музыка, далее Шазам автоматически распознает и пришлет вам уведомление.
Как по мне — приложение классное. Удачи и добра, до новых встреч друзья!
Источник
Что за приложение Шазам, и как им пользоваться?
Вы слышите где-то интересную песню. Хотелось бы узнать ее название, и исполнителя. Чтобы потом найти и добавить в свой плейлист. Знакомая ситуация? Эту задачу позволяет решить приложение Shazam.
Что такое Шазам
Изначально это было приложение для смартфонов, под управлением ОС Android (см. скачать шазам для андроид). Теперь есть версии для яблочных устройств. А с помощью эмуляторов, стало возможным установка на персональный компьютер.
Основная функция — распознавание музыки по короткому отрывку. Вам достаточно поднести телефон или микрофон ПК, к источнику звука, и запустить процедуру определения (см. как найти музыку через микрофон с шазам онлайн). Шазам запишет отрывок песни, автоматически отправит ее на сервер, где сравнит с данными в базе. Если будет найдено совпадение, вам будет предоставлена следующая информация.
- Имя автора и название композиции.
- Ссылки для скачивания из официальных источников.
- Возможность прослушивания.
- Инструменты для шаринга в социальных сетях.
Для работы приложения не требуется активное интернет соединение. Даже если вы не подключены к сети, отрывок нужной песни будет сохранен. Вы получите данные, при следующем подключении.
Как пользоваться?
Установите Шазам на свое устройство, используя дистрибутивы и инструкции из раздела установочные файлы. Затем запустите.
Источником звука может выступать радио в автомобиле, колонки в заведении и т.д. Дальность достаточно высока. Я пробовал определить песню в спортивном зале, находясь от колонок на расстоянии примерно 15 метров. Все получилось.
На главной странице приложения доступна кнопка «Шазамить».
Начнется процесс получения данных. Вам нужно подождать несколько секунд.
Возможно, с первого раза не получиться. Тогда запустите процесс еще раз.
Если совпадение будет найдено, на экране вы увидите всю информацию.
Теперь можно добавить песню к себе в коллекцию, поделиться с друзьями, посмотреть слова и т.д.
Источник
Использование Shazam на устройствах Android
Определите с помощью Shazam музыкальную композицию, которая звучит по радио, ТВ, в магазине, на вашем устройстве или где-либо еще. Затем перейдите в библиотеку Shazam, чтобы просмотреть распознанные композиции и на их основе найти новую музыку.
Shazam определяет композиции, создавая уникальные цифровые отпечатки для сопоставления того, что вы слышите, с одной из миллионов композиций в базе данных Shazam.
Определение музыки с помощью Shazam
С помощью Shazam можно определить музыку, которая звучит вокруг вас. Кроме того, Shazam определяет музыку, которая звучит в другом приложении, даже если вы в наушниках.
- Коснитесь и удерживайте значок Shazam на панели приложений, затем нажмите «Шазамить».
- Откройте приложение Shazam на своем устройстве, затем нажмите кнопку Shazam (Шазамнуть) .
Когда Shazam распознает композицию, она сохраняется в библиотеке Shazam.
После определения композиции можно подключиться к Apple Music и другим музыкальным службам для прослушивания композиции Shazam.
Если подключение к Интернету отсутствует, программа все равно создает уникальный цифровой отпечаток для сопоставления с базой данных Shazam при следующем подключении вашего устройства к Интернету. Если определить композицию не удается, она будет убрана из списка ожидания Shazam.
Использование режима «Автошазам»
Чтобы приложение Shazam автоматически определяло музыку, которая звучит вокруг, включите режим «Автошазам».
- Коснитесь и удерживайте значок Shazam на панели приложений, затем нажмите «Автошазам».
- Откройте приложение Shazam на своем устройстве, затем нажмите и удерживайте кнопку Shazam (Шазамнуть) .
Когда режим «Автошазам» включен, приложение Shazam сопоставляет звучащую музыку с композициями в базе данных Shazam даже при переключении на другое приложение. Shazam никогда не сохраняет и не хранит музыку.
Композиции, определенные программой Shazam в режиме «Автошазам», затем можно найти сгруппированными по дате в библиотеке.
Чтобы выключить режим «Автошазам», нажмите кнопку Shazam (Шазамнуть).
Использование панели уведомлений вместе с жестами смахивания и нажатия для определения музыки
При использовании другого приложения можно получить доступ к Shazam на панели уведомлений, чтобы определить звучащую музыку.
- Смахните вниз, чтобы увидеть Shazam на панели уведомлений.
- Нажмите Shazam (Шазамнуть), чтобы начать определять музыку.
- Чтобы закрыть панель уведомлений, перейдите в библиотеку Shazam, нажмите кнопку «Настройки» , затем выключите параметр «Шазамить из панели уведомлений».
Использование функции Pop-Up Shazam (Всплывающий Shazam) для определения музыки
- Откройте приложение Shazam, смахните вниз, чтобы перейти в библиотеку, затем нажмите кнопку «Настройки» .
- Включите «Всплывающий Shazam», выберите «Открыть настройки», затем включите параметр Allow display over other apps (Разрешить отображение поверх других приложений).
- При использовании другого приложения нажмите кнопку «Всплывающий Shazam» , чтобы определить музыку, которая звучит в этом приложении.
- Чтобы удалить всплывающую кнопку, перетащите ее к значку X внизу экрана.
Чтобы вернуть всплывающую кнопку, смахните вниз от верхней части экрана и нажмите на уведомление. Если параметр «Шазамить из панели уведомлений» не включен, откройте приложение Shazam и начните определять композицию. Пока Shazam определяет композицию, перейдите в фоновый режим. На экране появится всплывающая кнопка.
Источник
Как работает 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 секунды. Вот несколько причин этого:
- В первой части статьи я рассказывал о психоакустических моделях. Человеческим ушам труднее слышать низкий звук ( 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.
Источник