Gast
#1972031
Hallo zusammen, ich möchte mir gerade eine Equalizeranzeige für das Eingangssignal Mikrofoneingangs des PCs programmieren. Das Mikrofonsignal kann ich bereits alle 100ms in ein float-Array einlesen. Dabei erhalte ich jedesmal 4410 Werte. Was also einer Abtastrate von 44100Hz entspricht. Soweit, so gut... nun möchte ich das Sigal in 10 Kanäle aufteilen und die Lautstärke dieser Kanäle nebeneinander grafisch darstellen (wie im Winamp): Die Grenzfrequenzen der Känäle sollen folgende sein. 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192 und 16384 Nun habe ich erste Tests gemacht und über dieses Signal mal eine FFT drüberlaufen lassen, was auch funktioniert hat. Für die Anzeige muss ich ja aber wieder aus dem Frequenzbereich in den Zeitbereich wechseln. Meine Frage ist nun folgende: Kann ich nun einfach das FFT Signal in 10 Teile splitten in welchen jeweils immer die Frequenzen zwischen den nächsten beiden Grenzfrequenzen vorhanden sind und die anderen Frequenzwerte (Real- und Imaginärteil) immer 0 setzen? Oder soll ich einen anderen Ansatz wählen und über das Mikrofonsignal 10 IIR Filter (immer mit der nächsten Grenzfrequenz) drüberlaufen lassen und so immer einen Teil des Signals wegnehmen? Übrigens, das Ergebnis muss nicht sehr genau sein, da es sich nur um eine Anzeige handelt. Das Signal soll nicht mehr für weitere Berechnungen verwendet werden, aber natürlich wäre es schön, wenn die Anzeige schon etwas mit dem Signal am Mikrofoneingang zu tun hat ;-) Dankeschön Flo