我设置的详细信息如下:
内置英特尔高清卡(card0),所有我现有的应用程序默认使用。通常,立体声输出从立体声文件和流式应用程序输出到卡片。
我现在已经添加了一个USB声卡(card1: xCORE-200,来自XMOS),并且有一个非标准的8输出阵列:4条高音,4台扬声器。它们是对称的,因此左边有2个高音/2个扬声器,右侧有2个高音/2个扬声器。通道数组如下所示:
FrontRightTweeter,RearRightTweeter,LeftRearTweeter,LeftFrontTweeter,6,7,8,9,RightFrontSpeaker,RightRearSpeaker,LeftRearSpeaker,LeftFrontSpeaker,14,15
交叉已经被处理,所以我想简单地重新映射所有的立体声源,这样左转到整个新的左侧,右边转到整个新的右侧。
此外,通过手动测试,我总是要大大降低源的音量(大约90%),以使我的新扬声器设置达到一个合理的水平。所以我也需要能够在飞行中做到这一点。
我看过几个通过.asoundrc和PulseAudio模块使用ALSA的例子,而且我似乎无法成功地将所有的部分连接起来--特别是从较少的频道源到更多的通道(通常相反)。我正在寻找一个示例.asoundrc或PulseAudio模块配置(无论哪个更有意义),它可以实现我拍摄的通道重映射和音量降低。谢谢!
发布于 2016-09-07 07:34:48
这在ttable插件的route选项中是可能的,它也集成在plug插件中:
pcm.MyLittleDevice {
type plug
slave {
pcm "hw:1"
channels 16
}
ttable [
[ 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 ]
[ 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 ]
]
}若要减少体积,请用较小的值替换1s。
发布于 2016-09-12 17:41:32
感谢@CL。,这就是我想出的解决方案:
pcm.xcoreremapped {
type plug
hint {
show on
description "Remapping stereo to 8-ch speaker array."
}
slave {
pcm "hw:1,0"
channels 16
}
ttable [
[ 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 ]
[ 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 ]
]
}0.05降低了每个频道的音量水平,我希望它在哪里。最后,我重新映射到所有通道,以使配置更容易--我不必担心映射是否正确,并且似乎对未使用的通道进行重新映射并没有坏处,尽管我将监视潜在的性能影响。
https://unix.stackexchange.com/questions/308241
复制相似问题