Как Shazam точно распознает музыку?
Вы когда-нибудь задумывались, как Shazam «слышит» музыку, которую вы играете, и идентифицирует ее с такой точностью? Что ж, вы не одиноки.
Технология, лежащая в основе сервиса распознавания музыки, остается загадкой для многих, особенно с тех пор, как сервис был запущен за много лет до того, как смартфоны и машинное обучение стали реальностью.
В этой статье мы рассмотрим, как работает Shazam и как он может точно распознавать музыку.
Что такое Shazam?
Shazam – популярное приложение для распознавания музыки, которое можно использовать для поиска информации о новой песне, которую вы любите, но не знаете названия или имени исполнителя.
Допустим, вы находитесь в кафе или прогуливаетесь по магазину на углу и слышите новую песню, которую хотели бы добавить в свою музыкальную библиотеку. Shazam поможет вам легко найти песню. Все, что вам нужно сделать, это записать несколько секунд песни в приложении.
Приложение Shazam использует сложную технологию распознавания звука, чтобы идентифицировать музыку, которую вы слышите, за считанные секунды, чтобы вы могли узнать имя исполнителя и трек, посмотреть видео и даже купить или транслировать песню на своем устройстве.
Скачать: Shazam для iOS | Android (бесплатно)
Как работает Shazam?
Shazam использует запатентованную технологию, разработанную Эйвери Лин-Чун Ван, соучредителем приложения и главным специалистом по обработке данных, для определения совпадений для песен, запрошенных на его платформе. Эта технология создает отпечатки пальцев для аудиозаписей, что является секретом потрясающих навыков распознавания Shazam.
Shazam создает и хранит звуковые отпечатки пальцев, состоящие из наборов числовых данных для каждой из более чем 15 миллиардов песен. Когда пользователь "Shazam" песня, Shazam быстро создает звуковой отпечаток звука, полученного со смартфона или микрофона ПК.
После завершения создания звукового отпечатка для записи Shazam загружает звуковой отпечаток (не звук) на свой сервер, где выполняет поиск совпадений в базе данных. Если совпадение найдено, он возвращает информацию о песне с вариантами того, где транслировать или купить ее, а также идентифицирующую информацию.
Что такое звуковой отпечаток пальца?
Отпечаток аудиосигнала - это сжатая цифровая сводка аудиосигналов. Они используются для идентификации аудио образца или для поиска похожих элементов в аудио базе данных.
Технология снятия отпечатков пальцев Shazam может сопоставлять немаркированные фрагменты аудиоконтента с соответствующими совпадениями в своей базе аудиоданных. Shazam определяет название записанной вами песни (немаркированный аудиоконтент), сопоставляя отпечаток песни с отпечатком песен в своей базе данных.
Shazam создает уникальные отпечатки пальцев для песен в своей базе данных, используя определенные точки данных, идентифицированные с помощью спектрограммы.
Что такое спектрограмма?
Спектрограмма - это трехмерный график, используемый для представления звука. Спектрограмма показывает изменение частот за период с учетом амплитуды или объема. На фото ниже показан пример чтения спектрограммы.
В интервью журналу Scientific American в 2003 году Эйвери Ван показал, что алгоритм Shazam использует точки спектрограммы, представляющие ноты с наивысшей энергией, для генерации звуковых отпечатков пальцев.
Игнорируя большую часть информации в песне и сосредотачиваясь только на нескольких определяющих нотах, Shazam может выполнять поиск в своей базе данных и обеспечивать точные совпадения для запросов песен с невероятной скоростью.
Как Shazam распознает песни в шумных местах?
Shazam использует записи песен без фонового шума и искажений для создания отпечатков пальцев для своей базы данных. Когда вы записываете песню с помощью приложения в шумном месте, оно создает звуковой отпечаток вашей записи, определяя ноты с наибольшей энергией на записи.
Затем он выполняет поиск в своей базе данных совпадений с отпечатками аудиосигналов вашей записи при условии, что уровень фонового шума недостаточно высок, чтобы искажать данные, используемые для создания отпечатков аудиосигналов.
Времена, когда Shazam не может помочь вам определить песню
Shazam отлично подходит для сопоставления песен, даже если вы думаете, что малоизвестная музыка может отсутствовать в его базе данных. Но бывают ли моменты, когда Shazam не может определить трек?
Искаженная запись
Когда вы Shazam песни в месте, где уровень фонового шума слишком высок, шум искажает данные на спектрограмме. Из-за этого звуковой отпечаток вашей записи будет отличаться от отпечатка оригинальной песни.
Когда это происходит, Shazam возвращает диалог « Песня не известна», потому что не может найти совпадения для звукового отпечатка пальца.
Живая музыка
Shazam не может отличать музыку от живых выступлений. Это связано с тем, что звук, который вы записываете во время живых выступлений, часто отличается от исходной версии песни, которую Shazam использует для создания звуковых отпечатков пальцев.
Единственный способ, которым Shazam может идентифицировать песню во время живого выступления, - это если группа достаточно квалифицирована, чтобы исполнять песню в точности так, как она была записана. Удачи группе, которая пытается это сделать ...
Ваша голосовая запись
«Могу ли я заставить Shazam распознавать песню, которую я пел, если бы я был действительно хорошим певцом?»
Короче нет.
Алгоритм Shazam может идентифицировать только предварительно записанную музыку. Чтобы Shazam смог идентифицировать песню, которую вы поете, вам необходимо иметь одинаковый вокал с инструментальными партиями в точном темпе с оригинальной записью песни.
Ваше жужжание
Shazam не может идентифицировать совпадения для мычания, потому что его алгоритм использует точные частоты и амплитуды для создания звуковых отпечатков пальцев для песен в своей базе данных.
Когда вы напеваете песню, Shazam создает для нее отпечаток пальца. Но поскольку гудение - это всего лишь попытка повторно синтезировать песню, алгоритм не сможет соответствовать записи.
Shazam - единственное приложение для идентификации музыки?
Shazam был первой службой идентификации музыки и в настоящее время является наиболее широко используемым приложением для идентификации песен. Однако есть и другие приложения, с помощью которых вы можете определить песню, которая играет вокруг вас. Некоторые даже могут определить песню, которую вы поете или напеваете.
Три самых популярных альтернативы Shazam - это SoundHound, Musixmatch Lyrics и Genius. Musixmatch и Genius в первую очередь помогают определять слова для музыки, которая играет вокруг вас, а SoundHound - ближайший конкурент Shazam.
Вы можете использовать приложение SoundHound, чтобы делать практически все, что делает Shazam. Его основным преимуществом перед Shazam является то, что он имеет дополнительную функцию определения песен, которые вы поете или напеваете.
Кредит изображения: Суластри Суластри / Shutterstock.com