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

Isto existe: software para cancelamento de ruído

Estou ciente de que a melhor opção para o cancelamento de ruído é comprar um par de auscultadores para cancelamento de ruído…

Mas há algum software disponível que utilize o microfone e os auscultadores de PC para bloquear o ruído de fundo?

Respostas (7)

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

Existem basicamente dois métodos de supressão de ruído

  1. supressão de ruído usando Wiener-filters ou outros esquemas de estimativa e subtracção. No entanto, a fim de tornar estes sons bons, é necessária muita optimização e inteligência. Para a sua aplicação, esta provavelmente não é uma boa solução, uma vez que os PCs não são construídos para processamento de áudio em tempo real, e os algoritmos envolvidos estão longe de ser triviais.
  2. Reprodução de ruído de fundo corrigido pela latência e invertido em fase, juntamente com o sinal utilizável. Isto funciona bastante bem para auscultadores, embora normalmente introduza alguma mancha nos baixos. No entanto, isto também não funciona fora de linha, uma vez que necessita do sinal de ruído de fundo real do ambiente. E não é muito utilizável para PCs, uma vez que introduzem demasiada latência de áudio. No entanto, poderia tentar isto com um mínimo de núcleo de Linux em tempo real.

Com base nas minhas experiências com processamento de áudio e várias técnicas de cancelamento de ruído, eu recomendaria alguns bons auscultadores com isolamento sonoro. Normalmente, estes resultarão num melhor som sem a necessidade de qualquer truque de processamento de sinal que não funcionará muito bem de qualquer forma.

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

Não possível por razões físicas/hardware.

Ruído cancelando o trabalho dos auscultadores gravando som e reproduzindo um som invertido de fase para o cancelar. Com um portátil, o microfone primeiro é uma porcaria, e bem à sua frente, isto significa que o som vindo de trás chegará primeiro aos seus ouvidos antes mesmo de atingir o microfone. Depois tem de passar pelo computador para a placa de som lenta (provavelmente um ping de .1 segundos ou mais) para os altifalantes onde irá tocar. Este tempo de atraso será demasiado grande para se lidar com ele.

Então, resume-se principalmente a isto:
Você e o microfone ouvem coisas diferentes (nos auscultadores estão nos seus ouvidos).
O tempo de atraso das placas de som normais de um portátil é grande, muitas vezes nem sequer consegue ter um amplificador de guitarra a funcionar bem por esta razão sobre o seu computador (perto de 0 nos auscultadores).

Isto resultaria, por muito optimizado que fosse, numa experiência horrível.

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

Ver este artigo : Cancelamento de Ruído em Software? .

É interessante, mas não tem solução.

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

Não é de facto o cancelamento de ruído mas Chatterblocker pode ajudá-lo a mascarar/ignorar sons externos.

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

Usando MATLAB e este guia / código de amostra: http://www.mathworks.com/help/dsp/examples/acoustic-noise-cancellation-lms-.html

poderia gravar o ruído que está a tentar cancelar (a um wav) e construir uma saída de áudio que o cancelaria. Também poderia modificar o código para tomar a entrada do microfone como o ruído e fazê-lo gerar a saída e reproduzi-la de forma adaptável.

Tenha em mente que o cancelamento do ruído funciona melhor com ruídos do tipo “mecânico” de baixa frequência. Os ruídos de alto passo (alta frequência) são muito mais difíceis de cancelar.

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

Deve ser possível um som constante (por exemplo: lamúria de ventoinha de suporte), mas, tal como outros apontaram, para ambientes de som regular variável de fundo, certamente não funcionará bem com hardware e software comuns.

Também duvido muito que o software tenha qualquer forma fiável de medir o atraso com alta precisão (para calibração), o que é crucial para o cancelamento de ondas sonoras. (Editar: excepto talvez para fazer calibração manual de fase.)

O facto de os kernels regulares não serem em tempo real significa também que o atraso de áudio pode variar um pouco, o que também irá despoletar qualquer cancelamento de ruído de trabalho.

Embora os computadores possam gravar e reproduzir som, nunca foram concebidos para ter a precisão e definição necessárias para cancelar ondas sonoras.

Implementar tal sistema em software de PC pode resultar em algo que pode aumentar o ruído em vez de o reduzir, pelo que é evitado.

Continua a ser um destes tópicos que se prestam à investigação e experimentação, mesmo que apenas pelo prazer de o fazer :)

Além disso, microfones de gama alta e hardware de som profissional podem fazer muita diferença.

Source: autoproclamado perito em tudo.

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

Se o som a cancelar for consistente, por exemplo dentro de um avião ou o zumbido de uma fábrica, parece que o atraso do computador não deve importar, porque o som é o mesmo por mais tarde que chegue. A chave seria mudar de fase com precisão o som resultante nos seus auscultadores. Por exemplo, pode-se tentar um software de mudança de fase ajustável, tal como em http://freemusicsoftware.org/category/free-vst-effects-2/phase-shifter

Até se poderia gravar o ruído de fundo e depois reproduzi-lo. Teria de ajustar a fase até que fosse o oposto do que os seus ouvidos ouvem directamente.

Se o pobre microfone portátil fosse um problema, poderia trazer consigo um SM58 usado com custo suficiente.

Algum feedback sobre esta ideia?