Skip to content

Latest commit

 

History

History
53 lines (31 loc) · 3.94 KB

README.md

File metadata and controls

53 lines (31 loc) · 3.94 KB

echolotfm

EcholotFM.ru audio fingerprint

Распознавание аудиотреков. Демонстрационная программа.

Разработано для www.echolotfm.ru. ЭхолотФМ - российское оборудование для мониторинга радио и ТВ

Как использовать программу? (скачайте EcholotFM.apk здесь или тут) Или тут: https://play.google.com/store/apps/details?id=ru.echolotfm.fingerprint

  1. Выберите песню на компьютере. Желательно начинающуюся сразу с мелодии.
  2. Положите телефон рядом с колонками, нажмите "Записать образец"
  3. Запишите от 30 до 90 секунд, нажмите "Распознать"
  4. Перематывайте песню на компьютере. Распознавание занимает от 6 до 15 секунд.
  5. Переключите алгоритм с патентованного (краткого) на традиционный, проверьте результат.

Что она рисует?

Слева: Красным - магнитуды (частоты) звука, зеленым - отпечаток и амплитуда

Справа: Степень совпадения. Чем выше пик - тем увереннее найдена похожесть.

Про алгоритм

class ExtAudioRecorder, OnRecordPositionUpdateListener

Общий принцип: сэмпл переводим быстрым Фурье в частоты, отсекаем басы и верха, нормализуем, разбиваем на 17 слуховых полос и хешируем в некий вектор.

При записи вектор пишем в базу (a,b,r)

При распознавании группу векторов в цикле прогоняем по всему образцу, интегрируем моментные совпадения по времени. Примерно через 6-10 секунд полоса совпадения будет на порядок выше среднего. Это и есть момент совпадения.

Подробнее в комменатриях кода.

BARK-шкала + LS-хеш могут являться патентованными алгоритмами (Shazam?). Предваряя вопросы: да, остальные 5 алгоритмов (широко распространённых в открытых источниках) дают в разы бОльшую ошибку и меньшую стабильность, что было тщательно проверено на этой же программе.

Privacy policy / Политика конфиденциальности:

Приложение использует МИКРОФОН (запрос на android.permission.RECORD_AUDIO) для записи звука на карту памяти в виде хеша. Никакие данные не отправляются наружу, не передаются третьим лицам и не анализируются иначе, кроме как для демонстрационных целей. Указанный хеш не позволяет расшифровать звук в обратном направлении. Установка программы означает согласие пользователя на включение микрофона. В противном случае не запускайте программу.

In English: read Russian please. android.permission.RECORD_AUDIO is used only for demo. By installing the application you agree with it. No data will be send out of your device.