So implementieren Sie einen Equalizer

Ich weiß, dass es eine Menge Fragen zu Equalizern gibt, aber ich habe nicht verstanden, wonach ich gesucht habe. Was ich tun möchte, ist ein Equalizer zum Ändern von Audio-Samples wie folgt:

equalizer.eqAudio(audiosamples, band, gain)

Ich bin mir nicht sicher, ob das genau die Schnittstelle ist, die ich möchte, weil ich wenig über DSP in Bezug auf deren Implementierung weiß (ich habe Filter, Limiter, Kompressoren verwendet, aber nicht gemacht).

Wenn ich darüber google, habe ich gelesen, dass ich eine FFT für die Samples durchführen muss, damit ich die Daten für die Frequenzbereiche anstelle der Amplitude erhalte, sie nach meinen Wünschen verarbeite und dann die Inverse der FFT mache, damit ich das Ergebnis wieder in Audio-Samples erhalte . Ich habe nach einer Implementierung dieser FFT gesucht und JTransform für Java gefunden. Diese Bibliothek enthält eine Implementierung eines FFT-bezogenen Algorithmus namens Discrete Cosine Transform (DCT).

Meine Fragen sind:

Nun, bin ich auf dem richtigen Weg?Da FFT mir Daten zur Frequenz liefert, sollte ich einen Teil der Samples an den FFT-Algorithmus übergeben. Wie groß muss dieser Brocken sein?Gibt es ein gutes Buch über DSP-Programmierung, in dem Equalizer erklärt werden?

Vielen Dank!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage