2009-10-28 08:50:48 +0000 2009-10-28 08:50:48 +0000
80
80

Gibt es das: Software zur Rauschunterdrückung

Ich bin mir bewusst, dass die beste Option zur Geräuschunterdrückung darin besteht, mir ein Paar Kopfhörer mit Geräuschunterdrückung zu kaufen…

Aber gibt es eine Software, die das PC-Mikrofon und die Kopfhörer verwendet, um Hintergrundgeräusche zu blockieren?

Antworten (7)

44
44
44
2009-11-19 09:08:17 +0000

Grundsätzlich gibt es zwei Methoden zur Rauschunterdrückung

  1. Rauschunterdrückung mit Wiener-Filter oder anderen Schätz- und Subtraktionsverfahren. Um diese gut klingen zu lassen, ist allerdings eine Menge Optimierung und Gehirnschmalz nötig. Für Ihre Anwendung ist dies wahrscheinlich keine gute Lösung, da PCs nicht für Echtzeit-Audioverarbeitung gebaut sind und die beteiligten Algorithmen alles andere als trivial sind.
  2. Wiedergabe von latenzkorrigiertem, phaseninvertiertem Hintergrundrauschen zusammen mit dem Nutzsignal. Dies funktioniert bei Kopfhörern recht gut, führt aber in der Regel zu einer leichten Verschmierung der Bässe. Allerdings funktioniert auch dies nicht offline, da es das eigentliche Hintergrundgeräuschsignal aus der Umgebung benötigt. Und es ist nicht sehr brauchbar für PCs, da diese zu viel Audiolatenz einführen. Sie könnten dies jedoch mit einem minimalen Echtzeit-Linux-Kernel ausprobieren.

Basierend auf meinen Erfahrungen mit Audioverarbeitung und verschiedenen Techniken zur Geräuschunterdrückung würde ich einige gute schallisolierte Kopfhörer empfehlen. Diese führen in der Regel zu einem besseren Klang, ohne dass man irgendwelche Tricks der Signalverarbeitung anwenden muss, die ohnehin nicht allzu gut funktionieren werden.

18
18
18
2009-11-19 22:26:47 +0000

Aus physikalischen/Hardware-Gründen nicht möglich.

Kopfhörer mit Geräuschunterdrückung funktionieren, indem sie den Ton aufnehmen und einen phaseninvertierten Ton abspielen, um ihn zu unterdrücken. Bei einem Laptop ist das Mikrofon zuerst einmal scheiße, und das bedeutet, dass Schall, der von hinten kommt, zuerst Ihre Ohren erreicht, bevor er überhaupt das Mikrofon trifft. Dann muss er durch den Computer auf die langsame Soundkarte (wahrscheinlich ein Ping von 0,1 Sekunden oder mehr) zu den Lautsprechern gelangen, wo er dann abgespielt wird. Diese Verzögerung wird zu groß sein, um damit umgehen zu können.

Es läuft also hauptsächlich auf Folgendes hinaus:
Sie und das Mikrofon hören unterschiedliche Dinge (im Kopfhörer sind sie in Ihren Ohren).
Die Verzögerungszeit von Standard-Laptop-Soundkarten ist groß, man kann oft nicht einmal einen Gitarrenverstärker aus diesem Grund über den Computer gut zum Laufen bringen (im Kopfhörer nahe 0).

Dies würde, egal wie optimiert, zu einem grauenhaften Erlebnis führen.

9
9
9
2009-10-28 08:57:31 +0000

Siehe diesen Artikel : Noise Cancelling in Software? .

Es ist interessant, hat aber keine Lösung.

5
5
5
2009-11-19 09:06:46 +0000

Es handelt sich zwar nicht um eine Geräuschunterdrückung, aber Chatterblocker kann Ihnen helfen, externe Geräusche zu maskieren/zu ignorieren.

5
5
5
2012-09-11 13:04:26 +0000

Verwenden Sie MATLAB und diese Anleitung / diesen Beispielcode: http://www.mathworks.com/help/dsp/examples/acoustic-noise-cancellation-lms-.html

könnten Sie das Geräusch, das Sie auslöschen wollen, aufzeichnen (in eine wav-Datei) und einen Audioausgang erstellen, der es auslöscht. Möglicherweise können Sie den Code auch so modifizieren, dass er den Mikrofoneingang als Geräusch annimmt und den Ausgang adaptiv generiert und ausspielt.

Denken Sie daran, dass die Rauschunterdrückung am besten mit niederfrequenten “mechanischen” Geräuschen funktioniert. Geräusche mit hoher Tonhöhe (hoher Frequenz) sind viel schwieriger zu unterdrücken.

3
3
3
2014-11-18 21:10:38 +0000

Für ein konstantes Geräusch (z. B. das Wimmern eines Lüfterlagers) sollte es möglich sein, aber wie bereits von anderen erwähnt, wird es für regelmäßige Umgebungen mit variablem Geräuschhintergrund mit gängiger Hard- und Software sicher nicht gut funktionieren.

Ich bezweifle auch stark, dass die Software eine verlässliche Möglichkeit hat, die Verzögerung mit hoher Präzision zu messen (für die Kalibrierung), was für die Schallunterdrückung von Wellen entscheidend ist. (Edit: außer vielleicht für die manuelle Kalibrierung der Phase.)

Da reguläre Kernel nicht in Echtzeit arbeiten, bedeutet das auch, dass der Audio-Lag ein wenig variieren kann, was ebenfalls eine funktionierende Geräuschunterdrückung stört.

Obwohl Computer Ton aufnehmen und abspielen können, wurden sie nie für die Präzision und Definition entwickelt, die zur Unterdrückung von Schallwellen notwendig ist.

Die Implementierung eines solchen Systems in PC-Software könnte zu etwas führen, das den Lärm verstärkt, anstatt ihn zu reduzieren, und wird daher vermieden.

Es bleibt trotzdem eines dieser Themen, die sich zum Forschen und Experimentieren eignen, und sei es nur aus Spaß an der Sache :)

Außerdem können High-End-Mikrofone und professionelle Sound-Hardware einen großen Unterschied ausmachen.

_Quelle: selbsternannter Experte in allem.

2
2
2
2013-12-14 05:48:29 +0000

Wenn das Geräusch, das Sie auslöschen müssen, konsistent ist, z. B. im Inneren eines Flugzeugs oder das Brummen einer Fabrik, sollte die Verzögerung des Computers keine Rolle spielen, da das Geräusch immer gleich ist, egal wie spät es ankommt. Der Schlüssel wäre eine genaue Phasenverschiebung des resultierenden Klangs in Ihrem Kopfhörer. Man könnte z.B. eine einstellbare Phasenverschiebungssoftware ausprobieren, wie z.B. auf http://freemusicsoftware.org/category/free-vst-effects-2/phase-shifter

Sie könnten sogar das Hintergrundgeräusch aufnehmen und dann wiedergeben. Sie müssten die Phase so lange einstellen, bis sie das Gegenteil von dem ist, was Ihre Ohren direkt hören.

Wenn das schlechte Laptop-Mikrofon ein Problem wäre, könnten Sie billig genug ein gebrauchtes SM58 mitbringen.

Irgendein Feedback zu dieser Idee?