我在 gstreamer 中有以下管道设置:
来自两个单独的 USB 音频接口和一个脉冲音频接收器 (pulsesink) 的两个脉冲音频源 (pulsesrc)。我正在使用加法器组件组合两个传入的音频流。不幸的是,两个音频通道之间存在轻微延迟。
pulsesrc1 --- queue --- audioconvert --- audioresample --- |
| adder --- queue --- | pulsesink
pulsesrc2 --- queue --- audioconvert --- audioresample --- |
我正在使用系统时间/时钟进行同步。两个音频接口都连接到同一个 USB 集线器。我猜音频在被源接收之前已经有轻微的延迟(由于时钟不同)。
这就是为什么我想向第一个音频通道(第二个稍微落后)引入延迟/间隙/移位来弥补这一点。
到目前为止,我尝试设置第一个队列的属性“min-threshold-time”。不幸的是,管道补偿了这种延迟,两个音频流都得到了同样的延迟。我还检查了元素“audioecho”。不幸的是,它缺少“干/湿”属性。这意味着原始信号总是在其原始时间播放,然后延迟尾部开始播放(这对我一点帮助都没有)。
任何进一步的想法如何解决这个问题?也许增加了沉默的间隙?或者我可能缺少的其他参数。
我已经使用 Python 实现了这个管道。先感谢您!