С момента своего запуска в 1999 году Shazam использовался для идентификации песен более пятидесяти миллиардов раз, не считая идентификаторов Soundhound, MusicID и других приложений для распознавания звука.
С точки зрения пользователя все просто: запустите приложение, нажмите кнопку и позвольте телефону прослушать песню. Через несколько секунд, даже при фоновом шуме и искажениях, приложение сообщит вам, что это за песня. Он работает так быстро и так хорошо, что кажется волшебством, но, как и большинством магических вещей в наши дни, в основном им управляют алгоритмы.
Какова идея этих приложений?
Shazam, Soundhound и другие службы идентификации музыки работают в основном одинаково: у них есть большая база данных с информацией о песнях, алгоритм, который может быстро извлекать информацию из образца вашей песни, и приложение, позволяющее взаим
Какова идея этих приложений?
вам даже не понадобится смартфон.Первоначально Shazam можно было использовать на старомодных раскладушках: нужно было просто записать песню и отправить ее в службу. Soundhound на самом деле пошла на несколько шагов дальше, позволив вам петь или напевать в их приложении, которое они сопоставляют с предоставленной пользователем базой данных других записей пения/напевания.
Как они работают?
Проще говоря, процесс выглядит так:
- База данных приложения содержит огромную коллекцию «отпечатков пальцев» песен или небольших фрагментов данных об уникальных звуковых шаблонах песни.
- Когда пользователь нажимает кнопку «Запись», приложение слушает музыку и создает отпечаток пальца на основе нескольких секунд услышанного звука.
- Этот отпечаток сверяется с базой данных существующих отпечатков пальцев. Если ваш десятисекундный отпечаток соответствует части песни, вы получите (надеюсь, правильный) результат песни. Если это не так, вы получите сообщение об ошибке.
Если вы просто ищете поверхностное объяснение, это все, что вам нужно знать. Самое интересное — как на самом деле получить этот отпечаток пальца.
Отпечатки песен
Если все, что вам нужно было сделать, это сопоставить несколько звуков друг с другом, вы могли бы остановиться на этом. Однако если вы хотите просмотреть базу данных, полную миллионов песен, полнодетальная спектрограмма содержит слишком много точек данных, чтобы ее можно было просмотреть на любой скорости.
Большим прорывом в распознавании музыки стало осознание того, что можно идентифицировать звуки только по нескольким фрагментам данных: пикам или наиболее интенсивным частям. Избавление от большинства низкоэнергетических частей песни не только уменьшает размер спектрограммы, но и делает приложения менее восприимчивыми к выявлению скучного, постоянного фонового шума как части целевых звуков. Представьте себе городской горизонт. Наиболее узнаваемыми частями являются верхушки зданий, а не средние этажи, и это то, что видно издалека.
Итак, кажд
Отпечатки песен
сводится к нескольким наиболее важным точкам данных; на горизонте города удалено все, кроме самой вершины. Но это все еще недостаточно эффективно, чтобы его можно было сразу найти, поэтому следующим шагом будет «хешировать» эту последовательность пиков . Хеширование просто принимает набор входных данных, пропускает их через алгоритм и присваивает им целочисленный результат. В этом случае хэш генерируется путем взятия двух пиков высокой интенсивности, измерения времени между ними и сложения двух их частот.Результатом является строка чисел, которую можно легко сохранить и найти. Когда компьютер читает этот хэш, он распознает его как представляющее частоту и расстояние во времени. После того как все пики в песне идентифицированы и хешированы, преобразование завершено: теперь песня имеет уникальный 32-битный номер, который служит ее идентификатором в базе данных. Что еще более важно, каждая секунда песни представлена числами.
Когда ваш телефон слушает музыку, он выполняет именно такой процесс: фильтрует все, кроме самых высоких точек, хеширует их и создает отпечаток пальца на несколько записанных секунд. Как только это будет завершено, вашему телефону просто нужно будет увидеть, где в базе данных появляются соответствующие строки чисел, что позволит ему сопоставить обнаруженные частоты и время с правильной песней и вернуть ее вам за секунды.
Музыка и многое другое
Эта технология наиболее широко используется для распознавания музыки, но приложения для распознавания звука также могут работать с фильмами, рекламными роликами, телешоу, песнями птиц и многим другим. Shazam и Soundhound — самые известные, но теперь вы также можете спросить у Google, какая песня играет, и получить точный ответ.
А если вам интересно: «Отслеживают ли эти компании, о каких песнях спрашивают?» ответ «да». В статистике идентификации музыки на самом деле смог предсказать успех песен и исполнителей с достаточно высоким уровнем точности , а крупные звукозаписывающие компании, такие как Warner, заключили контракты с такими приложениями, как Shazam, чтобы помогать находить перспективных исполнителей. Итак, если вы хотите поддержать артиста, вы также можете внести свой вклад и поискать его песню! Вы можете просто помочь им взлететь.