Как музыкальное снятие отпечатков пальцев работает (на сайты, такие как Shazam и Lala.com)?

Моя большая музыкальная коллекция (на 120 ГБ) содержит много дублирующихся песен, и я пытался брать отпечатки пальцев у дорожек в надеждах на обнаружение дубликатов. И так как я - CS, Главный, мне очень любопытно относительно того, что сделано там? Ничто, что я делаю, не имеет почти точность чего-то как Shazam или Lala.com. Как они "хешируют" дорожки? Я выполнил стандартный хеш MD5 на всех своих файлах (26 000 файлов), и я нашел сотни равных хешей на различных дорожках, так, чтобы не работал.

Я больше интересуюсь Lala.com, так как они работают с полными файлами, в отличие от Shazam, но я принимаю оба, используют подобную технику. Кто-либо может объяснить, как генерировать уникальные идентификаторы для музыки?

20
задан Matthieu Brucher 30 December 2018 в 20:16
поделиться

4 ответа

SELECT Top 1 sysobjects.[name], max(sysindexes.[rows]) AS TableRows, 
  CAST( 
    CASE max(sysindexes.[rows]) 
      WHEN 0 THEN -0 
      ELSE LOG10(max(sysindexes.[rows])) 
    END 
    AS NUMERIC(5,2)) 
  AS L10_TableRows 
FROM sysindexes INNER JOIN sysobjects ON sysindexes.[id] = sysobjects.[id] 
WHERE sysobjects.xtype = 'U' 
GROUP BY sysobjects.[name] 
ORDER BY max(rows) DESC
-121--882717-

Симнальная бумага на звуковом отпечатке - это работа Haitsma и Kalker в 2002-03 годах. Для каждого кадра аудио он предварительно обработаны (различия в разных рамах и полосах частот), а затем хранят бинаризованную версию спектра кадра.

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

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

Взгляните на раздел ISMIR доступны бесплатно онлайн. Веселые вещи. http://www.ismir.net/

10
ответ дан 30 November 2019 в 01:16
поделиться

С javascript regex

x="1,1,1,2,2,3,3,3,3,4,4,4,5"

while(/(\d),\1/.test(x))
    x=x.replace(/(\d),\1/g,"$1")

1,2,3,4,5


x="a,b,b,said,said, t, u, ugly, ugly"

while(/\s*([^,]+),\s*\1(?=,|$)/.test(x))
    x=x.replace(/\s*([^,]+),\s*\1(?=,|$)/g,"$1")

a,b,said, t, u,ugly

Плохо протестирован, дайте мне знать, если есть какая-либо проблема.

-121--4859844-

Посмотрите на страницу Акустический отпечаток в Википедии. Он содержит ссылки на некоторые документы, а также ссылки на реализации (включая открытый исходный код fdmf ).

-121--2162203-

Существует множество алгоритмов акустической дактилоскопии. Некоторые из наиболее популярных:

  1. AMG LASSO
  2. AudioID
  3. LibFooID

На самом деле libfooId является opensource, так что вы можете проверить его код в google-код!!

5
ответ дан 30 November 2019 в 01:16
поделиться

Взгляните на него страницу акустического пальца на Википедии. Он имеет ссылки на некоторые документы, а также ссылки на реализации (включая открытый источник FDMF ).

3
ответ дан 30 November 2019 в 01:16
поделиться

После некоторых исследований (хотя это вообще не является убедительным!), Я произошел через Wiki в Musicbrainz.org, который детализирует некоторые подходы, которые они используют:

http://musicbranz.org/doc/audio_fingerprint

http://musicbrainz.org/doc/how_puids_work

0
ответ дан 30 November 2019 в 01:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: