Last active
June 21, 2023 15:35
-
-
Save skobkin/ed9adf733e00cf9e4326c7b4d6eafaac to your computer and use it in GitHub Desktop.
PipeWire and PulseAudio channel remapping for Focusrite 18i20 gen3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# <other parts of the configuration removed> | |
# Remapping Focusrite IO for separate use | |
# Inputs | |
# https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#module-remap-source | |
load-module module-remap-source source_name=18i20-in-1 source_properties="device.description='18i20 Input 1'" master=alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.multichannel-input remix=no channels=1 master_channel_map=front-left channel_map=mono | |
load-module module-remap-source source_name=18i20-in-2 source_properties="device.description='18i20 Input 2'" master=alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.multichannel-input remix=no channels=1 master_channel_map=front-right channel_map=mono | |
load-module module-remap-source source_name=18i20-in-3 source_properties="device.description='18i20 Input 3'" master=alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.multichannel-input remix=no channels=1 master_channel_map=rear-left channel_map=mono | |
load-module module-remap-source source_name=18i20-in-4 source_properties="device.description='18i20 Input 4'" master=alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.multichannel-input remix=no channels=1 master_channel_map=rear-right channel_map=mono | |
load-module module-remap-source source_name=18i20-in-5 source_properties="device.description='18i20 Input 5'" master=alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.multichannel-input remix=no channels=1 master_channel_map=front-center channel_map=mono | |
load-module module-remap-source source_name=18i20-in-6 source_properties="device.description='18i20 Input 6'" master=alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.multichannel-input remix=no channels=1 master_channel_map=lfe channel_map=mono | |
load-module module-remap-source source_name=18i20-in-7 source_properties="device.description='18i20 Input 7'" master=alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.multichannel-input remix=no channels=1 master_channel_map=side-left channel_map=mono | |
load-module module-remap-source source_name=18i20-in-8 source_properties="device.description='18i20 Input 8'" master=alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.multichannel-input remix=no channels=1 master_channel_map=side-right channel_map=mono | |
# Outputs | |
# https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#module-remap-sink | |
load-module module-remap-sink master=alsa_output.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.multichannel-output sink_name=18i20-Output-1 sink_properties="device.description='18i20 Output 1 (1-2)'" remix=no channels=2 channel_map=front-left,front-right | |
load-module module-remap-sink master=alsa_output.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.multichannel-output sink_name=18i20-Output-2 sink_properties="device.description='18i20 Output 2 (3-4)'" remix=no channels=2 channel_map=rear-left,rear-right |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
context.modules = [ | |
# Analog Input 1 | |
{ name = libpipewire-module-loopback | |
args = { | |
node.description = "18i20 Input 01" | |
capture.props = { | |
node.name = "capture.18i20_in_01" | |
audio.position = [ AUX0 ] | |
stream.dont-remix = true | |
target.object = "alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.pro-input-0" | |
node.passive = true | |
} | |
playback.props = { | |
node.name = "18i20_in_01" | |
media.class = "Audio/Source" | |
audio.position = [ MONO ] | |
} | |
} | |
} | |
# Analog Input 2 | |
{ name = libpipewire-module-loopback | |
args = { | |
node.description = "18i20 Input 02" | |
capture.props = { | |
node.name = "capture.18i20_in_02" | |
audio.position = [ AUX1 ] | |
stream.dont-remix = true | |
target.object = "alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.pro-input-0" | |
node.passive = true | |
} | |
playback.props = { | |
node.name = "18i20_in_02" | |
media.class = "Audio/Source" | |
audio.position = [ MONO ] | |
} | |
} | |
} | |
# Analog Input 3 | |
{ name = libpipewire-module-loopback | |
args = { | |
node.description = "18i20 Input 03" | |
capture.props = { | |
node.name = "capture.18i20_in_03" | |
audio.position = [ AUX2 ] | |
stream.dont-remix = true | |
target.object = "alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.pro-input-0" | |
node.passive = true | |
} | |
playback.props = { | |
node.name = "18i20_in_03" | |
media.class = "Audio/Source" | |
audio.position = [ MONO ] | |
} | |
} | |
} | |
# Analog Input 4 | |
{ name = libpipewire-module-loopback | |
args = { | |
node.description = "18i20 Input 04" | |
capture.props = { | |
node.name = "capture.18i20_in_04" | |
audio.position = [ AUX3 ] | |
stream.dont-remix = true | |
target.object = "alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.pro-input-0" | |
node.passive = true | |
} | |
playback.props = { | |
node.name = "18i20_in_04" | |
media.class = "Audio/Source" | |
audio.position = [ MONO ] | |
} | |
} | |
} | |
# Analog Input 5 | |
{ name = libpipewire-module-loopback | |
args = { | |
node.description = "18i20 Input 05" | |
capture.props = { | |
node.name = "capture.18i20_in_05" | |
audio.position = [ AUX4 ] | |
stream.dont-remix = true | |
target.object = "alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.pro-input-0" | |
node.passive = true | |
} | |
playback.props = { | |
node.name = "18i20_in_05" | |
media.class = "Audio/Source" | |
audio.position = [ MONO ] | |
} | |
} | |
} | |
# Analog Input 6 | |
{ name = libpipewire-module-loopback | |
args = { | |
node.description = "18i20 Input 06" | |
capture.props = { | |
node.name = "capture.18i20_in_06" | |
audio.position = [ AUX5 ] | |
stream.dont-remix = true | |
target.object = "alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.pro-input-0" | |
node.passive = true | |
} | |
playback.props = { | |
node.name = "18i20_in_06" | |
media.class = "Audio/Source" | |
audio.position = [ MONO ] | |
} | |
} | |
} | |
# Analog Input 7 | |
{ name = libpipewire-module-loopback | |
args = { | |
node.description = "18i20 Input 07" | |
capture.props = { | |
node.name = "capture.18i20_in_07" | |
audio.position = [ AUX6 ] | |
stream.dont-remix = true | |
target.object = "alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.pro-input-0" | |
node.passive = true | |
} | |
playback.props = { | |
node.name = "18i20_in_07" | |
media.class = "Audio/Source" | |
audio.position = [ MONO ] | |
} | |
} | |
} | |
# Analog Input 8 | |
{ name = libpipewire-module-loopback | |
args = { | |
node.description = "18i20 Input 08" | |
capture.props = { | |
node.name = "capture.18i20_in_08" | |
audio.position = [ AUX7 ] | |
stream.dont-remix = true | |
target.object = "alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.pro-input-0" | |
node.passive = true | |
} | |
playback.props = { | |
node.name = "18i20_in_08" | |
media.class = "Audio/Source" | |
audio.position = [ MONO ] | |
} | |
} | |
} | |
# Loopback (stereo) | |
{ name = libpipewire-module-loopback | |
args = { | |
node.description = "18i20 Loopback" | |
capture.props = { | |
node.name = "capture.18i20_in_loopback" | |
audio.position = [ AUX8 AUX9 ] | |
stream.dont-remix = true | |
target.object = "alsa_input.usb-Focusrite_Scarlett_18i20_USB_P92XEEZ9A04D41-00.pro-input-0" | |
node.passive = true | |
} | |
playback.props = { | |
node.name = "18i20_in_loopback" | |
media.class = "Audio/Source" | |
audio.position = [ FL FR ] | |
} | |
} | |
} | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
HOWTO
What is what
00-focusrite-scarlett-18i20gen3-remap.pa
is my old configuration for PulseAudio. Could be placed in PulseAudio configuration directory (/etc/pulse/default.pa.d/
for system-wide configuration).00-scarlett18i20gen3-inputs.conf
is my new configuration for PipeWire. Could be placed in PipeWire configuration directory (for example~/.config/pipewire/pipewire.conf.d
for per-user configuration or/etc/pipewire/pipewire.conf.d/
for system-wide).Obtaining
master
, sinks and sourcesPulseAudio
Use
pacmd list-sources
andpacmd list-sinks
to obtainmaster
name, sources and sinks.PipeWire
Use
pw-link -o
,pw-link -i
, etc.More info