我首先想让我的 Sennheiser XS 1(仅使用 XLR 插孔电缆,没有放大器或外部声卡)听起来不那么糟糕,而我在这里找到的这个指南在我看来确实起到了作用:https://askubuntu.com/a/1464845/307184
它是一个很好的循序渐进的方法,并且具有以 ubuntu 方式在 .config 文件夹中配置内容的额外好处。
(请注意,虽然分步说明中没有提到这一点,但还有最后几个步骤:从声音设置的输入列表中选择新的“噪音消除源”,然后关闭并重新打开任何使用输入和/或输出的应用程序(这样它们就可以切换到新的来源,例如,spotify 需要重新启动才能再次播放音乐)
现在我想创建一个通过麦克风播放歌声的功能。我在这里遇到的困难是,如果我只添加:
{ name = libpipewire-module-loopback }
进入我的input-filter-chain.conf
然后它虽然能用,但听起来像是质量很低的卡拉 OK。你能听到自己的声音,但主要是回声,而且由于主要是回声,所以听起来也稍微延迟了。
虽然实用,但是质量真的很差。
我也尝试了一个更深入的版本:
{ name = libpipewire-module-loopback
args = {
node.description = "Loopback"
capture.props = {
audio.position = [ FL ]
stream.dont-remix = true
node.target = "rnnoise_source"
node.passive = true
}
playback.props = {
node.name = "alsa_output.pci-0000_00_1b.0.analog-stereo"
media.class = "Audio/Source"
audio.position = [ MONO ]
}
}
}
{ name = libpipewire-module-echo-cancel
args = {
# library.name = aec/libspa-aec-webrtc
# node.latency = 1024/48000
source.props = {
node.name = "Echo Cancellation Source"
}
sink.props = {
node.name = "Echo Cancellation Sink"
}
}
}
同样的结果。
我正在尝试在这里创造优质的体验。
我还测试了在 pipewire 之外激活播放:例如在 Audacity 中启用录制的音频监控,但这具有完全相同的回声结果。
这基本上意味着,在我尝试的所有情况下,当我将麦克风放入扬声器时,麦克风都会在扬声器中听到自己的声音。
我想要做的事不可能实现吗?