К слову о цос. Начал работать над программой для распознавания музыки (я любитель - программист))). Придумал след. алгоритм. - выборка данных из муз-файла. Пока это wav-файл (использую паттерн мост для безболезненного добавления остальных форматов). - при помощи вейвлет-преобразования файл, который нужно распознать, переводится в частотную область и обучается нейронная сеть(рбф). - из базы данных выбирается по определенному алгоритму муз-файл. Переводится в частотную область (вейвлет-преобразования) и подается на вход обученной нейронной сети. Что скажете про данный алгоритм?
ЗЫ: Думал китайцы до форума добрались, а это вроде рус ))) Потому что тема грамматически корректно написана )
Извините бред, не верю что будет вменяемо распознавать. Конечно метал от электронной музыки может отличит, а дальше...
В моем понимании выглядит так. Есть некая музыка неизвестного исполнителя.На нужно узнать кто ее исполняет.Музыку неизвестного исполнителя,делаем соответствующие преобразования и "подаем" на нейронную сеть - обучаем ее. Далее, у нас есть база данных с музыкой известных исполнителей.Из нее(бд) мы берем некую мелодию, делаем соответствующие вейвлет-преобразования и уже преобразованные данные подаем на вход нейронной сети.Это делается для того,чтобы определить является ли неизвестная мелодия(которой обучили сеть) похожей на данную мелодию(которую мы взяли из бд).
Тут есть один нюанс: музыка может быть с разной степенью дискретизации, что внесет искажения и довольно существенные, при которых некоторых исполнителей (в особенности т.н. "пающие трусы" которые озвучивают одни и те же вокалисты) не отличишь
2stallker То что у вас в голове - не понятно. То как вы понимаете идею, так же не понятно. 2Mika0x65 пишу для себя. Это что-то меняет?
Да, если цель практическая, то проще прислушаться к словам и поискать по тексту в google . Если песня на знакомом языке, конечно. А если для себя -- почему бы и не сделать?
База пока не самое главное. Важно что бы музыка распознавалась.Тестить буду на мелодиях, которые есть в наличие. Мне важно было бы узнать замечание, ну типа лучше ли вейвлет-преобразования применять или все же старое-доброе фурье-преобразование. Какой типа нейронных сетей использовать(многослойный персептрон, рбф и т.п.).
ну типа лучше вообще бросить это неблагодарное занятие.Это почти всё равно что писать свой алгоритм сжатия - жопу порвёшь, а толку 0
>ну типа лучше вообще бросить это неблагодарное занятие.Это почти всё равно что писать свой алгоритм сжатия - жопу порвёшь, а толку 0 Все оказалось не так страшно, правда начальную идей пришлось подредактировать, она была неверна.Алгоритм сделан. И wav-файлы(с compressionCode = 1) распознает "на ура". Теперь вот какой вопрос. Где-нибудь есть описание мп3 формата? И еще вопрос о проектировании.Вот есть wav-файлы которые имеют разные compressionCode(алгоритмы сжатия разные).Но мне нужен для всех wav-файлов класс, при помощи которого можно было-бы парсить любой wav-файл(c разным compressionCode).это для того,чтобы у меня был единый интерфейс. Я пришел к выводу что лучше использовать паттерн фабрика.Верное ли это решение?