Выделение басовой партии из отрывка песни
1. загрузить трек в массив numpy (scipy.io.wavfile.read)
2. взять короткий фрагмент в начале трека и делать преобразование Фурье (numpy.fft.rfft)
3. в низкочастотной области спектра найти максимумы соответствующие басу (это может быть нетривиально)
4. повтрить с п. 2 сдвинув фрагмент по оси времени
если не морочиться с выделением пиков, то можно просто визуализировать результаты преобразования фурье: полученные спектры последовательно записываешь в столбцы двумерного массива и визуализируешь массив как картику (matplotlib.pyplot.imshow), ось Y делаешь логарифмической. Должно получиться что-то вроде размытой нотной записи ))
ЗЫ ноты не точные
да, но как?
смс?
сударь, обучите вашей техникой, какие насыщенные цвета, какую школу вы окончили?
школу пикселизма имени Bender Bending Rodriguez'а ))
Оставить комментарий
marina7573
Есть отрывок песни, Чёрный Лукич - Вересковый мёд, на гитаре. Там вначале идёт басовая партия (соло), которая играется вместе с боем аккордами. Хочется её как-то алгоритмически подобрать, то есть оставить только басовую партию, с явным описанием когда и какая нота играется.http://www54.zippyshare.com/v/14331265/file.html
То есть хочется иметь следующие значения: промежутки времени, когда играется нота, её частота и декремент.
На слух тоже можно, но для меня это будет очень долго, пока только начало подобралось
Пробовал запихнуть в audacity, добавлять фильтр низких частот, понижая уровень звучания частот выше 200 Гц, получилось только ослабить, совсем бой не убирается, да и задачу подбора частот звучащих нот это не решает.
По идее задача должна решаться методом наименьших квадратов во временной области, но не хочется изобретать велосипед, есть ли какой-то специализированный софт для этого?