alsa-mixer: add multichannel profile for Tascam Model12

Add new profile for multichannel input and output with the *Tascam
Model12* USB interface [1]. The 12 input and 10 output channels aren't
detected natively with the default profile.

The stereo profile maps channel 1 and 2 to `front-left`/`front-right`. The
interface allows to switch the main stereo downmix to channels 1 and 2 via
the built-in menu.

In the multichannel profile, input channels 1 to 10 are mapped as `aux0`
to `aux9`, respectively. The main stereo downmix is then mapped to
`front-left`/`front-right` as a more sensible default. Similarly, the output
channels 1 to 8 are mapped as `aux0` to `aux7`, respectively. Output channels
9/10 are then mapped to `front-left`/`front-right` as they are a stereo pair
and therefore better suited for stereo output than channels 1 and 2.

1: https://www.tascam.eu/en/model12
This commit is contained in:
Bernd Busse 2021-03-10 15:38:28 +01:00
parent 8db4dff2c5
commit 0ba254cbe3
No known key found for this signature in database
GPG key ID: 6DD2A3C48E63A5AB
2 changed files with 95 additions and 0 deletions

View file

@ -113,6 +113,7 @@ ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="4014", ENV{PULSE_PROFILE_SET}="dell-
ATTRS{idVendor}=="08bb", ATTRS{idProduct}=="2902", ENV{PULSE_PROFILE_SET}="behringer-umc22.conf"
ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0269", ENV{PULSE_PROFILE_SET}="hp-tbt-dock-120w-g2.conf"
ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0567", ENV{PULSE_PROFILE_SET}="hp-tbt-dock-audio-module.conf"
ATTRS{idVendor}=="0644", ATTRS{idProduct}=="805f", ENV{PULSE_PROFILE_SET}="tascam-model12.conf"
# ID 1038:12ad is for the 2018 refresh of the Arctis 7.
# ID 1038:1294 is for Arctis Pro Wireless (which works with the Arctis 7 configuration).

View file

@ -0,0 +1,94 @@
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2.1 of the
# License, or (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
; Tascam Model 12
;
; This card has 12 input channels (six mono, two stereo pairs, and a main
; stereo downmix) and 10 output channels (six mono and two stereo pairs).
;
; For compatibility with other systems, the card has an internal "stereo mix"
; setting to send the main stereo downmix to channels 1 and 2.
;
; In multichannel mode, we map the main stereo downmix to the front-left and
; front-right input channels (instead of channel 1,2). Since the stereo pairs
; make more sense for actual stereo output, we map the front-left and
; front-right output channels to the stereo pair 9/10.
;
; Other single-channel mappings can be achived by the 'module-remap-sink' and
; 'module-remap-source' modules.
;
; We knowingly only define a subset of the theoretically possible
; mapping combinations as profiles here.
;
; See default.conf for an explanation on the directives used here.
[General]
auto-profiles = no
[Mapping analog-stereo-input]
device-strings = hw:%f,0
channel-map = left,right
exact-channels = yes
direction = input
[Mapping multichannel-input]
device-strings = hw:%f,0
channel-map = aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,front-left,front-right
exact-channels = yes
direction = input
[Mapping analog-stereo-output]
device-strings = hw:%f,0
channel-map = left,right
exact-channels = yes
direction = output
[Mapping multichannel-output]
device-strings = hw:%f,0
channel-map = aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,front-left,front-right
exact-channels = yes
direction = output
[Profile output:multichannel-output+input:multichannel-input]
output-mappings = multichannel-output
input-mappings = multichannel-input
priority = 100
skip-probe = yes
[Profile output:analog-stereo-output+input:analog-stereo-input]
output-mappings = analog-stereo-output
input-mappings = analog-stereo-input
priority = 50
skip-probe = yes
[Profile output:multichannel-output]
output-mappings = multichannel-output
priority = 40
skip-probe = yes
[Profile output:analog-stereo-output]
output-mappings = analog-stereo-output
priority = 30
skip-probe = yes
[Profile input:multichannel-input]
input-mappings = multichannel-input
priority = 20
skip-probe = yes
[Profile input:analog-stereo-input]
input-mappings = analog-stereo-input
priority = 10
skip-probe = yes