![]() |
Bass.dll "channelgetdata" Analyzer unter 43Hz ?
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:
Aber so kann ich eben nur bis min 43Hz runter. Wegen der Bässe hätte ich es aber gerne bisfunction 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... 5 oder 10Hz. Vielen Dank schon mal. Gruß Ronny |
Re: Bass.dll "channelgetdata" Analyzer unter 43Hz
|
Re: Bass.dll "channelgetdata" Analyzer unter 43Hz
Du benutzt 1024 Stützpunkte, real benutzbar ist nur die Hälfte also 512 Werte.
20000Hz / 512 = 40Hz Ich weiss nicht wie du da auf 43Hz kommst. Wenn du jetzt mehr Stützpunkte benutzt dann wird der Abstand zwischen den Einzelfrequenzen kleiner. Also z.B. 8192 Werte (Konstante = BASS_DATA_FFT8192) dann ist 20000Hz / 4096 = 5Hz. Dafür ist die bass-Hilfe auch sehr sinnvoll... Zitat:
|
Re: Bass.dll "channelgetdata" Analyzer unter 43Hz
Hallo Wishmaster und omata,
danke für eure Antworten. Ich habe jetzt die Sempelrate rauf gestellt so wie "omata" das beschrieben hat. Danke Ich habes auch genau so auf der Webseite von "Wishmaster" gefunden. Super Tutorials. Danke euch. P.S. Die Hilfe kenn ich schon, aber mein Englisch und mein Delphi ist dafür einfach nicht gut genug :lol: Jetzt läuft die Basserkennung schon viel besser. Gruß Ronny |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz