错误修复:音频失真和 PipeWire 挂起 (Linux)¶
本文档介绍如何解决将 SL5-aura-service 与 OBS、AnyDesk 或高频 TTS 流等其他媒体应用程序一起使用时可能发生的音频失真 (“klirren”)、机器人语音伪影和系统音频挂起。
## 症状
语音输出/输入声音失真、有金属味或“嗡嗡声”。
系统音频挂起并显示消息:“正在建立与 PulseAudio 的连接”或“请稍候”。
高 CPU 负载或并发流使用后的总音频丢失。
日志日志显示:
spa.alsa: hw:X: snd_pcm_status 错误:没有这样的设备。
根本原因¶
在 Manjaro 和其他现代 Linux 发行版上,PipeWire 管理音频。失真通常源于:
缓冲区欠载: 并发流之间的冲突(例如,AnyDesk 在 TTS/OBS 运行时捕获音频)。
采样率不匹配: 44.1kHz 和 48kHz 之间频繁切换。
USB 时序问题: 高总线负载导致 USB 耳机(如 Plantronics/Poly)暂时断开连接。
解决方案¶
1. 立即恢复(“核”重置)¶
如果音频堆栈冻结或失真,请终止所有与音频相关的进程。他们将立即自动重新启动。
代码_块_0
2.预防和稳定设置¶
禁用 AnyDesk 音频¶
AnyDesk 经常尝试连接音频设备,从而导致硬件冲突。
操作: 打开 AnyDesk 设置 -> 音频 -> 禁用 “传输音频” 和 “再现音频”。
修复 PipeWire 采样率(推荐)¶
强制 PipeWire 保持在 48kHz,以避免在 TTS 播放期间重新采样伪影。
1.创建config目录:mkdir -p ~/.config/pipewire
2.复制默认配置:cp /usr/share/pipewire/pipewire.conf ~/.config/pipewire/
3. 编辑 ~/.config/pipewire/pipewire.conf 并设置:
代码_块_1
4、重启服务:
代码_块_2
3. 后期制作恢复 (FFmpeg)¶
如果您录制了一个会话并且音频失真(“杂音”),请使用以下“ffmpeg”过滤器链来修复文件。
推荐的修复命令¶
此命令应用去削波器、降噪和低通滤波器来消除高频数字伪影,而无需重新编码视频。
经过测试并且非常好:
代码_块_3
可能会更好(未经测试):
代码_块_4
未测试: 代码_块_5
过滤器细分:
adeclip:四舍五入数字削波尖峰。afftdn:减少基于 FFT 的数字噪声。lowpass=f=3500:截止 3.5kHz 以上的频率,其中最常出现“回响”(使声音更清晰/更温暖)。volume=1.8:补偿过滤期间的体积损失。-c:v copy:保持原始视频质量(极快)。
调试工具¶
要在开发过程中实时监控音频健康状况:
pw-top:显示实时错误(ERR 列)和缓冲区状态。journalctl --user -u pipeline:检查硬件断开连接。