Equalizer beim Abspielen einer CD



  • Ich glaube, fmod kann das.
    Kein BCB-spezifisches Problem, verschoben nach "Rund um".



  • Das was du meinst ist kein Equilizer, sondern ein Spektrograph. Ein Equilizer dient dazu verschiedene Frequenzbänder anzuheben oder abzusenken, nicht um ihre lautstärke auszulesen.

    Je nachdem, wieviele Bänder dur brauchst. Bei sehr wenigen würde ich das Signal mit Bandpassfiltern aufteilen. Das geht schnell und du kannst auf einfache Weise eine logarythmische Skalierung erreichen. Bei vielen Bändern kommst du um eine FFT nicht herum. Das geht auch recht schnell (in Echtzeit bis etwa 2048 Bänder, sonst werden die Blöcke zu groß und es ruckelt).



  • Hallo,

    FMOD benutze ich bereits, Sounds von einer CD werden allerdings nicht berücksichtigt.

    Daniel666



  • Was ist FFT ?



  • Fast Fourier Transforms, ein Verfahren zur Signalanalyse, welches auch in fmod verwendet wird.

    Zur CD-Wiedergabe: fmod unterstützt doch simultanes Record und Playback, könntest du nicht von der CD aufnehmen und gleichzeitig wiedergeben? Dadurch würde der Soundstream durch den fmod-DSP geleitet und du solltest die GetSpectrum-Funktion etc. benutzen können.



  • Keine schlechte Idee, aber leider kann ich bei den Record-Funktionen nicht einstellen, daß er von CD aufnehmen soll.
    Man kann lediglich mit SetDriver einen Soundtreiber setzen (z.B. die Soundkarte).

    Gruss Daniel666



  • Daniel666 schrieb:

    leider kann ich bei den Record-Funktionen nicht einstellen, daß er von CD aufnehmen soll

    Dafür wirst du wohl über Systemfunktionen (mmsystem.h ?) auf den Betriebssystem-Mixer zugreifen müssen.



  • FFT ist eine besondere Form der Fourier Transformation. Sie funktioniert nur mit einer festen Anzahl von Daten, deren Menge eine Potzen von zwei sein muss (Scheiße klingt das Mathematisch).

    Du erhälst die Amplitude der Sinus- und Cosinusschwingungen, die nötig sind, um das Signal zu bilden. Die Amplitude des gesammten Bandes erhälst du durch wurzel(sin[i]²+cos[i]²).



  • Es geht mir ja erst mal darum, an die Daten zu kommen, mit denen ich rechnen kann...

    Gibt es eine Möglichkeit den Ausgang der Soundkarte abzufragen ?
    Wenn ja wie ?
    Habe mir die Mixer-Funktionen schon angeschaut. Werde aber nicht wirklich darus schlau.

    Gruss Daniel666



  • Ich denke, dass sich zur Mixersteuerung Beispiele im WinAPI-Forum finden.
    Auf jeden Fall wäre dieses (Teil)Problem dort wohl am besten aufgehoben.


Anmelden zum Antworten