Zitat von
Blamaster:
Hi,
ich sitze gerade dran eine "Peak Spektrum" Funktion zu basteln.
Nun ist meine Frage, wie ich direkt nach dem laden die daten in 2 Arrays (linker Peak und rechter Peak)laden kann.
Außerdem würde mich noch interessieren was dafür geeignet ist FFT Daten oder Wave Daten ?
Ich hoffe mir kann da jemand helfen.
mfg Blamaster
FFT.
Weil die Daten erst geglättet werden müssen damit man keine Negativen werte bekommt.
Daher jagt man sie ja auch durch den FFT(fast Fourier transformation).
http://de.wikipedia.org/wiki/Schnell...Transformation
EDIT:
Die Daten bekommst du so!
Delphi-Quellcode:
function SolvePeak(nValue : integer; nTotal : integer): integer;
var
nRet : Integer;
begin
nRet := 0;
If nTotal <> 0 Then
nRet := (nValue * 100) div nTotal;
Result := nRet;
end;
Delphi-Quellcode:
var
nLevel,
nLpeak,
nRpeak : Integer;
begin
nLevel := BassChannelGetLevel;
nLpeak := SolvePeak(Loword(nLevel), 128);
nRpeak := SolvePeak(Hiword(nLevel), 128);
nLpeak und nRpeak enthalten nun jeweils 128 Samples
Damit kannst nun arbeiten.
gruss Emil