Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Software-Spektrometer(wie Visualisation in MP3-Playern) (https://www.delphipraxis.net/80272-software-spektrometer-wie-visualisation-mp3-playern.html)

BloodySmartie 6. Nov 2006 13:28


Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Hallo!

Hat jemand von euch schonmal erfahrungen in der Programmierung von Spektrometern gemacht, wie sie zB in Winamp oder dem Mediaplayer vorkommen? Habt ihr vielleicht Quellcodes in Delphi oder ein gutes Tutorial? Mich würde speziell interessieren wie ich an die Daten komme, mit denen ich die Lautstärke pro Frequenz/Frequenzbereich auswerten und ausgeben kann.

Für eure Hilfe wäre ich sehr dankbar.

Beste Grüße,

David

Jens Schumann 6. Nov 2006 13:38

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Hallo,
das Verfahren nennt man Fourier-Transformation.
Es gitb auch eine Optimierung. Die nennt sich Fast-Fourier-Transformation.
Wird auch mit FFT abgekürzt.

Sunlight7 6. Nov 2006 14:02

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Ein klein wenig weniger umständlicher ist es mit Fast Hartley Transformation (FHT)
Damit spiele ich mich gerade (na ja nicht wirklich es fehlt mir die Zeit dazu :roll: )

Zu beachten ist aber, das beide Verfahren nur privat genutzt werden dürfen, oder Du blechst dafür :mrgreen:

Edit: Es gibt noch andere Verfahren, deren Namen mir nicht einfallen, die aber langsamer sind.

Gausi 6. Nov 2006 14:09

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Wieso sollte man für die Anwendung eines relativ einfachen mathematischen Verfahrens blechen? :shock:

Zum Thema: Schau dir mal die bass.dll an. Da findet man auch ein Beispiel zur Visualisierung.

Sunlight7 6. Nov 2006 14:18

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Zitat:

Fast Hartley Transform algorithm is covered under
United States Patent Number 4,646,256.

Firms using this for commercial purposes will be infringing a United
States patent and should contact...
Für kommerzielle Sachen heißt es dann blechen...

shmia 6. Nov 2006 17:48

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
FFT Lib mit Source:
http://www.simdesign.nl/fft.html

EWeiss 6. Nov 2006 17:58

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Der Turbo unter den FFT's ist FFTW !
OpenSource ..
Wird keine Lizenz benötigt.
Besonders für visualisierungen von OpenGl geeignet.

FFTW

gruß

BloodySmartie 8. Nov 2006 08:05

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Oh! Vielen Dank schonmal für die Antworten - das ist bereits sehr hilfreich. Ich werd mich mal einlesen und euch auf dem Laufenden halten. Wer weiß...vielleicht kann ich nochmal eure Hilfe brauchen. (Ich bin mir fast sicher, dass der Punkt kommen wird :lol: )

Gandalfus 9. Nov 2006 15:25

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Zitat:

Zitat von Jens Schumann
Hallo,
das Verfahren nennt man Fourier-Transformation.
Es gitb auch eine Optimierung. Die nennt sich Fast-Fourier-Transformation.
Wird auch mit FFT abgekürzt.

genaugenommen nennst sich das Verfahren Diskrete Fourier-Transformation (DFT)

Sunlight7 9. Nov 2006 16:19

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
DFT heißt es, wenn man eine einzelne Frequenz berechnet,
FFT für das ganze Spektrum. :wink:

Gausi 9. Nov 2006 16:44

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Ist zwar OT, aber das kann man so nicht stehen lassen. Die Fouriertransformation ist von sich aus erstmal was kontinuierliches - sie ist im Wesentlichen über ein Integral definiert. Im Computer kann man sowas schlecht machen. Unter anderem deswegen, weil man in der Regel keine Funktionsgleichung gegeben hat, sondern irgendwelche Werte, die natürlich nur an bestimmten diskreten Punkten gegeben sind. Am Rechner macht man also fast immer eine diskrete Fouriertransformation. (Wenn man mal von Computer-Algebra-Systemen absieht.)
Die normale diskrete Fouriertransformation ist aber sehr rechenaufwendig (kennt man vielleicht aus der Schule - Integrale ausrechnen durch Ober-/Untersumme etc. dauert halt was ;-))

Ein paarhundert Jahre nachdem die (diskrete) Fouriertransformation entwickelt wurde, hat man dann schnellere Verfahren dafür entwickelt, die Schnelle Fourier-Transformation, FFT. Die FFT ist iirc immer diskret. Damit erst wurde sie für Anwendungen in der Signalverarbeitung (mp3/jpeg) interessant.

FT: Integral-Zeugs
DFT: Computer-Zeugs mit lange rechnen
FFT: Computer-Zeugs mit schnell rechnen

Neuere Verfahren sind z.B. Wavelet-Transformationen, die gegenüber der FT gewisse Vorteile bieten und von Haus aus sehr schnell sind.

Sunlight7 9. Nov 2006 17:15

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Wow, hier lernt man Sachen :-D :dp:
Danke für die Aufklärung :thumb:

TheMaLo 21. Nov 2006 16:50

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Gibts auch schon erste Resultate oder gute anleitungen, wie man sowas benutzt? Ich habs bisher noch nicht gefunden :(

Möchte die Amplituder einzelner Frequenzen berechnen.

MfG
Matthias

Sunlight7 21. Nov 2006 17:05

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Hallo, und Willkommen in der DP! :cheers:

Von mir gibts leider noch keine brauchbaren Resultate, ich komm' nie dazu :wall:
Das was ich bisher gemacht habe läuft wunderbar, nur der Sectrum Analyzer will nix werden :wall:

shmia 22. Nov 2006 16:05

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Zitat:

Zitat von TheMaLo
Möchte die Amplituder einzelner Frequenzen berechnen.

Angenommen du nimmst 256 Punkte aus einer Wave-Datei und wendest die FFT an.
Du erhälst dann 2 Arrays mit 256 Werten; Real- und Imaginärteil.
Die Amplitude errechnet sich so
Delphi-Quellcode:
for i := 0 to 255 do
  Amplitude[i] := SQRT(SQR(FffReal[i])+SQR(FffImag[i]));
Die Phasenlage lässt sich auch errechnen, die interessiert hier aber nicht.
Amplitude[0] enthält dann den Gleichspannungsanteil; während Amplitude[255] die Amplitude bei der halben Abtastfrequenz ist.

BloodySmartie 26. Nov 2006 20:24

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Hallo!

Ich danke euch für die vielen Antworten.
Weiß vielleicht jemand, wie ich über BASS an
Daten aus den verschiedenen Kanälen der Soundkarte
rankomme? Wie kann ich die Daten der beiden Stereo-
Kanäle auftrennen?

Vielen Dank

kokyo

BloodySmartie 27. Nov 2006 19:15

Re: Software-Spektrometer(wie Visualisation in MP3-Playern)
 
Ich hab grad gemerkt, dass ich vorher noch ein ganz anderes Problem lösen muss: Die 6 Line-in Eingänge der Soundkarte werden in der Auswahlliste der Aufnahmegeräte alle zusammen unter einem einzigen Eintrag "Mikrofonarray" angezeigt. Damit kann ich nu echt nix mehr anfangen... :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz