2

Lets say I have speaker1 and speaker2, which both have different input delays. In Windows there is a program, called Voicemeeter, where you can output the system sound to speaker1 and speaker2 through multiple aux outputs and even add delay to each individual output, fixing the delay issue.

In Linux, with a program called Jack, the output routing would work, but I couldn't find any way to add delay to the speakers.

Anyone got any ideas?

1 Answers1

2

Being ineligible yet, unfortunately, I can't upvote this question, which is hard to believe that was almost not been asked (?!). But it's absolutely relevant!

Finally I've answered a similar question to myself. Mine is how to add a delay to the sound played from a single stream. The following recipe can be scaled to multiple streams though.

Here are the steps, inspired by the examples from PulseAudio under the hood - Example setups:

  1. Set up a pipe sink:

    pactl load-module module-pipe-sink file="output.pcm"
    
  2. Start (prepare to) playing from it with a delay of your choice (like 10 secs below):

    pacat --latency-msec=10000 output.pcm
    
  3. Make sure to set your input stream (your speaker's one) to be played back on the created pipe sink. Do that in pavucontrol's Playback tab.

Note that steps 2 and 3 can be done in any order.