Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#2

Re: Bass.dll Wave Data / FFT Data ?

  Alt 22. Jan 2009, 20:58
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
  Mit Zitat antworten Zitat