Ich möchte wissen, wie man Umgebungsgeräusche aus einer Sprachaufnahme entfernt.
Ich habe einige Nachforschungen angestellt und festgestellt, dass die meisten vorgeschlagenen Methoden die schnelle Fourier-Transformation verwenden. Aber warum können Sie keine klassischen elektronischen Filter verwenden, um die Störfrequenzen zu entfernen? Warum sich die Mühe machen, eine FFT zu machen?
Antworten:
Nun, es ist jetzt digital gespeichert, oder? Haben Sie vor, Ihr Mikrofon nach einem analogen Filter neben den Lautsprecher zu stellen, um es neu aufzunehmen?
Genug rumgespielt, ich meine es ernst.
Damit ein Filter in einem kleineren Frequenzbereich stärker gedämpft wird, dh die Frequenzgangkurve vertikaler wird, müssen Sie nur die Filterreihenfolge erhöhen.
Das ist in Matlab einigermaßen einfach. Es ist auch etwas, was machbar ist, um eine Nachbearbeitung durchzuführen. Es geht auch um die Wiederholbarkeit: Wenn Sie den Filter heute an einem sonnigen Tag anwenden, erwarten Sie, dass er bei Regen genauso funktioniert wie morgen. Sie erwarten, dass es genauso funktioniert , oder?
In analogen Schaltungen haben Sie all diese "5% Widerstand", "1% Kondensator" und alle anderen Dinge. Wenn Sie also etwas genau machen möchten, müssen Sie die Schaltung auf jeden Fall danach so trimmen, dass sie perfekt zu Ihrem gewünschten Filter passt. Wenn Sie die Filterreihenfolge erhöhen möchten ... dann leider ... wird der Filter physikalisch so viel größer. Anstatt die Größe einer Kreditkarte in Anspruch zu nehmen, nimmt sie die Größe von ein, ich weiß nicht, hängt von der Filterreihenfolge ab und davon, womit Sie einverstanden sind.
In Bezug auf die Wiederholbarkeit, heute etwas tun ... warm ... morgen ... kälter ... die Widerstände werden sich so geringfügig ändern, der Frequenzgang wird sich ändern, ein paar Hz dort, einige dort, je mehr Komponenten Sie in Ihren Schaltkreisen haben ist es wahrscheinlicher, dass Ihre Komponenten ihre Werte ändern. Und dann haben Sie Feuchtigkeit, oxidierend ...
Und hier ist die Pointe, die ich als erstes hätte sagen sollen: Du kannst sie nicht wirklich nachbearbeiten, es sei denn, du hast Kassetten. Ich bin mir nicht 100% sicher, welches analoge Musikmedium zum einfachen Aufnehmen / Löschen verwendet wird. LP-Discs wären ein Albtraum ...
Und vergessen wir nicht den Preis. Eines ist Software, wenn Sie es selbst schreiben, ist es im Wesentlichen kostenlos, das andere erfordert Komponenten, physikalische Teile.
Aber denken Sie nicht, dass analoge Filter schlecht sind, sie haben ihre Verwendung gefunden, wie zum Beispiel das Entfernen von unangenehmen Oberschwingungen in großen Gleichstrommotoren oder die Herstellung von ultra-leisen Schrittmotoren für 3D-Drucker, indem der Strom geglättet wird. Und Tonnen von anderen Verwendungen. - Auch wenn Sie es mit einem analogen Filter lösen würden, würde niemand denken, dass es eine schlechte Lösung wäre.
Ich glaube, ich antworte indirekt, warum FFT ein besserer Weg ist, um es nachträglich zu bearbeiten. Das Fazit ist, dass es viel billiger ist. Sie können auch einfach einen Sperrfilter anwenden, wenn Sie wissen, bei welcher Frequenz das Rauschen auftritt. Oder ein breiterer, alias Bandsperrfilter.
Und als letztes möchte ich hinzufügen ... woaw, diese Antwort ist so lang, es tut mir leid. Aber wenn Sie einen analogen Filter verwenden und ... Ihre Berechnungen durcheinander bringen und dann denken, dass alles in Ordnung und in Ordnung ist, und ihn in einem schwerwiegenden Fall einsetzen, beispielsweise bei einem Interview mit dem schwedischen König (Knugen). Und Sie haben die Dimensionierung eines Kondensators durcheinander gebracht, anstatt 16-kHz-Rauschen zu filtern, filtern Sie 4-kHz- "Rauschen" heraus. Wenn Sie stattdessen digital damit umgehen, müssen Sie nur einige Variablen ändern. Sie müssen keine weiteren Komponenten auslöten -> löten. Auch das Interview ist ruiniert.
quelle
Aber warum können Sie keine klassischen elektronischen Filter verwenden, um die Störfrequenzen zu entfernen?
Wer sagt, dass Sie nicht können? So wurde das in den Tagen vor der digitalen Signalverarbeitung gemacht. Das Problem ist, dass das Filtern von Rauschen immer ein Kompromiss ist, wenn Sie Ihr gewünschtes Signal (Sprache, Musik) unangetastet lassen und gleichzeitig das Rauschen verringern.
Für Kassetten und andere analoge Tonbandaufzeichnungssysteme wie DNL und Dolby wurden Filter verwendet, die nur dann filtern, wenn das Signal schwach ist, was bedeutet, dass das Rauschen hörbarer ist. Wenn das Signal dann stärker ist, wird der Filter ausgeblendet. Siehe: Wikipedia-Artikel zur Lärmminderung
Die Sprache kann auf ein schmales Frequenzband wie 300 Hz bis 3 kHz begrenzt werden, während sie immer noch vollkommen verständlich ist. Sie könnten ein einfaches analoges Filter für dieses Band erstellen, dies würde jedoch die Unterdrückung des Rauschens begrenzen. Um Frequenzen außerhalb dieses Bandes effektiver herauszufiltern, wäre ein komplexes analoges Filter erforderlich. Solche Filter sind schwierig zu konstruieren, zu bauen und herzustellen.
Hier kommt die digitale Signalverarbeitung ins Spiel. Im digitalen Bereich ist es viel einfacher, komplexe Filter mit vielen Polen und Nullen zu implementieren. Da der Ort (im Frequenzbereich) dieser Pole und Nullen mit dem Takt des DSP (Digital Signal Processor) verknüpft ist, der ein genauer (Quarz-) Takt ist, ist das Filter im Vergleich zu einer analogen Implementierung viel genauer .
quelle
Nun, der erste Schritt, um zu verstehen, warum wir FFT brauchen, ist zu verstehen, wie digitale Filterung funktioniert.
Sie haben also im Grunde eine Struktur wie ein Schieberegister mit einer Anzahl von Speicherelementen, einem Eingang und einem Ausgang. Ein Abtastwert wird in den Eingang eingegeben, durch das Register verschoben und zum Ausgang verschoben. In jeder Stufe des Registers wird es mit einer Zahl multipliziert, die als Filterkoeffizient bezeichnet wird.
Diese Idee funktioniert in Ordnung, wenn Sie ein schnelles Register haben, das schnelle Multiplikationen ausführt, und wenn die Samples langsam nacheinander eingehen.
Im wirklichen Leben erhalten Sie stattdessen höchstwahrscheinlich einen Frame, der aus mehreren Samples besteht. Wenn Sie das filtern möchten, falten Sie die Samples mit den Filterkoeffizienten. Das ist dasselbe wie beim vorherigen Ansatz, sieht aber ein bisschen anders aus.
Nun kommt der FFT-Teil. Es stellt sich heraus, dass die numerische Komplexität der Faltung mit der Anzahl der Abtastungen sehr schnell zunimmt. Andererseits ist die FFT am Anfang numerisch kompliziert, aber die Anzahl der erforderlichen Operationen wächst mit der Zunahme der Filterkoeffizienten im Vergleich zur Faltung viel langsamer.
Dies bedeutet, dass es ab einer bestimmten Anzahl von Abtastwerten viel schneller ist, ein Signal mit einer FFT in den Frequenzbereich zu konvertieren, das Signal im Frequenzbereich zu filtern und es dann mit einer IFFT zurück zu konvertieren. Der Trick, den wir verwenden, ist eine der Eigenschaften der Faltung, nämlich, dass die Faltung im Zeitbereich unter bestimmten Umständen als Multiplikation im Frequenzbereich modelliert werden kann.
Wenn also die Anzahl der Filterkoeffizienten ausreichend groß ist, ist die FFT schneller. Das "große" könnte so klein sein wie einhundert oder so.
quelle
FFT-basierte Methoden (Sie müssen immer noch mit Fenster- und Überlappungsadditions- oder Überlappungsverschiebungsmodifikationen arbeiten) haben den Hauptvorteil, dass das Design fest im Frequenzbereich liegt und ein Wiener-Filter oder eine Spektralsubtraktion oder eine Anzahl von Andere Systeme, die sich auf Signalstatistiken und ein Modell stützen, arbeiten grundsätzlich im Frequenzbereich.
Im Gegensatz dazu beruhen die Echokompensation und verschiedene Varianten nicht auf einem Modell des Rauschens, sondern auf einer unvollständigen Aufzeichnung, die in hohem Maße mit dem Rauschen korreliert. Diese werden mit variierenden Filtern (normalerweise FIR) durchgeführt, um eine Rauschschätzung vom Signal zu subtrahieren und die Filter zu aktualisieren, um die Korrelation des verbleibenden Signals zum Rauschkanal minimal zu halten. Für diese Techniken ist FFT nicht allzu nützlich (wenn beträchtliche Verzögerungen des resultierenden Signals und der Filteraktualisierungen zulässig sind, können sie aus Leistungsgründen mit Verzögerung als Komponente in einer Blackbox-FIR verwendet werden, sind aber für sie nicht wirklich nützlich) Fähigkeit zur Darstellung von Frequenzbereichen).
quelle
Analoge Filter sind leicht zu entwerfen, aber die Einschränkung besteht darin, dass Sie immer wieder physikalische Filterelemente hinzufügen müssen, um eine Bandsperrfilterung für bestimmte Frequenzen zu erzielen. Und Sie müssen die Komponentenwerte anpassen, wenn Sie die Kerben verschieben möchten. Ein einzelner Operationsverstärker kann eine Bandsperrstufe ausführen, sodass Sie für jede gewünschte Stufe einen weiteren Verstärker hinzufügen müssen. Für eine selektivere Kerbe benötigen Sie zwei Verstärker pro Kerbe.
Praktisch gesehen ist es wahrscheinlich am besten, wenn Sie einen Tiefpassfilter 3. Ordnung verwenden, den Sie mit einem einzelnen Operationsverstärker oder einem Tiefpassfilter 5. Ordnung, für den zwei erforderlich sind, verwenden. Verwenden Sie die Tiefpassfilter, um Frequenzen oberhalb der Nyquist-Frequenz (1/2 Abtastfrequenz) mit einem gewissen Spielraum zu dämpfen, und Sie erhalten ein hochwertiges digitales Sample, das Sie nachbearbeiten können. Mit einer solchen sauberen Aufnahme können Sie dann nach Bedarf FFT-Filter anwenden, um Hochpass-, Bandpass- und Bandsperrfilter zu erstellen.
quelle
Die lineare zeitinvariante Filterung, die ein "klassisches elektronisches Filter" ausführt, ist nur eine "blöde" Multiplikation im Fourier-Bereich. Die in einer FFT enthaltenen Informationen enthalten jedoch mehr Details als nur die Antwort eines Filters, bei dem es sich lediglich um eine lineare Kombination dieser Komponenten handelt. Mit diesen Informationen können Sie die Datenverarbeitung steuern und an die Daten anpassen. Rauschen hat einige Eigenschaften, die klare Vocals und Musiktöne nicht aufweisen. Beispielsweise ist die Korrelation zwischen Obertönen für Rauschen nicht annähernd gleich wie für Sprache oder Musik.
Wenn wir also Korrelationen zwischen Frequenzkomponenten identifizieren können - dh irgendwie einen "Grundton" finden, können wir die Filterung steuern und an die Daten anpassen.
quelle