Есть ли способ добавить задержку для нескольких аудиовыходов?
Допустим, у меня есть Speaker1 и Speaker2, которые имеют разные входные задержки. В Windows есть программа под названием Voicemeeter, с помощью которой вы можете выводить системный звук на динамик 1 и динамик 2 через несколько дополнительных выходов и даже добавлять задержку к каждому отдельному выходу, устраняя проблему задержки.
В Linux с программой Jack выходная маршрутизация будет работать, но я не смог найти способ добавить задержку для динамиков.
У кого-нибудь есть идеи?
1 ответ
К сожалению, пока я не имею права, я не могу проголосовать за этот вопрос, и трудно поверить, что его почти не задавали (?!). Но это абсолютно актуально!
Наконец-то я ответил себе на аналогичный вопрос. Мое - как добавить задержку к звуку, воспроизводимому из одного потока. Однако следующий рецепт можно масштабировать для нескольких потоков.
Вот шаги, вдохновленные примерами из PulseAudio под капотом — Примеры настроек :
Установите раковину из трубы:
pactl load-module module-pipe-sink file="output.pcm"
Начните (подготовьтесь) играть с него с задержкой по вашему выбору (например, 10 секунд ниже):
pacat --latency-msec=10000 output.pcm
Убедитесь, что ваш входной поток (поток вашего динамика) воспроизводится на созданном канале. Сделайте это в
pavucontrol
вкладка Воспроизведение .
Обратите внимание, что шаги 2 и 3 можно выполнять в любом порядке.