我正在尝试在我的旧 Soundblaster HD 上播放 5.1 声音。这通过卡的toslink数字输出。
我在pulseaudio守护进程中设置了这些值:
remixing-produce-lfe = yes
remixing-consume-lfe = yes
lfe-crossover-freq = 80
default-sample-channels = 6
默认配置文件中的这一行:
load-module module-combine channels=6 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe
当我测试时
speaker-test -c6
左前、中置和右前工作,但后置扬声器不工作。后置扬声器的白噪声穿过前置扬声器(就好像立体声一样)。
我无法-c 6
测试IEC958
。如果我很好地理解了这个理论,这是有道理的,因为我应该有个人资料
output:iec958-ac3-surround-51
但我只有与该卡相关的立体声配置文件。
同样奇怪的是,当我播放 5.1 杜比音轨时,通道映射不是我在脉冲音频配置中设置的;后置扬声器被侧面扬声器取代(我将其他通道静音以查看声音是否仅通过后置扬声器 - 但事实并非如此):
sink input(s) available.
index: 0
driver: <protocol-native.c>
flags: START_CORKED FIX_RATE
state: RUNNING
sink: 2 <alsa_output.usb-Creative_Technology_USB_Sound_Blaster_HD_000000VD-00.iec958-stereo>
volume: front-left: 0 / 0% / -inf dB, front-right: 0 / 0% / -inf dB, side-left: 100270 / 153% / 11.08 dB, side-right: 100270 / 153% / 11.08 dB, front-center: 0 / 0% / -inf dB, lfe: 0 / 0% / -inf dB
balance 0.00
muted: no
current latency: 1260.19 ms
requested latency: 40.00 ms
sample spec: float32le 6ch 48000Hz
channel map: front-left,front-right,side-left,side-right,front-center,lfe
resample method: speex-float-1
module: 15
client: 4 <VLC media player (LibVLC 3.0.12)>
现在的问题是:我可以手动创建或强制通过IEC958
这些输出发出 5.1 声音吗?
答案1
我应该有个人资料
output:iec958-ac3-surround-51
。但我只有与该卡相关的立体声配置文件。
正如我所写:这意味着驱动程序不会产生 TOSLINK 使用的有点奇怪的 AC3 5.1 编码。
我在此处或超级用户的另一个答案中更详细地研究了这一点,我想我记得这主要是一个许可问题。尽管如此,没有驱动程序支持,尽管我认为结果是有足够的时间和精力可以写一些。
无论如何,如果您关心高质量的 5.1 声音,最好使用不同的方式(多个模拟通道或不同类型的数字通道)而不是 TOSLINK。
通道映射不是我在脉冲音频配置中设置的通道映射;
这是无关的。