Hallo zusammen,
ich habe mir vor einiger Zeit einen Analyzer mit der Bass.dll geschrieben, funktioniert soweit
super, nur hätte ich auch gerne Frequenzen unter 43Hz gesehen, weis einer von euch wie ich das
anstellen so?
Ich habs bis jetzt so gemacht:
Delphi-Quellcode:
function RecordingCallback(
Handle: HRECORD; buffer: Pointer; length, user: DWord): boolean;
stdcall;
var i: integer;
a: integer;
FFTFata : TFFTData;
begin
Form1.WaveStream.
Write(buffer^, length);
Result := True;
BASS_ChannelGetData(
Handle, @fft, BASS_DATA_FFT1024);
Form1.ProgressBar1.Position := Trunc( Abs(FFT[1]) * 500 );
// 43 Hz
Form1.ProgressBar2.Position := Trunc( Abs(FFT[2]) * 500 );
// 86 Hz
Form1.ProgressBar3.Position := Trunc( Abs(FFT[3]) * 500 );
// 129 Hz
Form1.ProgressBar4.Position := Trunc( Abs(FFT[4]) * 500 );
// 172 Hz
Form1.ProgressBar5.Position := Trunc( Abs(FFT[5]) * 500 );
// 215 Hz
Form1.ProgressBar6.Position := Trunc( Abs(FFT[6]) * 500 );
// 258 Hz
Form1.ProgressBar7.Position := Trunc( Abs(FFT[7]) * 500 );
// 301 Hz
Form1.ProgressBar8.Position := Trunc( Abs(FFT[8]) * 500 );
// 344 Hz
Form1.ProgressBar9.Position := Trunc( Abs(FFT[9]) * 500 );
// 387 Hz
usw...
Aber so kann ich eben nur bis min 43Hz runter. Wegen der Bässe hätte ich es aber gerne bis
5 oder 10Hz.
Vielen Dank schon mal.
Gruß Ronny