首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用PulseAudio实时去噪?

用PulseAudio实时去噪?
EN

Ask Ubuntu用户
提问于 2010-12-27 02:46:32
回答 10查看 166.4K关注 0票数 150

是否有可能用PulseAudio实时去除噪音,所以输出的声音更平滑?

EN

回答 10

Ask Ubuntu用户

回答已采纳

发布于 2016-04-29 15:41:38

脉冲音频模块module-echo-cancel

我开始阅读很多关于PulseAudio和“隐藏”选项的文章,这样我就可以找到一个类似于这个问题的选项。我发现的是噪音消除模块,它大大降低了麦克风上的任何静态噪音,甚至很多背景噪音,基本上让你只记录自己的声音,质量很好(例如,音频录制)。要做到这一点,请执行以下步骤:

  1. sudo nano /etc/pulse/default.pa
  2. 在文件的任何位置添加以下行,但我建议您在后面几乎可以找到关于回声取消的评论(~第140行):加载模块-回显取消
  3. 重新加载PulseAudio (pulseaudio -k)或简单地重新启动计算机。您应该能够从输入设备部分选择新的噪声消除选项:

您可以在回波取消模块页上找到有关它的更多信息。

将输入设置为默认

如果您希望设置为默认回显取消设备,只需将上面的行转换为:

代码语言:javascript
运行
复制
load-module module-echo-cancel source_name=logitechsource

然后在文件底部添加

代码语言:javascript
运行
复制
set-default-source logitechsource

在本例中,我将源logitechsource命名为“源”,但您可以任意命名它,只需重新启动脉冲音频。

重命名设备

最后,如果您不希望声音设置上有一个超长的名称(当您想选择一个输入/输出设备时)。我的建议是将输入设备重命名如下:

代码语言:javascript
运行
复制
load-module module-echo-cancel source_name=logitechsource source_properties=device.description=LogitechHD

再次,重新启动脉冲音频。最终结果如下:

更新-全文档在这里发现的多亏了克莱门特

票数 201
EN

Ask Ubuntu用户

发布于 2015-04-12 00:50:16

这是一个老问题,但我也遇到了同样的问题。在谷歌上搜索了一些人(我发现大多数人都认为这是不可能的),并阅读了一些手册页面,我现在开发了一个基于user2330377's想法的解决方案。

首先,您需要为SoX创建一个噪声配置文件。只需使用任何音频记录程序来记录几秒钟的噪音,然后cd进入您保存到的目录并执行sox noise.wav -n noiseprof noise.prof

然后,您需要创建一个ALSA回送设备:

代码语言:javascript
运行
复制
sudo modprobe snd_aloop

这是必需的,因为与Jack不同的是,脉冲音频不能直接将音频软件连接在一起;因此,我们将使用回环设备作为代理。

现在,您需要启动paman并找到您的麦克风(或其他录音设备)和我们刚刚创建的回送设备的名称。一旦找到这些声音,您就可以执行以下命令,从麦克风开始录制声音,通过SoX进行管道传输,然后在回送设备上播放:

代码语言:javascript
运行
复制
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“选项卡,并将用于录制的音频设备(右侧显示为灰色按钮)设置为”回环音频设备监视器“。你现在应该有一个清晰和无噪音的录音!

票数 18
EN

Ask Ubuntu用户

发布于 2020-11-17 09:30:54

因此,简单的解决方案,基于ubuntu或debian的发行版,这是一个在线脚本,激活噪音消除功能,已经在脉冲音频(默认音频在debian)。

代码语言:javascript
运行
复制
wget -qO - https://gist.githubusercontent.com/grigio/cb93c3e8710a6f045a3dd9456ec01799/raw/94f07c7d75bcf5dd9b08a9c3034844223ec6fbe1/fix-microphone-background-noise.sh | sudo bash && pulseaudio -k

您还可以在分区中运行这些命令(它们是相同的)。

代码语言:javascript
运行
复制
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
票数 6
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/18958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档