У меня есть две стереофонические звуковые карты, и я хотел бы создать виртуальный приемник 4.0 для использования 4-канального звука. Я использую следующую конфигурацию pulseaudio:
load-module module-alsa-sink sink_name=output1 device="hw:0" channels=2 channel_map=front-left,front-right tsched=0
load-module module-alsa-sink sink_name=output2 device="hw:1" channels=2 channel_map=rear-left,rear-right tsched=0
load-module module-combine-sink sink_name=combined slaves=output1,output2 channels=4 channel_map=front-left,front-right,rear-left,rear-right
set-default-sink combined
Я протестировал эту конфигурацию с speaker-test -c4 -t wav
, и каналы маршрутизируются правильно. Но сейчас у меня проблемы с изменением громкости на приложение для каждого канала. Я попытался использовать команду
pactl set-sink-input-volume <combined_sink_number> 20% 20% 20% 90%
, но первая пара значений громкости влияет на передний и задний каналы. Вторая пара значений громкости ни на что не влияет.
РЕДАКТИРОВАТЬ:
После установки enable-remixing = no
в /etc/pulse/daemon.conf
звук на второй карте (тыловые каналы) пропал. Я использую aplay
для проверки вещей. speaker-test
работает как и прежде. Это проблема в файле WAV или в aplay
? Вот дополнительная информация о файле WAV, который я использую для этого теста:
mediainfo test.wav:
Audio
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Signed
Codec ID : 00001000-0000-0100-8000-00AA00389B71
Duration : 5mn 23s
Bit rate mode : Constant
Bit rate : 3 072 Kbps
Channel(s) : 4 channels
Channel positions : Front: L R, Back: L R
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Stream size : 119 MiB (100%)
aplay test.wav -v:
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4
ALSA <-> PulseAudio PCM I/O Plugin
Its setup is:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 4
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 24000
period_size : 6000
period_time : 125000
tstamp_mode : NONE
tstamp_type : GETTIMEOFDAY
period_step : 1
avail_min : 6000
period_event : 0
start_threshold : 24000
stop_threshold : 24000
silence_threshold: 0
silence_size : 0
boundary : 1572864000