программа шазам что делает

Использование Shazam на iPhone, iPad, iPod touch, Apple Watch и Mac

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

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

программа шазам что делает

Использование приложения Shazam

Если у вас установлено приложение Shazam на iPhone, iPad, iPod touch или Mac, его можно использовать для распознавания музыки и сохранения ее в медиатеке.

программа шазам что делает

Композиция, определенная приложением Shazam, сохраняется на экране «Моя музыка» вместе со всеми предыдущими шазамами.

После определения композиции можно подключиться к Apple Music и другим музыкальным сервисам для прослушивания шазама.

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

Использование режима «Автошазам»

Композиции, определенные приложением Shazam в режиме «Автошазам», затем можно найти на экране «Моя музыка» сгруппированными по дате.

Чтобы выключить режим «Автошазам», нажмите кнопку Shazam.

Использование приложения Shazam в Пункте управления на iPhone, iPad или iPod touch

* Требуется iOS или iPadOS 14.2 или более поздней версии.

Источник

Что за приложение Шазам, и как им пользоваться?

Вы слышите где-то интересную песню. Хотелось бы узнать ее название, и исполнителя. Чтобы потом найти и добавить в свой плейлист. Знакомая ситуация? Эту задачу позволяет решить приложение Shazam.

Что такое Шазам

Изначально это было приложение для смартфонов, под управлением ОС Android (см. скачать шазам для андроид). Теперь есть версии для яблочных устройств. А с помощью эмуляторов, стало возможным установка на персональный компьютер.

Основная функция — распознавание музыки по короткому отрывку. Вам достаточно поднести телефон или микрофон ПК, к источнику звука, и запустить процедуру определения (см. как найти музыку через микрофон с шазам онлайн). Шазам запишет отрывок песни, автоматически отправит ее на сервер, где сравнит с данными в базе. Если будет найдено совпадение, вам будет предоставлена следующая информация.

программа шазам что делает

Для работы приложения не требуется активное интернет соединение. Даже если вы не подключены к сети, отрывок нужной песни будет сохранен. Вы получите данные, при следующем подключении.

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

Установите Шазам на свое устройство, используя дистрибутивы и инструкции из раздела установочные файлы. Затем запустите.

Источником звука может выступать радио в автомобиле, колонки в заведении и т.д. Дальность достаточно высока. Я пробовал определить песню в спортивном зале, находясь от колонок на расстоянии примерно 15 метров. Все получилось.

На главной странице приложения доступна кнопка «Шазамить». программа шазам что делает

Начнется процесс получения данных. Вам нужно подождать несколько секунд.

программа шазам что делает

Возможно, с первого раза не получиться. Тогда запустите процесс еще раз.

Если совпадение будет найдено, на экране вы увидите всю информацию.

программа шазам что делает

Теперь можно добавить песню к себе в коллекцию, поделиться с друзьями, посмотреть слова и т.д.

Источник

История сервиса Shazam

От распознавания музыки по телефону до интеграции со Snapchat, миллиардной оценки и сделки с Apple.

История приложения Shazam началась в 1999 году, когда два студента Калифорнийского университета в Беркли Крис Бартон и Филипп Ингелбрехт решили создать программу, которая могла бы распознавать музыку. С ними в команде оказались друг Криса Дираж Мукерджи и инженер Эйвери Ванг.

Крис Бартон увлёкся высокими технологиями, когда ему было всего 11 лет. Его мама, преподававшая информатику в университете, принесла домой один из первых персональных компьютеров Sinclair. На нём подросток научился писать простые программы.

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

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

Один из студентов, Скотт Кусирек, который был старше Бартона всего на год, рассказал о старте своего интернет-бизнеса в сфере недвижимости. За несколько лет до этого он оставил карьеру пилота ВВС. Тогда Бартон подумал: если кто-то запустил бизнес после карьеры лётчика, то что мешает ему работать над своим делом?

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

Лето между первым и вторым курсом MBA Бартон провёл в Лондоне на стажировке в Microsoft, там же находился его друг детства Дираж Мукерджи.

Вместе они и проводили мозговые штурмы в местных кафе. Друзья решили, что им нужен ещё один партнёр, и взяли в команду однокурсника Бартона по колледжу — Филиппа Ингелбрехта.

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

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

Молодой человек попытался представить: если его приложением будут пользоваться все радиостанции страны, что могут сделать конкуренты, чтобы обойти его? Если кто-то предложит систему по распознаванию звука из любого источника, то программа Бартона окажется не нужна.

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

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

Самым продвинутым телефоном в 1999 году был маленький Nokia 8210 с чёрно-белым экраном. Самой сложной операцией, которую совершали тогда мобильные устройства, была установка ринтгтона.

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

Во время запуска Shazam рынок мобильных устройств был развит в Европе и Японии. Там пользователям компания предложила услугу «Премиум SMS», с помощью которой можно было заплатить, например, за рингтон. На этом и рассчитывали зарабатывать разработчики.

В США такая услуга была ещё не доступна. Площадкой для тестирования новой программы стала Великобритания, страна с самым большим количеством музыки на душу населения.

Shazam была запущена в 2002 году. На первом этапе 95% владельцев мобильных телефонов в Великобритании (все, кроме клиентов Virgin Mobile), могли распознать мелодию, позвонив по номеру 2580. Пользователь в течение 30 секунд держал телефон у источника звука, после чего ему приходило сообщение с именем исполнителя и песни.

Если идентификация была невозможна, плата не взималась, если распознание проходило успешно, то со счёта списывалось 50 пенсов. Вскоре появилась новая услуга — покупка рингтонов, связанных с идентифицированными песнями.

Через несколько лет появилась функция неограниченного распознавания звуков для подписчиков за три доллара в месяц. Только появление App Store помогло приложению Shazam стать популярным на весь мир.

Постепенно основатели Shazam покинули компанию, только Эйвори Вонг позже опять присоединился к делу. Крис Бартон в 2003 году ушёл работать в Google, позже — в Dropbox. В том же году Дираж Мукерджи покинул компанию, следующим его местом работы стала организация Save the children.

После он работал в таких компаниях, как Bauer Media, Virgin Money и другие. Филипп Ингелбрехт остался в компании чуть дольше, построил b2b-бизнес и в 2004 году также перешёл в Google, а после занялся новыми стартапами.

В 2004 году система Shazam была запущена в США в сети AT&T. Через три года у компании изменился логотип и дизайн, практически в этом виде он существует до сих пор.

В качестве основного цвета был выбран голубой, который, как отмечают маркетологи, вызывает лояльность и доверие потребителей. Поэтому этот цвет и его оттенки используют многие крупные бренды: Facebook, Skype, Twitter. В 2007 году на сайте Shazam появился список треков, которые мог оценить пользователь.

Основная услуга (набор четырёхзначного номера 2580) оставалась до 2008 года — тогда появилось приложение для iPhone. Программа стала одной из первых в App Store. Это упростило сервис, позволяя запускать iTunes и покупать песню напрямую, если пользователь подключен к Wi-Fi.

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

Вскоре приложение было запущено на Android. Shazam начал сотрудничать и с другими брендами, расширяя список своих услуг. Например, покупка треков — ежедневно продавалось в среднем около 400 тысяч музыкальных произведений. Артисты могли публиковать для фанатов песни, которые им нравятся, чтобы быть ближе к поклонникам. Также появились опции — тексты песен и ссылки на видео.

К декабрю 2009 года приложение Shazam было установлено десять миллионов раз в 150 странах по всему миру. Около восьми процентов пользователей покупали песню после того, как она была идентифицирована. В январе 2011 года компания Apple объявила, что Shazam находится на четвёртом месте по количеству загрузок среди бесплатных приложений в App Store за всё время существования.

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

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

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

Shazam интегрировала функции в Snapchat, аудитория которого в среднем достигает 166 млн пользователей в день. Теперь они имеют доступ к контенту Shazam и могут делиться песнями со своими друзьями.

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

Семь из десяти пользователей младше 35 лет, 36% — молодёжь от 16 до 24 лет. Более 70% пользователей Shazam говорят, что постоянно подключены к приложению, открыты для тестирования новых продуктов и рекомендуют услуги друзьям и семье. 35% пользователей заявили, что заплатили за скачивание музыки в прошлом месяце.

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

Источник

Shazam: алгоритмы распознавания музыки, сигнатуры, обработка данных

В ресторане заиграла почти забытая песня. Вы слушали её в далёком прошлом. Сколько трогательных воспоминаний способны вызвать аккорды и слова… Вы отчаянно хотите послушать эту песню снова, но вот её название напрочь вылетело из головы! Как быть? К счастью, в нашем фантастическом высокотехнологичном мире есть ответ на этот вопрос.

У вас в кармане лежит смартфон, на котором установлена программа для распознавания музыкальных произведений. Эта программа – ваш спаситель. Для того чтобы узнать название песни, не придётся ходить из угла в угол в попытках выудить из собственной памяти заветную строчку. И ведь не факт, что это получится. Программа, если дать ей «послушать» музыку, тут же сообщит название композиции. После этого можно будет слушать милые сердцу звуки снова и снова. До тех пор, пока они не станут с вами единым целым, или – до тех пор, пока вам всё это не надоест.

программа шазам что делает

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

Как же всё это работает?
Описание базового алгоритма Shazam в 2003-м году опубликовал его создатель, Эвери Ли Чунь Вонг (Avery Li-Chung Wang). В данном материале мы в деталях разберём основы алгоритма распознавания музыки Shazam.

От аналоговых сигналов к цифровым: дискретизация

Что такое, на самом деле, звук? Может быть, это некая таинственная бестелесная субстанция, которая проникает в наши уши и позволяет слышать?

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

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

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

программа шазам что делает

Аналоговый (непрерывный) и цифровой (дискретный) сигналы

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

А именно, человек может слышать звуки в диапазоне примерно от 20 Гц до 20000 Гц. В результате звук чаще всего записывают с частотой дискретизации 44100 Гц. Именно эта частота дискретизации используется в компакт-дисках. Она же чаще всего применяется для кодирования звука в группе стандартов MPEG-1 (VCD, SVCD, MP3).

Широкому использованию частоты дискретизации в 44100 Гц мы обязаны, преимущественно, корпорации Sony. В своё время звуковые дорожки, закодированные таким способом, удобно было совмещать с видео в стандартах PAL (25 кадров в секунду) и NTSC (30 кадров в секунду), работать с ними, используя существующее оборудование. Весьма важно и то, что эта частота достаточна для качественной передачи звука в диапазоне до 20000 Гц. Цифровое звуковое оборудование, использующее эту частоту дискретизации, вполне соответствовало по качеству аналоговому оборудованию тех времён, когда происходило становление стандартов цифрового звука. В итоге, выбирая частоту дискретизации звука при записи, вы, вероятнее всего, остановитесь на 44100 Гц.

Запись: захват звука

Записать сэмплированный звуковой сигнал – задача довольно простая. Современные звуковые карты содержат встроенные аналого-цифровые преобразователи. Поэтому достаточно выбрать язык программирования, найти подходящую библиотеку для работы со звуком, указать частоту дискретизации, количество каналов (обычно – один или два, для монофонического и стереофонического звучания, соответственно), выбрать количество битов в одном сэмпле (например, часто используется 16 бит). Затем нужно открыть строку данных со звуковой карты, так же, как открывается любой входной поток, и записать его содержимое в байтовый массив. Вот, как это делается в Java:

Временная и частотная области

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

В 19 веке Жан Батист Джозеф Фурье сделал выдающееся открытие. Заключается оно в том, что любой сигнал во временной области эквивалентен сумме некоторого количества (возможно, бесконечного) простых синусоидальных сигналов, при условии, что каждая синусоида имеет определённую частоту, амплитуду и фазу. Набор синусоид, которые формируют исходный сигнал, называют рядом Фурье.

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

программа шазам что делает

Сигналы, развёрнутые во времени, и их частотные характеристики

Вот как выглядит анимированное представление Ряда Фурье для прямоугольной волны частотой 1 Гц. Здесь же показана аппроксимация исходного сигнала на основе набора синусоид. На верхнем графике сигнал показан в амплитудно-временной области, на нижнем дано его представление в амплитудно-частотном виде.

программа шазам что делает

Преобразование Фурье в действии. Источник: Rene Schwarz

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

Дискретное преобразование Фурье

Итак, нужно найти способ получения частотных характеристик сигналов, развёрнутых во времени. В этом нам поможет дискретное преобразование Фурье (ДПФ, DFT, Discrete Fourier Transform). ДПФ – это математический метод анализа Фурье для дискретных сигналов. С его помощью можно преобразовать конечный набор образцов сигнала, взятых с равными промежутками времени, в список коэффициентов конечной комбинации комплексных синусоид, упорядоченных по частоте, принимая во внимание, что эти синусоиды были дисретизированы с одной и той же частотой.

Один из самых популярных численных алгоритмов для вычисления ДПФ называется быстрое преобразование Фурье (БПФ, FFT, Fast Fourier Transformation). На самом деле, БПФ представлен целым набором алгоритмов. Среди них чаще всего используются варианты алгоритма Кули-Тьюки (Cooley-Tukey). В основе этого алгоритма лежит принцип «разделяй и властвуй». В ходе вычислений используется рекурсивное разложение исходного ДПФ на мелкие части. Прямое вычисление ДПФ для некоторого набора данных n требует O(n 2 ) операций, а использование алгоритма Кули-Тьюки позволяет решить ту же задачу за O(n log n) операций.

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

Вот пример сигнала до и после БПФ-анализа.

программа шазам что делает

Сигнал до и после БПФ-анализа

Распознавание музыки: сигнатуры песен

Один из неприятных побочных эффектов БПФ заключается в том, что проведя анализ, мы теряем информацию о времени. (Хотя, теоретически, подобного можно избежать, но на практике для этого понадобится огромная вычислительная мощность.) Например, для трёхминутной песни мы можем видеть звуковые частоты и их амплитуды, но вот где именно в произведении эти частоты встречаются, не знаем. А это – важнейшая характеристика, которая делает музыкальное произведение тем, что оно есть! Нам нужно как-то узнать точные значения времени, когда появляется каждая из частот.

Именно поэтому мы будем пользоваться чем-то вроде скользящего окна, или блока данных, и подвергать трансформации лишь ту часть сигнала, которая в это «окно» попадает. Размер каждого блока можно определить с использованием различных подходов. Например, если мы записываем двухканальный звук с размером образца равным 16 бит и с частотой дискретизации 44100 Гц, одна секунда такого звука займёт 176 Кб памяти (44100 образцов * 2 байта * 2 канала). Если мы установим размер скользящего окна, равный 4 Кб, то каждую секунду нам нужно будет проанализировать 44 блока данных. Это – довольно высокое разрешение для детального анализа композиции.

Вернёмся к программированию.

Во внутреннем цикле мы помещаем данные из временной области (образцы звука) в комплексные числа с мнимой частью равной 0. Во внешнем цикле проходим по всем блокам данных и для каждого из них запускаем БПФ-анализ.

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

Однако, в одной песне диапазон «сильных» частот может варьироваться, скажем, от ноты «до» контроктавы (32,70 Гц), до ноты «до» пятой октавы (4186,01 Гц). Это – огромный интервал. Поэтому, вместо того, чтобы за сразу проанализировать весь частотный диапазон, мы можем выбрать несколько более мелких интервалов. Выбор можно сделать, основываясь на частотах, которые обычно присущи важным музыкальным компонентам, и проанализировать их по отдельности. Например, можно воспользоваться интервалами, которые вот этот программист использовал для своей реализации алгоритма Shazam. А именно, это 30 Гц – 40 Гц, 40 Гц – 80 Гц и 80 Гц – 120 Гц для низких звуков (сюда попадает, например, бас-гитара). Для средних и более высоких звуков применяются частоты 120 Гц – 180 Гц и 180 Гц – 300 Гц (сюда входит вокал и большинство других инструментов).

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

Заметьте, что мы должны учитывать то, что запись выполнена не в идеальных условиях (то есть, не в звукоизолированном помещении). Как результат, надо предусмотреть наличие в записи посторонних шумов и возможное искажение записываемого звука, зависящее от характеристик помещения. К этому вопросу стоит подойти очень серьёзно, в реальных системах стоит реализовать настройку анализа возможных искажений и посторонних звуков (fuzz factor) в зависимости от условий, в которых проводится запись.

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

Хэш-тегВремя, в секундахПесня
30 51 99 121 19553.52Песня A исполнителя A
33 56 92 151 18512.32Песня B исполнителя B
39 26 89 141 25115.34Песня C исполнителя C
32 67 100 128 27078.43Песня D исполнителя D
30 51 99 121 19510.89Песня E исполнителя E
34 57 95 111 20054.52Песня A исполнителя A
34 41 93 161 20211.89Песня E исполнителя E

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

Поиск совпадений

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

Но не всё так просто. Дело в том, что у многих фрагментов различных произведений хэш-тэги совпадают. Например, может оказаться так, что какой-то фрагмент песни A звучит точно так же, как некий участок песни E. И тут нет ничего удивительного. Музыканты и композиторы постоянно «заимствуют» друг у друга удачные музыкальные фигуры.

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

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

Однако если найдено несколько совпадений, можно проанализировать относительный тайминг совпадений, и, таким образом, повысить достоверность поиска.

Например, если взглянуть в вышеприведенную таблицу, можно обнаружить, что хэш-тег 30 51 99 121 195 относится и к песне A, и к песне E. Если секундой спустя мы будем проверять хэш-тег 34 57 95 111 200, то обнаружим ещё одно совпадение с песней A, к тому же, в подобном случаем мы будем знать о том, что совпадают и хэш-теги и их распределение во времени.

Пусть i1 и i2 – это отметки времени в записанной песне, j1 и j2 – отметки времени в песне из базы данных. Мы можем говорить о том, что имеются два совпадения, с учётом совпадения разницы во времени, если выполняется следующее условие:

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

И, наконец, маловероятно, что каждый обработанный фрагмент записанной в «диких» условиях песни совпадёт с аналогичным фрагментом из базы данных, построенной на основе студийных записей. Запись, на основе которой мы хотим найти название произведения, будет включать в себя много шума, что приведёт к неким расхождениям при сравнении. Поэтому, вместо того, чтобы пытаться исключить из списка совпадений всё, кроме единственной верной композиции, в конце процедуры сопоставления с базой данных мы отсортируем записи, в которых нашлись совпадения. Сортировать будем в убывающем порядке. Чем больше совпадений – тем вероятнее то, что мы нашли нужную композицию. Соответственно, она окажется на вершине списка.

Обзор процедуры распознавания музыки

Вот обзор всей процедуры распознавания музыкальных композиций. Пройдёмся по нему от начала до конца.

программа шазам что делает

Обзор процедуры распознавания музыки

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

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

Shazam!

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

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

Возможно, хорошим экспериментом станет заполнение базы данных классикой – сочинениями Баха, Бетховена, Вивальди, Вагнера, Шопена и Моцарта и поиск схожего в их работах. Так вполне можно выяснить, что даже Боб Дилан, Элвис Пресли и Роберт Джонсон не прочь были что-нибудь позаимствовать у других!

Но можем ли мы их за это винить? Уверен, что нет. Ведь музыка – это всего лишь звуковая волна, которую человек слышит, запоминает и повторяет у себя в голове. Там она развивается, меняется – до тех пор, пока её не запишут в студии и не выпустят на волю, где она вполне может вдохновить очередного гения от музыки.

wunderfund.io — молодой фонд, который занимается высокочастотной алготорговлей. Высокочастотная торговля — это непрерывное соревнование лучших программистов и математиков всего мира. Присоединившись к нам, вы станете частью этой увлекательной схватки.

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

Источник

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

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