8 апреля, 2021
FAQ / Soft

Как Shazam точно распознаёт музыку

Сервис Shazam может идентифицировать любую песню практически мгновенно. Как именно это происходит?

Вы когда-нибудь задумывались, как Shazam «слышит» звучащую рядом музыку и распознаёт её с высокой точностью?

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

В этой статье будет рассказано, как работает Shazam и как он может так точно распознавать музыку.

Что такое Shazam?

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

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

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

Скачать: Shazam для iOS | Android (бесплатно)

Как работает Shazam?

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

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

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

Читайте также  iPhone на iOS 14 способен распознавать окружающие звуки

Что такое звуковой отпечаток?

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

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

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

Что такое спектрограмма?

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

В интервью журналу Scientific American в 2003 году Эйвери Ван рассказал, что алгоритм Shazam использует точки спектрограммы, представляющие ноты с наивысшей энергией, для генерации звуковых отпечатков.

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

Как Shazam распознаёт песни в шумных местах?

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

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

Когда Shazam не может распознать песню

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

Читайте также  Как исправить повышенный расход оперативной памяти браузером Google Chrome

Искажённая запись

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

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

Живая музыка

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

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

Ваша голосовая запись

«Могу ли я заставить Shazam распознавать песню, которую я пел, если я пою очень хорошо?»

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

Ваш напев

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

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

Является ли Shazam единственным приложением для распознавания музыки?

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

Читайте также  Как создать собственные эмоджи

Три самых популярных альтернативы Shazam — это SoundHound, Musixmatch Lyrics и Genius. Musixmatch и Genius в первую очередь помогают определять слова у музыки, которая играет поблизости, а SoundHound — ближайший конкурент Shazam.

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

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

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