Моим основным саунд-девайсом является usb аудиокарта Focusrite Scarlett 8i6.
Она имеет 12 цифровых выходов, лишь два из которых (по дефолту 1й для L, и 2й - для R) назначаются на главные физические выходы, остальные используются в работе со звуком для создания лупов и прочего. Но почему-то ALSA упорно считает, что карта работает в формате 5.1, таким образом в первые 5 каналов он посылает сильно урезанные по нижним частотам каналы, а в 6й чистый саб-бас. Как сделать прямое назначение конкретных каналов на конкретные выводы системы?
1. Через alsamixer увы можно только назначать цифровые выходы на физические и управлять их громкостью, что именно в них подается там не отрегулировать нельзя.
2. Как это сделать средствами PulseAudio я тоже не нашел. Если посмотреть в его настройках или через pavucontrol, то он предлагает в работе с картой лишь опцию "Multichannel output", без вариантов.
3. Я вроде бы нашел пример того как что-то подобное делали для системы 7.1 посредством pcm-плагинов, но видимо я не до конца разобрался, и никакого эффекта такой скрипт не оказал.
# upmixing - duplicate stereo data to all 8 channels
pcm.ch71dup {
type route
slave{
pcm "plughw:1,0"
channels 8
}
ttable.0.0 1
ttable.1.1 1
ttable.0.2 1
ttable.1.3 1
ttable.0.4 0.5
ttable.1.4 0.5
ttable.0.5 0.5
ttable.1.5 0.5
ttable.0.6 1
ttable.1.7 1
}
- в моем случае карта ткаже была под индексом 1, только каналов 12.
Я знаю, что такой маппинг без проблем делается с помощью Jack, но неужели подобную вещь нельзя сделать стандартными средствами без добавление доп. прослойки между alsa и pulseaudio?
OS: Linux Mint 18.2