# A sink that converts mono sources such as C64 SID or Amiga Tracker (rendered in mono) # music to stereo using the MDA Stereo plugin. # # Make sure the sound is rendered in mono (e.g. openmpt123 --stereo 0 4ch_tracker.mod) # # Required software: MDA Stereo lv2 Plugin (Gentoo: media-plugins/mda-lv2 Debian, Ubuntu: mda-lv2 Arch: mda.lv2) # # Copy this file into a conf.d/ directory such as ▐ # ~/.config/pipewire/filter-chain.conf.d/ # # To tweak the MDA Stereo controls while it's running without restarts: # # Get id: # $ pw-dump | jq -r ".[] | select (.info.props.\"node.name\" == \"effect_input.stereo_imager\") | .id" # Change control value: # $ pw-cli s Props '{ params = [ "mda_stereo:" ] }' # Print current values: # $ pw-dump | jq -r ".[].info | select (.props.\"node.name\" == \"effect_input.stereo_imager\") | .params.Props.[].params.[]" | sed -n '/^mda_stereo:/N;s/\n/ = /p' # # context.modules = [ { name = libpipewire-module-filter-chain flags = [ nofail ] args = { node.description = "Stereo Imager Sink" media.name = "Stereo Imager Sink" audio.channels = 2 audio.position= [ FL FR ] filter.graph = { nodes = [ { type = lv2 name = mda_stereo plugin = "http://drobilla.net/plugins/mda/Stereo" label = mda_stereo control = { "width" = 0.78 "delay" = 0.43 "balance" = 0.5 "mod" = 0.0 "rate" = 0.5 } } ] } capture.props = { node.name = "effect_input.stereo_imager" media.class = Audio/Sink } playback.props = { node.name = "effect_output.stereo_imager" node.passive = true } } } ]