FFT mit TChart und ACS anzeigen Problem Datenzugriff

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6216
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

FFT mit TChart und ACS anzeigen Problem Datenzugriff

Beitrag von af0815 »

Ich versuche mit ACS ein Spektrum in einem TChart anzuzeigen.

Dazu habe ich mit mal das Player2 Beispiel hergenommen. Das grundlegende Verstehen, was dort passiert ist nicht unbedingt das Problem ABER dort wird ein "böser" Kniff verwendet. Das Fenster mit der (nicht besonders schönen Grafikdarstelllung) liegt in einem eigenen Fenster und funktioniert scheinbar nur über das invalidate/FormPaint .

Löse ich das aus dem extra Fenster heraus bekomme ist aus dem Soundindicator keine gültigen Daten mehr heraus. Da wird aufgrund eines leeren inneren Puffer nur ein leeres Array zurückgeliefert. ACS hat da irgendeine Besonderheit im Verhalten. die ich noch nicht begriffen habe. Bisher war ich der Meinung, das das Invalidate, das in einem FormPaint endet, nur wegen dem Canvas verwendet wird. So wie es aussieht ist es aber nicht alleine das.

Es würde mir weniger ausmachen, wenn ich mich in den Datenstream von ACS direkt einklinken kann über einen Hook.

Angehängt mal die auf TChart umgeschriebene Player2 Version. Im FFTTimerTimer sollten die Daten geladen werden, die aber nicht kommen. Ich verwende eine wav Datei als Input, und will später eine FFT hinunten bis hinunter in den Herzbereich machen. Die hohen Frequenzen interessieren mich nicht, sondern der Infraschallbereich (Windräder, Wärmepumpen, Klimaanlagen etc. siehe auch https://www.brummton.at/ als Informationsquelle zum Thema )

Vielleicht kann mir wer für die beiden Themen mal einen Schubs geben.
Dateianhänge
av2.zip
(142.55 KiB) 81-mal heruntergeladen
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6216
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: FFT mit TChart und ACS anzeigen Problem Datenzugriff

Beitrag von af0815 »

Manchmal sind gewisse Lösungen einfacher als man glaubt.

Man muss die Komponenetn richtig in Kette (Chain) bringen. Man muss von hinten nach vorne das ganze durchgängig machen.

Daher AudioOut mit SounfIndicator verbinden und den Soundindicator mit dem FileIn. Aktuell sieht es so aus, als würde die nachfolgende Komponenet den Puffer für den Vorgänger initialisieren. Das war mein Fehler, wo ich mir einen Wolf gesucht habe.
Folgendes geht NICHT: Den FileOut mit dem FileIn verbinden und den Soundindicator auch mit dem FileIn (Assozieren). Da wird der Puffer nicht erzeugt. Deswegen ist das im Beispielprogramm so komisch gelöst.
Das heisst aber auch, das ich mir für Y-Verbindeungen (Eine Quelle, zwei AUsgänge zum Beispiel, erst was suchen /verstehen muss)

FFT Anzeige
FFT Anzeige
Screenshot 2023-06-11 100851.jpg (185.55 KiB) 4308 mal betrachtet
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten