![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 823
|
![]()
И так,решил написать программу,навроде WMP,ну с библиотекой я,думаю разберусь,так же как и с поиском файлов в папках,а вот с опознаванием песен нужен совет.Допустим пользователь уже забил информацию о песне,переносим информацию о песне на другой компьютер и указываем ей папку с песнями.Запускаем опознавание. Понятно.что можно взять размер файла(ну ID3 допустим пустой).Размеры могут быть одинаковые...Как опознавать дальше? Может просто брать каждый 20 байт(30,50,100,не важно) и создавать что-то на подобие сигнатуры? и потом опознавать по ним? Интересно ваше мнение,гуру программирования..
![]()
Не давай организму поблажки, каждый день тренируй его в шашки..
![]() |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 01.09.2009
Сообщений: 197
|
![]()
берешь, допустим, 50 байт из средины файла и считаешь CRC, потом сравниваешь.
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
А учитывается возможность того, что песня может быть с другим качеством/в другом формате? Я к тому, что если так, то тогда надо будет приближённо сравнивать кривые некоторого отрезка песни, или как-то так, не специалист в этом.
|
![]() |
![]() |
![]() |
#4 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 823
|
![]()
Вот и я не специалист...Тема интересная...Думаю можно брать кусок песни,переводить в единый формат, с ухудшением качества(32 кбит),потому что тогда мы возьмем песню любого другого качества и и конкретный кусок ухудшим,то получим кусок который уже приведен к единому формату сравнивать...но мне страшно подумать как долго будет происходить анализ хотя бы 200 песен..(
Не давай организму поблажки, каждый день тренируй его в шашки..
![]() |
![]() |
![]() |
![]() |
#5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Я верно понимаю - ты ведешь некую БД, где пишутся скажем часть песни до припева (например). По этой части ты опознаешь звучание как эта самая песня?
Ну скажем так, концертные и кавер-версии сразу отпадут, звучание то разное будет. Со студийными записями еще прокатит, а со всеми... Мне лично тоже интересно узнать как звук можно превратить в название, и скорее всего такие проги уже есть.
I'm learning to live...
|
![]() |
![]() |
![]() |
#6 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 823
|
![]()
Ну конечно концертные и кавер-версии отпадают,обычно они и называются несколько иначе,например: Моя песня(cover). Если и их пытаться опознавать, тогда вообще не за что зацепиться,потому что часто они имеют различный темп,звучание и прочее..
Обычно в программах опознавания очень обширная база,создаваемая самими пользователями, их практически не волнует битрейт и прочее.. Они с песни создают профиль и ищут такой же... Но так мне делать не хочется...Может велосипед изобрету..))
Не давай организму поблажки, каждый день тренируй его в шашки..
![]() |
![]() |
![]() |
![]() |
#7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Хм... нам доцентЪ в универе хвастал что он когда-то писал программу опознавания голоса.
Смысл был в том что программа строила карту звучания (ессно речь идет об оцифрованом звуке). Это был типа массив, где просто прописывались цифры, по-моему характеризующие высоту звука. (по-моему) далее он считал что предположим текущий пик - координата 0 а следующий - отстоящая от него на некоторый радиус величина, так вот имея координаты этих точек можно узнать угол - этот угол скрупулезно запоминался, получалась обычная "эпюра" что-ли., по которой шло сравнение. Так же вычислялись углы между пиками, и если их направление совпадало, и отклонение было мене некоторого числа градусов (он по-моему 10 говорил) то считалось что эти звучания одинаковы или похожи.
I'm learning to live...
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 219
|
![]()
Stilet
Боюсь, препод приукрасил свой способ. По изложенному способу он мог поймать обертоны, а одних обертонов недостаточно, чтобы распознать тембр голоса. |
![]() |
![]() |
![]() |
#9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
![]()
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]()
Ну, поскольку битрейты могут быть разные, то и запоминать надо не БАЙТЫ, а СЕКУНДЫ (мс, мкс)?..
Нет нерешаемых задач - есть недостаток времени и данных!
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вставка нескольких песен и проигрывание по кнопке | Forte | HTML и CSS | 2 | 26.06.2009 11:16 |
Отображение песен в Label. | !Анатолий | Общие вопросы Delphi | 13 | 17.11.2007 15:59 |