麦克风通道中可以听到系统声音播放

麦克风通道中可以听到系统声音播放

当我录音时,我的麦克风也包含所有系统播放。

当我在输出(“前左/前右”)上执行“测试”对话框时,实时显示麦克风输入电平的声音设置对话框会显示完整的输入电平。在此测试期间,物理麦克风被关闭/断开。

我已经尝试过 pavucontrol 应用程序,并且输入选项卡中的任何“监视”流都被禁用和静音。

除此之外,麦克风和输出工作正常。

耳机通过标准连接器连接到主板。

更新: 使用pactl加载module-echo-cancel可以稍微缓解该问题,但仍然会传来间歇性的声音。

答案1

您的音响系统正常运行,因此可能不需要执行此操作。使用以下命令检查您的音响硬件:

hwinfo --soundlshw -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 连接的耳机解决了这个问题。

相关内容