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

Esiste: software per la cancellazione del rumore

Sono consapevole che l'opzione migliore per la cancellazione del rumore è quella di comprarmi un paio di cuffie a cancellazione di rumore…

Ma c'è qualche software disponibile che utilizzi il microfono del pc e le cuffie per bloccare il rumore di fondo?

Risposte (7)

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

Ci sono fondamentalmente due metodi per la soppressione del rumore

  1. Soppressione del rumore usando Wiener-filters o altri schemi di stima e sottrazione. Per far sì che questi suonino bene, però, c'è bisogno di un sacco di ottimizzazione e di cervello. Per la tua applicazione, questa probabilmente non è una buona soluzione, poiché i PC non sono costruiti per l'elaborazione audio in tempo reale, e gli algoritmi coinvolti sono tutt'altro che banali.
  2. Riproduzione di rumore di fondo corretto per la latenza e invertito di fase insieme al segnale utilizzabile. Questo funziona piuttosto bene per le cuffie, anche se di solito introduce qualche sbavatura nei bassi. Tuttavia, anche questo non funziona offline perché ha bisogno del segnale di rumore di fondo reale dall'ambiente circostante. E non è molto utilizzabile per i PC poiché introducono troppa latenza audio. Si potrebbe provare con qualche kernel realtime-Linux minimo, però.

Sulla base delle mie esperienze con l'elaborazione audio e varie tecniche di cancellazione del rumore, raccomanderei delle buone cuffie insonorizzate. In genere, queste produrranno un suono migliore senza la necessità di alcun trucco di elaborazione del segnale che comunque non funzionerà troppo bene.

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

Non è possibile per ragioni fisiche/hardware.

Le cuffie a cancellazione di rumore funzionano registrando il suono e riproducendo un suono invertito di fase per cancellarlo. Con un portatile il microfono fa schifo, e piacevolmente di fronte a te questo significa che il suono proveniente da dietro di te raggiungerà le tue orecchie prima ancora che colpisca il microfono. Poi deve passare attraverso il computer sulla lenta scheda audio (probabilmente un ping di .1 secondi o più) fino agli altoparlanti dove suonerà. Questo tempo di ritardo sarà troppo grande da gestire.

Quindi si riduce principalmente a questo:
Tu e il microfono sentite cose diverse (in cuffia sono nelle orecchie).
Il tempo di ritardo delle schede audio standard dei portatili è grande, spesso non riesci nemmeno a far funzionare bene un amplificatore per chitarra per questo motivo sul tuo computer (vicino allo 0 nelle cuffie).

Questo, per quanto ottimizzato, risulterebbe in un'esperienza orribile.

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

Vedere questo articolo : Cancellazione del rumore nel software? .

È interessante, ma non ha soluzione.

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

Non è effettivamente la cancellazione del rumore, ma Chatterblocker può aiutarvi a mascherare/ ignorare i suoni esterni.

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

Usando MATLAB e questa guida / codice di esempio: http://www.mathworks.com/help/dsp/examples/acoustic-noise-cancellation-lms-.html

potresti registrare il rumore che stai cercando di cancellare (in un wav) e costruire un'uscita audio che lo cancelli. Potresti anche essere in grado di modificare il codice per prendere l'input del microfono come rumore e fargli generare in modo adattivo l'output e riprodurlo.

Tieni presente che la cancellazione del rumore funziona meglio con rumori a bassa frequenza di tipo “meccanico”. I rumori ad alta frequenza sono molto più difficili da cancellare.

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

Dovrebbe essere possibile per un suono costante (ad esempio: il fruscio del cuscinetto della ventola), ma come altri hanno sottolineato, per ambienti di sottofondo sonoro regolare e variabile, sicuramente non funzionerà bene con hardware e software comuni.

Dubito anche fortemente che il software avrebbe un modo affidabile di misurare il ritardo con alta precisione (per la calibrazione), che è cruciale per le onde di cancellazione del suono. (Edit: eccetto forse per fare la calibrazione manuale della fase.)

I kernel regolari non essendo in tempo reale significano anche che il ritardo audio può variare un po’, il che farà saltare anche qualsiasi cancellazione del rumore funzionante.

Anche se i computer possono registrare e riprodurre suoni, non sono mai stati progettati per avere la precisione e la definizione necessarie per cancellare le onde sonore.

Implementare un tale sistema sul software del PC potrebbe risultare in qualcosa che potrebbe aumentare il rumore invece di ridurlo, quindi viene evitato.

Resta comunque uno di questi argomenti che si prestano alla ricerca e alla sperimentazione, anche solo per il piacere di farlo :)

Inoltre, microfoni di fascia alta e hardware audio professionale possono fare molta differenza.

Fonte: autoproclamato esperto di tutto.

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

Se il suono che dovete cancellare è costante, per esempio all'interno di un aereo o il ronzio di una fabbrica, sembra che il ritardo del computer non dovrebbe avere importanza, perché il suono è lo stesso non importa quanto tardi arrivi. La chiave sarebbe quella di spostare accuratamente la fase del suono risultante nelle vostre cuffie. Per esempio, si potrebbe provare un software di sfasamento regolabile come su http://freemusicsoftware.org/category/free-vst-effects-2/phase-shifter

Si potrebbe anche registrare il rumore di fondo e poi riprodurlo. Si dovrebbe regolare la fase fino a che non sia l'opposto di quello che le vostre orecchie sentono direttamente.

Se il povero microfono del portatile fosse un problema, potresti portare con te un SM58 usato abbastanza a buon mercato.

Qualche feedback su questa idea?