Распознавание музыки

Тема в разделе "WASM.ZEN", создана пользователем art, 13 июл 2010.

  1. art

    art New Member

    Публикаций:
    0
    К слову о цос.

    Начал работать над программой для распознавания музыки (я любитель - программист))). Придумал след. алгоритм.

    - выборка данных из муз-файла. Пока это wav-файл (использую паттерн мост для безболезненного добавления остальных форматов).

    - при помощи вейвлет-преобразования файл, который нужно распознать, переводится в частотную область и обучается нейронная сеть(рбф).

    - из базы данных выбирается по определенному алгоритму муз-файл. Переводится в частотную область (вейвлет-преобразования) и подается на вход обученной нейронной сети.

    Что скажете про данный алгоритм?
     
  2. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    ЗЫ:
    Думал китайцы до форума добрались, а это вроде рус ))) Потому что тема грамматически корректно написана )
     
  3. zicker

    zicker Member

    Публикаций:
    0
    Не пойму к чему пункт 3? Проверка обучения? Или подгонка результата?
     
  4. stallker

    stallker New Member

    Публикаций:
    0
    Извините бред, не верю что будет вменяемо распознавать. Конечно метал от электронной музыки может отличит, а дальше...
     
  5. art

    art New Member

    Публикаций:
    0
    В моем понимании выглядит так.

    Есть некая музыка неизвестного исполнителя.На нужно узнать кто ее исполняет.Музыку неизвестного исполнителя,делаем соответствующие преобразования и "подаем" на нейронную сеть - обучаем ее.

    Далее, у нас есть база данных с музыкой известных исполнителей.Из нее(бд) мы берем некую мелодию, делаем соответствующие вейвлет-преобразования и уже преобразованные данные подаем на вход нейронной сети.Это делается для того,чтобы определить является ли неизвестная мелодия(которой обучили сеть) похожей на данную мелодию(которую мы взяли из бд).
     
  6. vecherovsky

    vecherovsky New Member

    Публикаций:
    0
    погуглите Tunatic
    вроде распознает вменяемо
     
  7. zicker

    zicker Member

    Публикаций:
    0
    Тут есть один нюанс: музыка может быть с разной степенью дискретизации, что внесет искажения и довольно существенные, при которых некоторых исполнителей (в особенности т.н. "пающие трусы" которые озвучивают одни и те же вокалисты) не отличишь
     
  8. stallker

    stallker New Member

    Публикаций:
    0
    Тунатик, все же несколько другое, или я не правильно понял идею автора.
     
  9. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    art
    А это для себя или практический интерес какой-то есть?
     
  10. art

    art New Member

    Публикаций:
    0
    2stallker

    То что у вас в голове - не понятно. То как вы понимаете идею, так же не понятно.

    2Mika0x65

    пишу для себя. Это что-то меняет?
     
  11. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Да, если цель практическая, то проще прислушаться к словам и поискать по тексту в google :). Если песня на знакомом языке, конечно. А если для себя -- почему бы и не сделать?
     
  12. stallker

    stallker New Member

    Публикаций:
    0
    Я часто сам не понимаю что у меня в голове.
     
  13. newbie

    newbie New Member

    Публикаций:
    0
    ТС, А где вы возьмете БД собсна? У Вас необъятных размеров хранилище mp3 имеется в наличии?
     
  14. art

    art New Member

    Публикаций:
    0
    База пока не самое главное. Важно что бы музыка распознавалась.Тестить буду на мелодиях, которые есть в наличие.

    Мне важно было бы узнать замечание, ну типа лучше ли вейвлет-преобразования применять или все же старое-доброе фурье-преобразование. Какой типа нейронных сетей использовать(многослойный персептрон, рбф и т.п.).
     
  15. newbie

    newbie New Member

    Публикаций:
    0
    ну типа лучше вообще бросить это неблагодарное занятие.Это почти всё равно что писать свой алгоритм сжатия - жопу порвёшь, а толку 0
     
  16. art

    art New Member

    Публикаций:
    0
    >ну типа лучше вообще бросить это неблагодарное занятие.Это почти всё равно что писать свой алгоритм сжатия - жопу порвёшь, а толку 0

    Все оказалось не так страшно, правда начальную идей пришлось подредактировать, она была неверна.Алгоритм сделан. И wav-файлы(с compressionCode = 1) распознает "на ура".

    Теперь вот какой вопрос. Где-нибудь есть описание мп3 формата?

    И еще вопрос о проектировании.Вот есть wav-файлы которые имеют разные compressionCode(алгоритмы сжатия разные).Но мне нужен для всех wav-файлов класс, при помощи которого можно было-бы парсить любой wav-файл(c разным compressionCode).это для того,чтобы у меня был единый интерфейс. Я пришел к выводу что лучше использовать паттерн фабрика.Верное ли это решение?