Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2010, 22:01   #1
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию Опознавание песен

И так,решил написать программу,навроде WMP,ну с библиотекой я,думаю разберусь,так же как и с поиском файлов в папках,а вот с опознаванием песен нужен совет.Допустим пользователь уже забил информацию о песне,переносим информацию о песне на другой компьютер и указываем ей папку с песнями.Запускаем опознавание. Понятно.что можно взять размер файла(ну ID3 допустим пустой).Размеры могут быть одинаковые...Как опознавать дальше? Может просто брать каждый 20 байт(30,50,100,не важно) и создавать что-то на подобие сигнатуры? и потом опознавать по ним? Интересно ваше мнение,гуру программирования..
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 30.06.2010, 23:40   #2
ZaRDaK
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 197
По умолчанию

берешь, допустим, 50 байт из средины файла и считаешь CRC, потом сравниваешь.
ZaRDaK вне форума Ответить с цитированием
Старый 01.07.2010, 05:34   #3
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

А учитывается возможность того, что песня может быть с другим качеством/в другом формате? Я к тому, что если так, то тогда надо будет приближённо сравнивать кривые некоторого отрезка песни, или как-то так, не специалист в этом.
netrino вне форума Ответить с цитированием
Старый 01.07.2010, 08:24   #4
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

Вот и я не специалист...Тема интересная...Думаю можно брать кусок песни,переводить в единый формат, с ухудшением качества(32 кбит),потому что тогда мы возьмем песню любого другого качества и и конкретный кусок ухудшим,то получим кусок который уже приведен к единому формату сравнивать...но мне страшно подумать как долго будет происходить анализ хотя бы 200 песен..(
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 01.07.2010, 08:46   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я верно понимаю - ты ведешь некую БД, где пишутся скажем часть песни до припева (например). По этой части ты опознаешь звучание как эта самая песня?
Ну скажем так, концертные и кавер-версии сразу отпадут, звучание то разное будет. Со студийными записями еще прокатит, а со всеми...
Мне лично тоже интересно узнать как звук можно превратить в название, и скорее всего такие проги уже есть.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.07.2010, 09:00   #6
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

Ну конечно концертные и кавер-версии отпадают,обычно они и называются несколько иначе,например: Моя песня(cover). Если и их пытаться опознавать, тогда вообще не за что зацепиться,потому что часто они имеют различный темп,звучание и прочее..
Обычно в программах опознавания очень обширная база,создаваемая самими пользователями, их практически не волнует битрейт и прочее.. Они с песни создают профиль и ищут такой же... Но так мне делать не хочется...Может велосипед изобрету..))
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 01.07.2010, 09:28   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм... нам доцентЪ в универе хвастал что он когда-то писал программу опознавания голоса.
Смысл был в том что программа строила карту звучания (ессно речь идет об оцифрованом звуке). Это был типа массив, где просто прописывались цифры, по-моему характеризующие высоту звука. (по-моему) далее он считал что предположим текущий пик - координата 0 а следующий - отстоящая от него на некоторый радиус величина, так вот имея координаты этих точек можно узнать угол - этот угол скрупулезно запоминался, получалась обычная "эпюра" что-ли., по которой шло сравнение. Так же вычислялись углы между пиками, и если их направление совпадало, и отклонение было мене некоторого числа градусов (он по-моему 10 говорил) то считалось что эти звучания одинаковы или похожи.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.07.2010, 11:36   #8
Snejnaya
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 219
По умолчанию

Stilet


Боюсь, препод приукрасил свой способ. По изложенному способу он мог поймать обертоны, а одних обертонов недостаточно, чтобы распознать тембр голоса.
Snejnaya вне форума Ответить с цитированием
Старый 01.07.2010, 11:40   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Боюсь, препод приукрасил свой способ.
Не бойся, я знаю что он любитель баек
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.07.2010, 11:48   #10
Skif-F
Форумчанин
 
Регистрация: 24.03.2010
Сообщений: 349
По умолчанию

Ну, поскольку битрейты могут быть разные, то и запоминать надо не БАЙТЫ, а СЕКУНДЫ (мс, мкс)?..
Нет нерешаемых задач - есть недостаток времени и данных!
Skif-F вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка нескольких песен и проигрывание по кнопке Forte HTML и CSS 2 26.06.2009 11:16
Отображение песен в Label. !Анатолий Общие вопросы Delphi 13 17.11.2007 15:59