Вы можете создать профиль шума для SoX с:
sox sample-input.wav --null noiseprof ~/noise.profile
Затем вы можете использовать профиль для фильтрации вашей записи:
sox recording.wav filtered.wav noisered ~/noise.profile
Это работает, потому что статический шум, который улавливает ваш микрофон, обычно зависит от ваших настроек (проводки) и, следовательно, всегда одинаков в одной и той же среде. Обратите внимание, что SoX значительно хуже, чем Audacity, при удалении шума. :(
Кроме того, вы можете использовать аудиофильтры ffmpeg, такие как highpass/lowpass, чтобы уменьшить частоты ниже /выше определенного порога, или использовать фильтр компандирования для сжатия динамического диапазона записи и /или создания шумового затвора.
Если у вас есть профиль шума, весь конвейер процесса может быть:
ffmpeg -f alsa -i hw:0,0 -af 'highpass=300, lowpass=4000' -f wav - | sox -f wav -f wav - noisered ~/noise.profile | aplay
Обратите внимание, что вы должны извлечь профиль из записи, отфильтрованной по ffmpeg, если вы используете эти фильтры.