Ich versuche, einen 10-Band-Equalizer zu machen und die kAudioUnitSubType_NBandEQ
-Audio-Einheit scheint der Weg zu sein, aber die Dokumentation von Apple beschreibt nicht, wie man sie einstellt / konfiguriert.
Ich habe die Knoten bereits verbunden, aber es ist fehlerhaft, wenn ich versuche, den EQNode mit dem iONode (Ausgang) zu verbinden: Ссылка
Wie kann ich den Effekt in einen funktionierenden 10-Band-Equalizer verwandeln?
Aktualisierung: Eine funktionierende DSP-Formel mit Novocaine ist auch eine Lösung, irgendwelche Ideen! Diese DSP-Formeln sind ziemlich kompliziert.
Update2: Ich bevorzuge eine funktionierende DSP-Formel mit Novocaine , denn das wäre viel sauberer / kleiner als das Programmieren von Audio-Knoten.
Update3: "Die Multitype EQ-Einheit (des Subtyps kAudioUnitSubType_NBandEQ) bietet einen Equalizer, der als einer der Typen konfiguriert werden kann, die in" Mutitype EQ Unit Filter-Typen "(Seite 68) beschrieben sind." Quelle: Ссылка Aber immer noch kein Beispiel.
WICHTIG Update (17/05): Ich empfehle jedem, meine DSP-Klasse zu verwenden, die ich auf GitHub veröffentlicht habe: Ссылка Es wird dir wahrscheinlich eine Menge Arbeit ersparen. Es macht die Entwicklung eines N-Band Equalizers oder jeder Art von Audiofiltern zum Kinderspiel.
Ich bin der Schöpfer von Novocaine, und ich habe es verwendet, um einen 200-Ungerade-Band-EQ mit vDSP zu erstellen.
Ich überlege, auf die NBandEQ-Audioeinheit umzusteigen, aber ich habe eine funktionierende Lösung mit vDSP_deq22.
vDSP_deq22 filtert Daten jeweils mit einem IIR-Filter zweiter Ordnung. Sie können Butterworth-Koeffizienten zweiter Ordnung auf musicdsp.org oder allgemeiner von Googlen finden. Matlab berechnet sie auch für Sie, wenn Sie Zugang zu einer Kopie haben. Ich habe musicdsp.org benutzt. Du würdest 10 vDSP_deq22-Filter erstellen, dein Audio durch jedes einzelne laufen lassen, dieses Band mit einer bestimmten Verstärkung multiplizieren und dann die Ausgabe aller Filter in der Filterbank zu deinem Ausgangs-Audio addieren.
10-Band-Equalizer kann wie folgt konfiguriert werden
Bitte beachten Sie den folgenden Beispielcode. hier habe ich iPodEQ-Gerät verwendet. Ersetzen Sie die iPodEQunit-Formatspezifikation durch einen 10-Band-Equalizer.
%Vor%Tags und Links objective-c ios signal-processing core-audio