在 Linux 上强制缩混为单声道

Neo*_*Neo 10 audio linux mono alsa mixing

出于个人原因(我有听力障碍),我需要我的 linux 机器来产生单声道缩混声音。缩混,而不仅仅是单通道。

是否有可能在 ALSA / PulseAudio 服务器中强制执行此类行为?目前无法进行硬件混合(使用一些电阻将 L 和 R 通道短路)。我正在寻找一种软件解决方案来将两个通道混合为一个。

我知道某些媒体播放器具有此功能,但我希望整个系统(即游戏、Flash 应用程序等)都能产生缩混音频。

gol*_*udo 11

我没有做过任何广泛的测试,但是这个~/.asoundrc文件(或/etc/asound.conf)应该适用于任何使用 ALSA 的东西。假设您只想处理两个输入通道(左和右),并且您的声卡在hw:0.

pcm.!default makemono

pcm.makemono {
    type route
    slave.pcm "hw:0"
    ttable {
        0.0 1    # in-channel 0, out-channel 0, 100% volume
        1.0 1    # in-channel 1, out-channel 0, 100% volume
    }
}
Run Code Online (Sandbox Code Playgroud)

查看官方文档以获取有关如何进一步微调/复杂化的详细信息。