Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.28;
Скачать: 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 вся ветка

Текущий архив: 2005.08.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.038 c
3-1121609139
Alex___________T
2005-07-17 18:05
2005.08.28
Подскажите плиз, как добавить поле в существующую базу Paradox


10-1080215297
Max_Fin
2004-03-25 14:48
2005.08.28
DCOM и LPSTR


3-1121344401
Брат
2005-07-14 16:33
2005.08.28
Проблема с IBScript


1-1123239022
rolex
2005-08-05 14:50
2005.08.28
Как в ListView список прокрутить в самый конец?


8-1113384972
Fedor
2005-04-13 13:36
2005.08.28
Детектор движения