lankastersky: (Default)
[personal profile] lankastersky
Давно думал, как организовать поиск мелодий в сети. И вот наткнулся на пару сайтов, на которых это наконец-то стало возможным:

http://www.melodyland.ru/melodies.asp
http://www.bored.com/songtapper/?dotap=1

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

Недостаток тут очевиден: необходимо все мелодии переводить из аналогового формата в миди-формат. Все программы, которые я до этого встречал, делали это ужасно криво, поэтому автоматизировать подобный перевод полностью пока невозможно. Нужно уметь обрабатывать аналоговые треки.

Можно попытаться реализовать такой алгоритм:
1 Научиться отличать звучание одного инструмента от другого (с помощью частотных фильтров и т.п.).
2 Составить амплитудно-частотную характеристику (АЧХ) каждого инструмента каждой мелодии.
3 Проиндексировать эти АЧХ, составив базу данных.
4 Пользователь при поиске мелодии выбирает тип инструмета, мелодию которого он запомнил.
5 Он наигрывает эту мелодию на каком-либо аналоговом инструменте, подключенном к компьютеру (или просто напевает в микрофон).
6 Если нужно, звучание мелодии с помощью музыкального процессора переводится в звучание инструмента, который играет эту мелодию в оригинале (например, пользователь напел голосом гитарное соло, и процессор преобразовал голосовое звучание в гитарное). Пользователь слушает, что получилось, и крутит настройки процессора, если результат не удовлетворительный (высота тона, скорость звучания и т.п.)
7 Система составляет АЧХ наигранной пользователем мелодии и ищет подобную АЧХ в базе данных.

Profile

lankastersky: (Default)
lankastersky

January 2021

S M T W T F S
      12
3456789
10111213141516
171819 20212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 26th, 2026 05:24 pm
Powered by Dreamwidth Studios