Вниз
Скачать: CL | DM;

beat detection algorithms   Найти похожие ветки 

← →
Ajax ©   (2005-08-02 13:28) [0]

Никто не видел алгоритмов детектирования темпа музыки, реализованных на Delphi? Есть исходники на С, но с их пониманием периодически возникают трудности...


← →
WondeRu ©   (2005-08-02 15:31) [1]

учи С


← →
Ajax ©   (2005-08-02 15:56) [2]

>[1] WondeRu ©   (02.08.05 15:31)
Всенепременно!..


← →
[wl]   (2005-08-02 19:08) [3]

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


← →
programania ©   (2005-08-02 20:48) [4]

Я только что видел но уже не понял хотя сам и написал, вот может кто поймет кусок

PROCEDURE analiz;
var ra,i,t,pp,maxa,c:integer;
begin
pp:=0; maxa:=0; c:=0;  rost:=false;
fillChar(ru,sizeof(ru),0);
for i:=1 to qa do begin
 ra:=ma[i];
 if ra>maxa then maxa:=ra; if maxa>=10 then dec(maxa,10);
 if c>=140 then dec(c,140);
 if ra>c then begin
   c:=ra;
   if rost then begin
     t:=i-pp;
     if t<sizeof(ru) div 4 then inc(ru[t]);
     pp:=i;
     rost:=false
   end;
 end;
 if c-ra>maxa div 16 then rost:=true;
end;
end;

Похоже что в ru накапливаются интервалы через которые амплитуда начинает расти
и там получается АЧХ которая сравнивается с образцами разных темпов 60-170bps
и где более совпадает тот темп и есть
эту АЧХ можно посмотреть в
http://programania.com/ENJOL.ZIP   850kb
процесс запускается кнопкой alt+A и потом вся музыка
сортируется по темпу или по похожести текущей
Кстати такой же кусок меняет картинки в такт музыке


← →
Ajax ©   (2005-08-03 09:32) [5]

>[4] programania ©   (02.08.05 20:48)
Приведенный фрагмент вполне может быть частью нужного алгоритма, но его явно не достаточно. А откуда идея алгоритма и можно-ли взглянуть на полный код?


← →
programania ©   (2005-08-03 20:38) [6]

>А откуда идея алгоритма и можно-ли взглянуть на полный код?

Идея сначала возникла для смены картинок в такт музыки
потом оказалось что ничего лучше не придумать и для определения темпа
С полным кодом будет еще непонятнее
так как он включает
перебор музыки по списку
получение звука через BASS.dll
усреднение амплитуды на 1/32сек и запись в массив ma
накопление интервалов как показано в массиве ru
показ АЧХ
сохранение АЧХ в списке
сравнение с шаблонами
сортировка
и много еще чего постороннего
Для примера можно посмотреть текст модуля где происходит
все что связано с определением темпа
http://programania.com/audio.zip  4kb
и сделать все по своему



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1123167746
timerlan
2005-08-04 19:02
2005.08.28
что в этом коде не то


3-1121249815
Stanislav
2005-07-13 14:16
2005.08.28
ADOCommand Асинхронное выполнение


5-1095098525
Константинов
2004-09-13 22:02
2005.08.28
Свойства массивы в процедуре Assign


1-1123158812
Radgar
2005-08-04 16:33
2005.08.28
Имя TImage a


10-1100616891
MegaLexx
2004-11-16 17:54
2005.08.28
Нетривиальный (то бишь неправильный) импорт ActiveX компонента




   Наверх