Здравствуйте, __gas, Вы писали:
__>>>Вообще-то есть еще такое понятие, как хэширование... F_I>>Ну да, и каждую новую копию песни, сжатую другим кодеком, или имеющую малейшие шумовые искажения считать новой... __>Как-то ты сам себе противоречешь. Не ты ли постом выше собирался побайтово сравнивать файл с базой? Насчет кодеков — не уверен, что их бесчисленное множество, так что тут просто вопрос полноты индексации. F_I>>-если использовать поэлементное сравнение, то результат точнее (тем более что элементов-то не так и много) __>Опять противоречие с твоим первым замечанием
-Противоречий нет: ты предлагаешь хранить и использовать при обработке запросов сам звук (возможно даже в сжатом виде), а я говорю про "отпечаток звука": прежде чем попасть в базу звук преобразовывается к такому виду, в котором различия типа измененной громкости/скорости/тона роли не играют (разумеется эти изменения должны быть как можно более равномерными для всего фрагмента), а дополнительные шумы (вроде шипения старой пластинки) хоть и портят картину, но не настолько чтобы сравнение давало неверные результаты. Чем сложнее звуковая запись, тем больше размер опечатка ([14 — 250]кб на 5мин песни). Прежде чем начать поиск, производится расчет отпечатка искомого звукового фрагмента.
-Я говорю не про "побайтное сравнение звукового файла", а про "поэлементное сравнение отпечатков".
F_I>>-По поводу кусков: F_I>>а)нет никаких гарантий, что в самой базе находятся полные версии композиций __>А это и не нужно, если сравнивать файл характерными частями (отдельный вопрос об их выборе для конкретной композиции), то полные версии не нужны никогда
А если у пользователя отрывок, в который не входят эти самые характерные части (я так понял, ты предлагаешь использовать при сравнении например: 5с начиная с 30-й, 14с начиная с 67-ой, и т.д?). Для поиска пользователю достаточно иметь 15-25с отрывок.
F_I>>Прийдется: отпечаток каждого обработанного звукового файла должен хранится в базе, а будит-ли он сопоставлятся со ссылкой — дело десятое (главное теги хранить — пользователь ведь именно их хочет узнать, отправляя на обработку свой файл) __>Утверждение не обосновано. Зачем хранить у себя в БД то, что и так доступно по сети? А если по сети не доступно, то и индексация по такому битому ресурсу не нужна.
Если не хранить отпечаток в базе, то как по-твоему сработает связь [отпечаток-ссылка(и)]? Или прикажешь по каждому запросу пользователя (запрос — это звуковой фрагмент, а ответ — название, и, возможно, ссылки) начинать скачивать музыку по всем ссылкам и обрабатывать ее по стомильйонов-дцатому разу?
__>А насчет готовых аналогов я бы сильно поспорил — их нет ИМХО, или они хорошо скрываются.
— Tunatic, по крайней мере, что-то опознает (из микрофона кстати)
— Я читал про сервис, предоставляемый одним из телефонных операторов (или в США, или в какой-то европейской стране — не помню): слышишь рядом на улице классную песню, а названия не знаешь; звонишь с мобильника на определенный номер, музыка у них пишется (со всеми шумами, и урезаностью частотного диапазона); через пару минут получаешь смс с названием песни и именем исполнителя. Стоит недорого. Вроде-как популярностью пользуется.
Все с детства знают, что то-то то-то невозможно. Но всегда находится "невежда", который этого не знает. Он-то и делает открытие.
Альберт Эйнштейн.