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

Bestaat dit: software voor ruisonderdrukking

Ik weet dat de beste optie voor ruisonderdrukking is om een ruisonderdrukkende hoofdtelefoon te kopen…

Maar is er software beschikbaar die de microfoon van de pc en de hoofdtelefoon gebruikt om achtergrondlawaai te blokkeren?

Antwoorden (7)

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

Er zijn in principe twee methoden voor ruisonderdrukking

  1. Ruisonderdrukking met behulp van Wiener-filters of andere schatting-en-aftrekschema’s. Om deze goed te laten klinken, is echter veel optimalisatie en denkwerk nodig. Voor uw toepassing is dit waarschijnlijk geen goede oplossing, omdat PC’s niet gebouwd zijn voor real-time audioverwerking, en de betrokken algoritmen verre van triviaal zijn.
  2. Weergave van latentie-gecorrigeerde, fase-geïnverteerde achtergrondruis samen met het bruikbare signaal. Dit werkt vrij goed voor koptelefoons, hoewel het meestal wel wat smearing in de bassen introduceert. Maar ook dit werkt niet offline, omdat daarvoor het eigenlijke achtergrondruissignaal uit de omgeving nodig is. En het is niet erg bruikbaar voor PC’s omdat die te veel audio latency introduceren. Je zou dit kunnen proberen met een minimale realtime-Linux-kernel, dat wel.

Gebaseerd op mijn ervaringen met geluidsverwerking en verschillende technieken om ruis te onderdrukken, zou ik een goede geluidsisolerende hoofdtelefoon aanraden. Deze resulteren meestal in beter geluid zonder de noodzaak van signaalbewerkingstrucs die toch niet al te goed werken.

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

Niet mogelijk om fysieke/hardwarematige redenen.

Ruisonderdrukkende koptelefoons werken door geluid op te nemen en een fase-geïnverteerd geluid af te spelen om het te onderdrukken. Met een laptop is de microfoon eerst waardeloos, en mooi voor je. Dit betekent dat geluid dat van achter je komt, eerst je oren bereikt voordat het de microfoon raakt. Dan moet het door de computer op de trage geluidskaart (waarschijnlijk een ping van .1 seconden of meer) naar de luidsprekers waar het zal spelen. Deze vertraging zal te groot zijn om mee om te gaan.

Dus komt het hoofdzakelijk hierop neer:
Jij en de mic horen verschillende dingen (in een koptelefoon zitten ze in je oren).
Lagetijd van standaard laptop geluidskaarten is groot, je kunt vaak zelfs een gitaarversterker niet goed werkend krijgen om deze reden over je computer (in de buurt van 0 in de hoofdtelefoon).

Dit zou, hoe geoptimaliseerd ook, resulteren in een afschuwelijke ervaring.

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

Zie dit artikel: Ruisonderdrukking in software? .

Het is interessant, maar heeft geen oplossing.

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

Het is niet echt ruisonderdrukking, maar Chatterblocker kan u helpen externe geluiden te maskeren/ negeren.

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

Met behulp van MATLAB en deze gids / voorbeeldcode: http://www.mathworks.com/help/dsp/examples/acoustic-noise-cancellation-lms-.html

zou je de ruis die je probeert te onderdrukken kunnen opnemen (in een wav) en een audio-uitgang kunnen bouwen die de ruis zou onderdrukken. Je zou ook de code kunnen aanpassen om de microfooningang als ruis te nemen en het adaptief de uitgang te laten genereren en die af te spelen.

Houd in gedachten dat ruisonderdrukking het beste werkt met laagfrequente “mechanische” geluiden. Geluiden met een hoge toonhoogte (hoge frequentie) zijn veel moeilijker te onderdrukken.

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

Het zou mogelijk moeten zijn voor een constant geluid (b.v.: het janken van een ventilatorlager), maar zoals anderen al aangaven, voor regelmatige achtergrondomgevingen met variabel geluid zal het zeker niet goed werken met gangbare hardware en software.

Ik betwijfel ook ten zeerste of de software een betrouwbare manier heeft om de vertraging met grote precisie te meten (voor kalibratie), wat cruciaal is voor geluidsonderdrukkende golven. (Bewerk: behalve misschien voor het doen van handmatige kalibratie van fase.)

Reguliere kernels zijn niet real-time betekent ook dat de audio-vertraging kan een beetje variëren, die ook zal gooien elke werkende ruisonderdrukking.

Hoewel computers geluid kunnen opnemen en afspelen, zijn ze nooit ontworpen om de precisie en definitie te hebben die nodig is om geluidsgolven te onderdrukken.

Het implementeren van zo'n systeem op PC-software zou kunnen resulteren in iets dat het geluid zou kunnen doen toenemen in plaats van het te verminderen, en wordt dus vermeden.

Het blijft een van die onderwerpen die zich lenen voor onderzoek en experimenten, al is het maar voor het plezier :)

Ook hoogwaardige microfoons en professionele geluidshardware kunnen veel verschil maken.

Bron: zelfverklaard expert in alles.

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

Als het geluid dat je moet onderdrukken consistent is, bijvoorbeeld in een vliegtuig of het gezoem van een fabriek, lijkt het alsof de vertraging van de computer er niet toe zou moeten doen, omdat het geluid hetzelfde is, ongeacht hoe laat het binnenkomt. De sleutel zou zijn om het resulterende geluid nauwkeurig te faseren in je hoofdtelefoon. Je zou bijvoorbeeld instelbare software voor faseverschuiving kunnen proberen, zoals op http://freemusicsoftware.org/category/free-vst-effects-2/phase-shifter

Je zou zelfs het achtergrondgeluid kunnen opnemen en het dan opnieuw afspelen. Je zou de fase moeten aanpassen tot die het tegenovergestelde is van wat je oren direct horen.

Als de slechte laptop mic een probleem was, zou je goedkoop genoeg een gebruikte SM58 mee kunnen nemen.

Enige feedback op dit idee?