Распознование музыки
Mar. 8th, 2011 01:51 pm![[identity profile]](https://www.dreamwidth.org/img/silk/identity/openid.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Есть программа для мобильного телефона, позволяющая по 10 секундам записи через штатный микрофон телефона определить какая песня играет. Определяет меньше, чем за полминуты. Очень редко ошибается. За период моего использования ни разу не ошиблась.В своей работе использует мобильный интернет(GPRS). По какому алгоритму она работает? хотя бы примерно.
no subject
Date: 2011-03-08 01:57 pm (UTC)no subject
Date: 2011-03-08 02:09 pm (UTC)no subject
Date: 2011-03-08 01:59 pm (UTC)no subject
Date: 2011-03-08 08:01 pm (UTC)no subject
Date: 2011-03-08 02:07 pm (UTC)no subject
Date: 2011-03-08 04:38 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2011-03-08 02:12 pm (UTC)Сервер получает запись и как теперь за 20 секунд сравнить её с эталонными записями различных композиций...а их очень много
no subject
Date: 2011-03-08 02:19 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2011-03-08 02:26 pm (UTC)no subject
Date: 2011-03-08 02:21 pm (UTC)no subject
Date: 2011-03-08 03:10 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2011-03-08 06:25 pm (UTC)no subject
Date: 2011-03-09 09:25 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2011-03-08 02:24 pm (UTC)no subject
Date: 2011-03-08 02:26 pm (UTC)no subject
Date: 2011-03-08 02:34 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2011-03-08 03:09 pm (UTC)вообще мозг сломаете.
а на самом деле сравниваются сигнатуры
no subject
Date: 2011-03-08 03:58 pm (UTC)no subject
Date: 2011-03-08 04:06 pm (UTC)no subject
Date: 2011-03-08 04:36 pm (UTC)no subject
Date: 2011-03-08 04:36 pm (UTC)no subject
Date: 2011-03-08 04:55 pm (UTC)no subject
Date: 2011-03-09 04:48 pm (UTC)(no subject)
From:no subject
Date: 2011-03-08 04:55 pm (UTC)В базе данных на сервере хранятся "отпечатки" песен - типо как если у вас отпечаток пальца возьмут, а потом по нему можно сказать что он - ваш, хотя это и не вы целиком
С куска вашей песни тоже снимается отпечаток
Прогоняется по базе
Вуаля!
Надо отметить, что алгоритм снятия отпечатка достаточно хитер - песни могут быть с разным битрейтом, цензурированные, неполные - песня всё равно определится. С другой стороны, каверы известных исполнителей менее известными часто принимает за оригиналы, тамучто песня, по сути, одна и та же - голос чуть другой, музыка, там слегка не такая, но общий план-то такой же.
no subject
Date: 2011-03-08 06:37 pm (UTC)no subject
Date: 2011-03-08 08:47 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2011-03-08 08:08 pm (UTC)(1): Народ!! Помогите найти песню... Названия не помню...
(2): Напой.
(1): Ну там типа тууууу, туутууууу, туутуууутууууу... Туууу тууутуууу, туууутуууу туууу..
(2): Rammstein - Du Hast чтоли?
(1): ООО!! Она! Спасибо!!!!!(с)башорг
no subject
Date: 2011-03-09 10:41 am (UTC)(no subject)
From:no subject
Date: 2011-03-09 04:36 pm (UTC)no subject
Date: 2011-03-09 04:46 pm (UTC)Определяется определенная трансформация звукового сигнала, которая слабо меняется в зависимости от шумов, качества записи и громкости. Из известных сигналов (записи всего популярного) считается база фингерпринтов. Потом, засабмитченный образец фингерпритнится, выполняется похожих поиск по базе, выдается результат.
Для того, чтобы оно работало, как мы видим, нужно 1) найти хорошие функции для фингерпринтов музыки, это сложно. 2) Сделать, чтобы фингерпринтиг работал для произвольного куска песни, длиной 10-15 секунд. Тут легко: достаточно фингерпринтить каждую секунду в отдельности. Потом комбинировать и ранковать результат. В идеале у нас должно получиться, что все 10-15 образцов для фингерпринта соответствуют одной и той же песне. В принципе, это поможет первому пункту. Функция для фингерпринта может быть более тупой, потому что мы фингерпринтим несколько раз и требуем совпадения результатов.