CANCELAMENTO DE RUÍDO E REDUÇÃO DE SONS AMBIENTES NA CAPTURA DO MICROFONE NO LINUX
Olá, meus amigos!
Estou aqui para trazer um breve relato e uma dica para quem está com o drama de mesmo com um bom microfone, a captura do Linux apresentar ruídos e capturar sons ambientes.
Introdução
Já há algum tempo venho experimentando situações embaraçosas com o Linux na questão do microfone. Bom, em cada momento um problema diferente. Por exemplo, durante um tempo o Linux inexplicavelmente capturava ruídos de estática por algum problema no gabinete ou na placa-mãe. Isso era bem problemático. O ajuste fino era muito complicado. Estranhamente esse problema não acontecia no Windows. Outro problema é que quando há algo próximo ao microfone(um ventilador, por exemplo), ele capturava e o som ambiente ficava bem barulhento, dificultando a compressão do som da voz. E isso aí mesmo trocando para um microfone melhor(sobre a estática e outros problemas).
Work Around e Soluções
Quando o Linux não conseguia resolver isso de forma natural, passamos a usar métodos para melhorar a qualidade do áudio do microfone já gravado ou usando filtros. Aqui vou sugerir o filtro do OBS caso esteja usando essa ferramenta para fazer suas gravações. Outra possibilidade é usar o Audacity para tratar áudios já gravados(Efeitos>Redução de Ruído...), lembrando que nesse caso você deve selecionar uma parte do áudio para pegar um perfil de áudio e depois selecionar tudo e aplicar o efeito. Em ambos os casos o som não vai ficar idêntico ao original, mas a qualidade da gravação será melhor e as pessoas vão entender e não vai ter ruído distraindo sua audiência.
Ajuste no Sistema
É possível ter uma abordagem em que você não usará os filtros de pós-processamento de áudio dos programas(Firefox, Chrome, OBS, etc...), preparando o pulseaudio para isso. Raramente você vai precisar adicionar um filtro depois de ajustar system-wide.
Segue a dica:
Crie o arquivo /etc/pulse/default.pa.d/cancelamento-de-ruído.pa
Insira o seguinte conteúdo:
load-module module-echo-cancel use_master_format=1 aec_method=webrtc aec_args="analog_gain_control=0 digital_gain_control=1 noise_suppression=1 high_pass_filter=1 drift_compensation=1 intelligibility_enhancer=1 extended_filter=1 voice_detection=1" source_name=echoCancel_source sink_name=echoCancel_sink
set-default-source echoCancel_source
set-default-sink echoCancel_sink
Lembrando que para criar o arquivo e salvar nesse diretório você precisará ter privilégios de root ou usar o sudo. Vou dar um exemplo para facilitar:
sudo touch /etc/pulse/default.pa.d/cancelamento-de-ruído.pa
sudo mousepad /etc/pulse/default.pa.d/cancelamento-de-ruído.pa
Insira o conteúdo que foi fornecido acima.
Mude mousepad para seu editor de texto / bloco de notas.
Pronto. Agora digite em um emulador de terminal:
pulseaudio -k
pulseaudio -D
Verifique se aparece a opção já com filtro(echo cancelled) na parte de fluxos de entrada. Se tiver o pavucontrol instalado abra este programa para verificar.
Agora é só usar um programa para gravação de microfone ou usar o ffmpeg para uma captura simples do microfone e verificar se tudo está funcionando como esperado. O som sai ligeiramente diferente. Mas aqui, por exemplo, os sons de ventoinha do PC e do ventilador(quase uma turbina aqui rs) ficam imperceptíveis e o som da voz não fica abafado.
Finalizando
Essa saga não é igual para todo mundo e talvez você precise ainda consultar a documentação do pulseaudio e/ou fazer pequenas alterações nas configurações acima. Aqui funcionou perfeitamente e estou compartilhando essa experiência de usuário com vocês. Espero que tenha ajudado e que tenham gostado das dicas.
Gostou?
Inscreva-se no meu canal:
Paga um cafezinho para mim?
https://livepix.gg/meurefugionerd
Olá, meus amigos!
Estou aqui para trazer um breve relato e uma dica para quem está com o drama de mesmo com um bom microfone, a captura do Linux apresentar ruídos e capturar sons ambientes.
Introdução
Já há algum tempo venho experimentando situações embaraçosas com o Linux na questão do microfone. Bom, em cada momento um problema diferente. Por exemplo, durante um tempo o Linux inexplicavelmente capturava ruídos de estática por algum problema no gabinete ou na placa-mãe. Isso era bem problemático. O ajuste fino era muito complicado. Estranhamente esse problema não acontecia no Windows. Outro problema é que quando há algo próximo ao microfone(um ventilador, por exemplo), ele capturava e o som ambiente ficava bem barulhento, dificultando a compressão do som da voz. E isso aí mesmo trocando para um microfone melhor(sobre a estática e outros problemas).
Work Around e Soluções
Quando o Linux não conseguia resolver isso de forma natural, passamos a usar métodos para melhorar a qualidade do áudio do microfone já gravado ou usando filtros. Aqui vou sugerir o filtro do OBS caso esteja usando essa ferramenta para fazer suas gravações. Outra possibilidade é usar o Audacity para tratar áudios já gravados(Efeitos>Redução de Ruído...), lembrando que nesse caso você deve selecionar uma parte do áudio para pegar um perfil de áudio e depois selecionar tudo e aplicar o efeito. Em ambos os casos o som não vai ficar idêntico ao original, mas a qualidade da gravação será melhor e as pessoas vão entender e não vai ter ruído distraindo sua audiência.
Ajuste no Sistema
É possível ter uma abordagem em que você não usará os filtros de pós-processamento de áudio dos programas(Firefox, Chrome, OBS, etc...), preparando o pulseaudio para isso. Raramente você vai precisar adicionar um filtro depois de ajustar system-wide.
Segue a dica:
Crie o arquivo /etc/pulse/default.pa.d/cancelamento-de-ruído.pa
Insira o seguinte conteúdo:
load-module module-echo-cancel use_master_format=1 aec_method=webrtc aec_args="analog_gain_control=0 digital_gain_control=1 noise_suppression=1 high_pass_filter=1 drift_compensation=1 intelligibility_enhancer=1 extended_filter=1 voice_detection=1" source_name=echoCancel_source sink_name=echoCancel_sink
set-default-source echoCancel_source
set-default-sink echoCancel_sink
Lembrando que para criar o arquivo e salvar nesse diretório você precisará ter privilégios de root ou usar o sudo. Vou dar um exemplo para facilitar:
sudo touch /etc/pulse/default.pa.d/cancelamento-de-ruído.pa
sudo mousepad /etc/pulse/default.pa.d/cancelamento-de-ruído.pa
Insira o conteúdo que foi fornecido acima.
Mude mousepad para seu editor de texto / bloco de notas.
Pronto. Agora digite em um emulador de terminal:
pulseaudio -k
pulseaudio -D
Verifique se aparece a opção já com filtro(echo cancelled) na parte de fluxos de entrada. Se tiver o pavucontrol instalado abra este programa para verificar.
Agora é só usar um programa para gravação de microfone ou usar o ffmpeg para uma captura simples do microfone e verificar se tudo está funcionando como esperado. O som sai ligeiramente diferente. Mas aqui, por exemplo, os sons de ventoinha do PC e do ventilador(quase uma turbina aqui rs) ficam imperceptíveis e o som da voz não fica abafado.
Finalizando
Essa saga não é igual para todo mundo e talvez você precise ainda consultar a documentação do pulseaudio e/ou fazer pequenas alterações nas configurações acima. Aqui funcionou perfeitamente e estou compartilhando essa experiência de usuário com vocês. Espero que tenha ajudado e que tenham gostado das dicas.
Gostou?
Inscreva-se no meu canal:
Paga um cafezinho para mim?
https://livepix.gg/meurefugionerd