libpipewire-module-loopback - Loopback

NAME  DESCRIPTION  MODULE NAME  MODULE OPTIONS  GENERAL OPTIONS  EXAMPLE CONFIGURATION OF A VIRTUAL SINK  EXAMPLE CONFIGURATION OF A VIRTUAL SOURCE  SEE ALSO 

NAME

libpipewire-module-loopback − Loopback

DESCRIPTION

The loopback module passes the output of a capture stream unmodified to a playback stream.

It can be used to construct a link between a source and sink but also to create new virtual sinks or sources or to remap channel between streams.

Because both ends of the loopback are built with streams, the session manager can manage the configuration and connection with the sinks and sources.

MODULE NAME

libpipewire-module-loopback

MODULE OPTIONS

node.description: a human readable name for the loopback streams

target.delay.sec: delay in seconds as float (Since 0.3.60)

capture.props = {}: properties to be passed to the input stream

playback.props = {}: properties to be passed to the output stream

GENERAL OPTIONS

Options with well-known behavior. Most options can be added to the global configuration or the individual streams:

remote.name

audio.rate

audio.channels

audio.position

media.name

node.latency

node.description

node.group

node.link.group

node.virtual

node.name: See notes below. If not specified, defaults to ’loopback-<pid>-<module-id>’.

Stream only properties:

media.class

node.name: if not given per stream, the global node.name will be prefixed with ’input.’ and ’output.’ to generate a capture and playback stream node.name respectively.

EXAMPLE CONFIGURATION OF A VIRTUAL SINK

This Virtual sink routes stereo input to the rear channels of a 7.1 sink.

context.modules = [
{ name = libpipewire−module−loopback
args = {
node.description = "CM106 Stereo Pair 2"
#target.delay.sec = 1.5
capture.props = {
node.name = "CM106_stereo_pair_2"
media.class = "Audio/Sink"
audio.position = [ FL FR ]
}
playback.props = {
node.name = "playback.CM106_stereo_pair_2"
audio.position = [ RL RR ]
target.object = "alsa_output.usb−0d8c_USB_Sound_Device−00.analog−surround−71"
node.dont−reconnect = true
stream.dont−remix = true
node.passive = true
}
}
}
]

EXAMPLE CONFIGURATION OF A VIRTUAL SOURCE

This Virtual source routes the front-left channel of a multi-channel input to a mono channel. This is useful for splitting up multi-channel inputs from USB audio interfaces that are not yet fully supported by alsa.

context.modules = [
{ name = libpipewire−module−loopback
args = {
node.description = "Scarlett Focusrite Line 1"
capture.props = {
audio.position = [ FL ]
stream.dont−remix = true
node.target = "alsa_input.usb−Focusrite_Scarlett_Solo_USB_Y7ZD17C24495BC−00.analog−stereo"
node.passive = true
}
playback.props = {
node.name = "SF_mono_in_1"
media.class = "Audio/Source"
audio.position = [ MONO ]
}
}
}
]

SEE ALSO

pw-loopback : a tool that loads the loopback module with given parameters.


Updated 2024-01-29 - jenkler.se | uex.se