herw hat geschrieben:...ein Anfang ist z.B. der simulierte AudioCore-Event-Ausgang...
Danke für die Blumen, Herwig ! Freut mich wirklich sehr, daß Du diesen Upload so sehr schätzt. Für mich war er zwar nur die logische Konsequenz aus meiner kleinen Sonde, die ihrerseits eines Updates und ein paar weiterer Hinweise bedarf ( wie macht man das eigentlich, ohne gleich wieder eine neue file-ID zu bekommen ?), aber egal ...
Das ist schon ein wirklich interessanter Thread hier ! Geht zwar thematisch ein bisschen durcheinander, aber das läßt sich oftmals ja auch garnicht vermeiden.
Wichtiger in diesem Zusammenhang ist, das dieser Thread von einer Menge an Unwissenheit geprägt ist. Damit will ich niemandem auf den Schlips treten; bin ja weiß Gott selbst alles andere als ein dsp-Guru.
Trotzdem - es sei dringend die Lektüre des kostenlosen online-Buches "The Scientist and Engineer's Guide to Digital Signal Processing" (
http://www.dspguide.com) - empfohlen. Die kann einen zwar dazu bringen, daß man sich einlieferungsbedürftig fühlt, kann aber in hellen Momenten auch für das erhabene Gefühl sorgen, das ein 2d-Männchen haben muß, wenn es zum ersten Mal seinen Kopf aus der Ebene reckt und feststellt: "Mein Gott, es gibt einen Raum !"
Für alle weitere dsp-Beschäftigung ( täte mir auch sehr gut ! ) stellt es eine solide Grundlage dar.
"FFT" - Fast Fourier Transform - ist zunächst wirklich nur ein Wort - allerdings eines für etwas sehr Schönes.
FFT ist auch garnicht schnell, wie es der Begriff vorgaukelt - es ist sogar (sorry PrinzThomas) kreuzlahm - es läßt sich nur relativ "schnell" berechnen.
Und damit ist - meiner Meinung nach, bitte belehrt mich, falls ich da falsch liege - zunächst einmal klar, wofür sich FFT nicht (!) anbietet: Live-Effekte mit schneller Ansprache lassen sich damit nicht bauen.
FFT und Latenzfreiheit schließen einander aus. Deswegen habe ich meinen Kopf auch zunächst einmal wieder in die Ebene zurückgezogen. Falls ich tatsächlich aus dem Spektrum eines Signals in Real-Time Befehlsstrukturen ableiten möchte, werde ich mich wohl eher eines ausreichend feinbändrigen Analyzers wie dem von programchild bedienen.
Es sei in diesem Zusammenhang der NI-Thread "FFT at last !" empfohlen, in welchem Robin Davies, von dem die letzte Reaktor-Implementation stammt, ein paar Anwendungsgebiete anführt.
Der gute Mr.Davies scheint ein erschreckend cleveres Kerlchen zu sein. Noch gar nicht lange Reaktor-User, dafür mit ungemein viel dsp-Kenntnissen vorbelastet.
Weshalb die ganze community jetzt so begeistert ist und von Gabriel Mulzers Implementation kaum weiter Notiz genommen hat, verstehe ich, ehrlich gesagt, nicht.
Gabriel selbst ist offensichtlich sehr von Robins Version angetan. Muß ihn mal fragen, worin die Hauptunterschiede liegen. Hinsichtlich CPU-Belastung liegen da doch keine Welten zwischen. Vielleicht hat es was damit zu tun, daß Robins Version nur eine (!) voice benötigt und somit praktischer in der "Weiterverarbeitung" ist.
Seine Version habe ich übrigens noch garnicht verstanden. Habe sie auch noch nicht wirklich analysiert. Dafür fehlen mir im Moment die Nerven: Zum Einen hakt es gerade sehr hinsichtlich meines eigenen Werkes, zum Anderen muß ich in zwei Tagen unters Messer. Möge mir dabei nicht nur der Reaktor-Gott beistehen !
Verdammt, ich fasele doch sonst nicht so viel.
Eine Anwendung, für die man um FFT nicht herumkommt, liegt schon mal auf der Hand:
Wer Filter bauen möchte und sich hinsichtlich des korrekten, gewollten Verhaltens vergewissern will, braucht es einfach !
PrinzThomas hat es völlig einleuchtend formuliert. So viele Bandpass-Filter kann man garnicht verkabeln, um auf die gleiche Auflösung zu kommen, ohne daß einem der Rechner frühzeitig wegbricht.
Und damit darf ich mich denn auch am Wunschkonzert, daß hier stattgefunden hat ( ist überhaupt nicht kritisch oder gar böse gemeint ) beteiligen:
Ich will noch viel, viel, viel schnellere Rechner !
Man stelle sich vor, daß die Diskrete Fourier Transformation (DFT), auf welcher FFT basiert, mal so "nebenbei" berechenbar wäre; dann hätte man beides:
Feine Bändchen latenzfrei !
Ich weiß, ein frommer Wunsch !
Aber - und damit sind die dsp-Gurus wieder um Rat gefragt - ist es nicht vielleicht möglich, ein Signal in eine Handvoll Bändchen zu splitten, diese einem 32-Punkt-DFT ( der ja CPU-günstiger als ein 32-Punkt-FFT ausfällt ) zu unterziehen und daraus in real-time Befehlsstrukturen abzuleiten ?
Wahrscheinlich geht es leider nicht, sonst wäre schon irgendein kluger Mensch darauf gekommen und jeder würd es so machen.
Jetzt muß ich aber schlafen.
Ciao, Gerald.
P.S.: Schickt ein paar Stoßgebete nach oben, wenn mir übermorgen beide Kiefer aufgemeißelt werden.
P.P.S.: Helmsklamm, Deine Gehirnjogging-Lösung scheint, da keine feinere zeitliche Auflösung benötigt wird, die mit Abstand sinnvollste weil CPU-günstigste zu sein.
P.P.P.S.: Herwig, ich bin gerade praktisch wieder bei Dir "umme Ecke". Nette Konversation tete-a-tete wird aus erwähnten Gründen zunächst nicht möglich sein.