Eu usei o Audacity para remover o ruído das gravações antes, no entanto, o uso da linha de comando é muito limitado. Tenho ~ 100 vídeos de palestras curtas que assistirei nos próximos meses e gostaria de uma maneira fácil de limpá-los todos de uma vez ou conforme necessário antes de assistir.
Existe uma ferramenta de linha de comando ou uma biblioteca de idiomas popular que eu possa usar para fazer isso?
SoX - Sound eXchange, the Swiss Army knife of audio manipulation
[...]
SoX is a command-line audio processing tool, particularly suited to
making quick, simple edits and to batch processing. If you need an
interactive, graphical audio editor, use audacity(1).
Portanto, deve ser um bom ajuste como alternativa de linha de comando complementar ao audaciy!
[...]
noisered [profile-file [amount]]
Reduce noise in the audio signal by profiling and filtering.
This effect is moderately effective at removing consistent
background noise such as hiss or hum. To use it, first run
SoX with the noiseprof effect on a section of audio that
ideally would contain silence but in fact contains noise -
such sections are typically found at the beginning or the
end of a recording. noiseprof will write out a noise pro‐
file to profile-file, or to stdout if no profile-file or if
`-' is given. E.g.
sox speech.wav -n trim 0 1.5 noiseprof speech.noise-profil
To actually remove the noise, run SoX again, this time with
the noisered effect; noisered will reduce noise according to
a noise profile (which was generated by noiseprof), from
profile-file, or from stdin if no profile-file or if `-' is
given. E.g.
sox speech.wav cleaned.wav noisered speech.noise-profile 0
How much noise should be removed is specified by amount-a
number between 0 and 1 with a default of 0.5. Higher num‐
bers will remove more noise but present a greater likelihood
of removing wanted components of the audio signal. Before
replacing an original recording with a noise-reduced ver‐
sion, experiment with different amount values to find the
optimal one for your audio; use headphones to check that you
are happy with the results, paying particular attention to
quieter sections of the audio.
On most systems, the two stages - profiling and reduction -
can be combined using a pipe, e.g.
sox noisy.wav -n trim 0 1 noiseprof | play noisy.wav noise
[...]
Infelizmente, acho a descrição que o sox usa na página de manual muito barulhenta para ler - trocadilhos. Não existe uma maneira muito mais simples, com apenas um comando para manipular com redução de ruído?
shevy
Claro, não há problema - basta escrever em uma frase simples o que você deseja alterar - mas preciso o suficiente para ser tecnicamente claro ... Ok, isso não funcionará assim porque você precisa entender o que é ruído e qual das partes do o ruído que você deseja remover, o que você pode reduzir e o que pode reduzir a qualidade do som, caso contrário, reduzindo o ruído. Para lidar com a redução de ruído, você precisa conhecer seus clubes de malabarismo - os tipos de ruído a fazer malabarismos e como eles podem ser equilibrados quando colidem no ar. Então, sox é sua caixa de ferramentas e kit de primeiros socorros!
Volker Siegel
12
A resposta aceita não dá um exemplo prático (veja o primeiro comentário), então estou tentando dar um aqui. No Ubuntu com o apt, você deve instalar soxe suporte aos formatos de áudio
Primeiro instale soxe suporte para formatos (incluindo mp3):
sudo apt install sox libsox-fmt-*
Antes de executar seu comando no (s) arquivo (s) primeiro (s), você precisa criar um perfil, fazer uma amostra do ruído, esta é a parte mais importante para selecionar o melhor horário em que o ruído ocorrer, certifique-se de não tenha voz (ou a música / sinal que você tenta manter) neste exemplo:
Onde noise_profile_fileestá o perfil e 0.30o valor. Os valores variam melhor entre 0,20 e 0,30, acima de 0,3 é muito agressivo, abaixo de 0,20 é suave e funciona bem para áudios muito barulhentos.
Tente brincar com isso e se você encontrar outros truques de configuração e comente com as descobertas e configurações de ajuste.
como processá-los em lote
Se o ruído for semelhante, você pode usar o mesmo perfil para todos os mp3s
se o áudio falado e os canais esquerdo-direito separados forem desnecessários, você poderá anexar remix -a mixagem de todos os canais de entrada para mono
Jake Berger
2
@EduardFlorinescu Sua resposta está no local. Eu tinha uma gravação de ruído estático no fundo de cada gravação. Eu li sua resposta e, usei os primeiros 2 segundos do meu arquivo de som para criar um perfil e, finalmente, usei-o para remover o ruído da gravação. Muito obrigado por isso.
A resposta aceita não dá um exemplo prático (veja o primeiro comentário), então estou tentando dar um aqui. No Ubuntu com o apt, você deve instalar
sox
e suporte aos formatos de áudiosox
Primeiro instale
sox
e suporte para formatos (incluindo mp3):Antes de executar seu comando no (s) arquivo (s) primeiro (s), você precisa criar um perfil, fazer uma amostra do ruído, esta é a parte mais importante para selecionar o melhor horário em que o ruído ocorrer, certifique-se de não tenha voz (ou a música / sinal que você tenta manter) neste exemplo:
Agora faça um perfil a partir dessa fonte:
E, finalmente, execute a redução de ruído no arquivo:
Onde
noise_profile_file
está o perfil e0.30
o valor. Os valores variam melhor entre 0,20 e 0,30, acima de 0,3 é muito agressivo, abaixo de 0,20 é suave e funciona bem para áudios muito barulhentos.Tente brincar com isso e se você encontrar outros truques de configuração e comente com as descobertas e configurações de ajuste.
como processá-los em lote
Se o ruído for semelhante, você pode usar o mesmo perfil para todos os mp3s
ou se houver uma estrutura de pastas:
fonte
remix -
a mixagem de todos os canais de entrada para mono