Установить пакет sox
sudo apt install sox
Сделать запись шума в файл noise.wav любой программой аудиозаписи
Открыть терминал в каталоге с созданным файлом
sox noise.wav -n noiseprof noise.prof
создать устройство обратной связи ALSA:
sudo modprobe snd_aloop
запустить pactl и найти имена микрофона (или другого записывающего устройства), и устройства обратной связи, которое только что создали.
pactl list short sources
0 alsa_output.pci-0000_00_09.2.analog-stereo.monitor module-alsa-card.c s16le 2-канальный 4410 RUNNING
1 alsa_input.pci-0000_00_09.2.analog-stereo module-alsa-card.c s16le 2-канальный 4410 RUNNING
20 alsa_output.platform-snd_aloop.0.analog-stereo.monitor module-alsa-card.c s16le 2-канальный 4410 RUNNING
21 alsa_input.platform-snd_aloop.0.analog-stereo module-alsa-card.c s16le 2-канальный 4410 RUNNING
pactl list short sinks
0 alsa_output.pci-0000_00_09.2.analog-stereo module-alsa-card.c s16le 2-канальный 4410 IDLE
10 alsa_output.platform-snd_aloop.0.analog-stereo module-alsa-card.c s16le 2-канальный 4410 RUNNING
Далее там предлагают выполнить следующую команду, чтобы начать запись звука с вашего микрофона, передать его через SOX, а затем воспроизвести на устройстве с обратной связью:
pacat -r -d alsa_input.pci-0000_00_14.2.analog-stereo --latency=1msec|sox -b 16 -e signed -c 2 -r 44100 -t raw - -b 16 -e signed -c 2 -r 44100 -t raw - noisered noise.prof 0.2|pacat -p -d alsa_output.2.analog-stereo --latency=1msec
В этой команде нужно заменить правильные имена устройств на параметры -d - устройство ввода для первого вызова pacat и устройство вывода с обратной связью для второго.
В качестве последнего шага начните запись звука с помощью выбранного вами приложения, затем запустите pavucontrol, перейдите на вкладку "Запись" и установите аудиоустройство, используемое для записи (отображается серой кнопкой справа), на "Монитор аудиоустройства с обратной связью". Теперь у вас должна быть четкая и бесшумная запись!
Я ввела такую команду:
pacat -r -d alsa_input.pci-0000_00_09.2.analog-stereo --latency=1msec|sox -b 16 -e signed -c 2 -r 44100 -t raw - -b 16 -e signed -c 2 -r 44100 -t raw - noisered noise.prof 0.2|pacat -p -d alsa_output.platform-snd_aloop.0.analog-stereo --latency=1msec
sox FAIL noisered: noisered: channel mismatch: 2 in input, 1 in profile.
Произошла ошибка при выполнении write(): Обрыв канала
Также предлагают воспользоваться готовым скриптом
отсюдано запуск этого скрипта тоже выдал ошибку.