首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ALSA或PulseAudio将立体声源重新映射到8通道PCM并降低音量?

如何使用ALSA或PulseAudio将立体声源重新映射到8通道PCM并降低音量?
EN

Unix & Linux用户
提问于 2016-09-06 17:01:58
回答 2查看 1.5K关注 0票数 2

我设置的详细信息如下:

内置英特尔高清卡(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模块配置(无论哪个更有意义),它可以实现我拍摄的通道重映射和音量降低。谢谢!

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2016-09-07 07:34:48

这在ttable插件的route选项中是可能的,它也集成在plug插件中:

代码语言:javascript
复制
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。

票数 2
EN

Unix & Linux用户

发布于 2016-09-12 17:41:32

感谢@CL。,这就是我想出的解决方案:

代码语言:javascript
复制
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降低了每个频道的音量水平,我希望它在哪里。最后,我重新映射到所有通道,以使配置更容易--我不必担心映射是否正确,并且似乎对未使用的通道进行重新映射并没有坏处,尽管我将监视潜在的性能影响。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/308241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档