当我录音时,我的麦克风也包含所有系统播放。
当我在输出(“前左/前右”)上执行“测试”对话框时,实时显示麦克风输入电平的声音设置对话框会显示完整的输入电平。在此测试期间,物理麦克风被关闭/断开。
我已经尝试过 pavucontrol 应用程序,并且输入选项卡中的任何“监视”流都被禁用和静音。
除此之外,麦克风和输出工作正常。
耳机通过标准连接器连接到主板。
更新:
使用pactl
加载module-echo-cancel
可以稍微缓解该问题,但仍然会传来间歇性的声音。
答案1
您的音响系统正常运行,因此可能不需要执行此操作。使用以下命令检查您的音响硬件:
hwinfo --sound
,lshw -class multimedia
或者arecord --list-devices
确保它与你的主板供应商规格相符。要获取主板信息
sudo lshw -class bus | grep -A 6 -i 'motherboard'
确保你已为你的声卡加载了所有正确的模块和编解码器。你必须弄清楚你的芯片和必要模块的详细信息
hdajackretask
“alsa-tools-gui”包中的工具将允许您重新配置音频插孔。
某些芯片似乎无法在上游正确进行逆向工程。输出和输入可能被错误地固定。需要进行一些实验。如果可以找到有效的配置,则可以使用安装引导覆盖的补丁。我遇到了 Reaktek Azalia 芯片的问题。那是我发现的唯一让它正常工作的方法。真是痛苦。但是,这是免费软件,有许多志愿者贡献者。
在某些情况下,重新安装 alsa 和 pulseaudio 可以解决问题。
sudo apt purge alsa-base pulseaudio
-- 记下所有已卸载的软件包,以防您需要手动重新安装一些。
sudo apt install alsa-base pulseaudio
我希望这些能够帮助您找到解决方案。
答案2
我遇到了同样的问题,module-echo-cancel
临时修复完全解决了这个问题。由于我花了一些时间才让它正常工作,所以我觉得把它写在这里会很好。
附加以下代码片段/etc/pulse/default.pa
:
.ifexists module-echo-cancel.so
load-module module-echo-cancel aec_method=webrtc source_name=echocancel sink_name=echocancel1
set-default-source echocancel
set-default-sink echocancel1
.endif
然后重新启动 pulseaudo 服务(或者重启机器):
pulseaudio -k
它能做什么:
如果您的系统 PulseAudio 是使用回声/噪声消除模块编译的,请加载此模块,使用 webrtc 作为回声消除方法(它应该比默认的 speex 更好),指定源和接收器名称,然后将该源和接收器设置为默认值。
解决方案位于https://www.linuxuprising.com/2020/09/how-to-enable-echo-noise-cancellation.html
答案3
这是一个复杂的问题,从未正确诊断过。通过购买 USB 连接的耳机解决了这个问题。