Einzelnen Beitrag anzeigen

Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Equalizer mit TBassDLLPlayer

  Alt 18. Apr 2008, 17:14
Also ehrlich gesagt habe ich noch nie etwas von einem TBASSPlayer gehört...

Aber die BASS.dll liefert ja Funktionen zum erstellen sog. Channels. Über diese laufen später (soweit ich weiß) alle anderen Dinge wie z.B. Effekte oder in deinem Fall eine Visualisierung.

Delphi-Quellcode:
var
    Channel : DWORD // Global
[...]

// Initialisierung der Bass und des Channels
begin
  BASS_Init(-1, 44100, 0, Application.Handle, nil);
  Channel := BASS_StreamCreateFile(FALSE, FileName, 0, 0, 0);
end;
Um nun an die Daten einer FFT zu kommen kannst du die Funktion BASS_ChannelGetData benutzen
Delphi-Quellcode:
var
  FFTData: array [0..512] of single;
begin
  BASS_ChannelGetData(Channel, @FFTData, BASS_DATA_FFT1024);
  // Im array FFTData sind nun die Amplituden der "Frequenzen".
[...]
end;
Anbei ist ein Beispiel der BASS und beinhaltet noch das Zeichnen der FFT.
Ich hoffe ich konnte dir helfen.


[Edit]Was ich noch anmerken muss. Das sind keine "Equalizer Auschläge". Eine FFT ist ein Mathematisches Verfahren um eine Periodische Funktion (Klang) in ihre einzelnen Sinusanteile zu zerlegen. Sie hat in dieser hinsicht nichts mit dem Equalizer zu tun. Mit einen Equalizer kann man nur Frequnzbänder veringern oder verstärken. (Wobei natürlich die FFT dadurch beeinflusst wird)...[/edit]
Angehängte Dateien
Dateityp: zip samplevis_813.zip (365,4 KB, 65x aufgerufen)
Niko
Alles was ein Ende hat, hat auch ein Anfang
  Mit Zitat antworten Zitat