DirectShow und Spektrumanalyse ?



  • Hallo !

    Gibt es eine Möglichkeit mit DirectX eine Spektrumanalyse des gerade
    spielenden Sounds/Musik durchzuführen oder sich irgendwie die Lautstärke von Frequenzen zu holen ?



  • Meinst du die Amplitude? Sowas wird AFAIK bei DX nicht geboten. Aber schau doch einfach in die Doku, was die Objekte die du hast, so alles können.

    Bye, TGGC (Der Held ist zurück)



  • Aber DirectShow dürfte sowas doch können!
    Filter schreiben - feddich! 😉



  • Das Stichwort müsste FFT (Fast Fourier Transformation) sein.
    Damit kann man ein Signal in einzelne Frequenzen zerlegen.



  • @TomasRiker: Ja, das ist schon klar (hoffe ich mal). Aber dazu brauchst du ja erstmal die Ausgangsfunktion, und in DX wüsste ich jetzt nicht (in dem Teil kenne ich mich aber nicht aus!), wie du an daran kommst, weil das ja meist komplett auf der Soundkarte gemixt wird. Man kann ja auch mal bei z.b. FMod schauen, den dort weiss ich, das man sagen kann, das man keine Hardware benutzen möchte.

    Bye, TGGC (Der Held ist zurück)



  • Ich verstehe jetzt nicht ganz, was du willst. Du brauchst einfach nur die einzelnen Sampleswerte (Sample nicht im Sinn von ein Musikfetzen, sondern eines einzelnen Wertes innerhalb eines digitalisierten Signals). Die musst du puffern, bis du genug für deine FFT hast (je nachdem, wie fein dein Spektrum aufgelöst werden soll), wendest die FFT an und stellst das ergebnis irgendwie dar. Dann wartest du wieder, biss der Puffer voll ist, usw.

    Eine Recht schnelle implementation des FFT-Algorithmus findest du beispielsweise auf www.musicdsp.org .



  • Helium schrieb:

    Ich verstehe jetzt nicht ganz, was du willst. Du brauchst einfach nur die einzelnen Sampleswerte

    Ja, wahrscheinlich genau die?!


Anmelden zum Antworten