是否有可能用PulseAudio实时去除噪音,所以输出的声音更平滑?
发布于 2016-04-29 15:41:38
module-echo-cancel
我开始阅读很多关于PulseAudio和“隐藏”选项的文章,这样我就可以找到一个类似于这个问题的选项。我发现的是噪音消除模块,它大大降低了麦克风上的任何静态噪音,甚至很多背景噪音,基本上让你只记录自己的声音,质量很好(例如,音频录制)。要做到这一点,请执行以下步骤:
sudo nano /etc/pulse/default.pa
pulseaudio -k
)或简单地重新启动计算机。您应该能够从输入设备部分选择新的噪声消除选项:您可以在回波取消模块页上找到有关它的更多信息。
如果您希望设置为默认回显取消设备,只需将上面的行转换为:
load-module module-echo-cancel source_name=logitechsource
然后在文件底部添加
set-default-source logitechsource
在本例中,我将源logitechsource
命名为“源”,但您可以任意命名它,只需重新启动脉冲音频。
最后,如果您不希望声音设置上有一个超长的名称(当您想选择一个输入/输出设备时)。我的建议是将输入设备重命名如下:
load-module module-echo-cancel source_name=logitechsource source_properties=device.description=LogitechHD
再次,重新启动脉冲音频。最终结果如下:
发布于 2015-04-12 00:50:16
这是一个老问题,但我也遇到了同样的问题。在谷歌上搜索了一些人(我发现大多数人都认为这是不可能的),并阅读了一些手册页面,我现在开发了一个基于user2330377's想法的解决方案。
首先,您需要为SoX创建一个噪声配置文件。只需使用任何音频记录程序来记录几秒钟的噪音,然后cd
进入您保存到的目录并执行sox noise.wav -n noiseprof noise.prof
。
然后,您需要创建一个ALSA回送设备:
sudo modprobe snd_aloop
这是必需的,因为与Jack不同的是,脉冲音频不能直接将音频软件连接在一起;因此,我们将使用回环设备作为代理。
现在,您需要启动paman
并找到您的麦克风(或其他录音设备)和我们刚刚创建的回送设备的名称。一旦找到这些声音,您就可以执行以下命令,从麦克风开始录制声音,通过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
,更改为" recording“选项卡,并将用于录制的音频设备(右侧显示为灰色按钮)设置为”回环音频设备监视器“。你现在应该有一个清晰和无噪音的录音!
发布于 2020-11-17 09:30:54
因此,简单的解决方案,基于ubuntu或debian的发行版,这是一个在线脚本,激活噪音消除功能,已经在脉冲音频(默认音频在debian)。
wget -qO - https://gist.githubusercontent.com/grigio/cb93c3e8710a6f045a3dd9456ec01799/raw/94f07c7d75bcf5dd9b08a9c3034844223ec6fbe1/fix-microphone-background-noise.sh | sudo bash && pulseaudio -k
您还可以在分区中运行这些命令(它们是相同的)。
sudo cp /etc/pulse/default.pa /etc/pulse/default.pa.bak
sudo cat <<EOT >> /etc/pulse/default.pa
load-module module-echo-cancel source_name=noechosource sink_name=noechosink
set-default-source noechosource
set-default-sink noechosink
EOT
https://askubuntu.com/questions/18958
复制相似问题