gstreamer で次のパイプラインをセットアップしています。
2 つの独立した USB オーディオ インターフェイスと 1 つのパルス オーディオ シンク (pulsesink) からの 2 つのパルス オーディオ ソース (pulsesrc)。adder コンポーネントを使用して、2 つの着信オーディオ ストリームを結合しています。残念ながら、2 つのオーディオ チャンネル間にわずかな遅延があります。
pulsesrc1 --- queue --- audioconvert --- audioresample --- |
| adder --- queue --- | pulsesink
pulsesrc2 --- queue --- audioconvert --- audioresample --- |
同期にシステムの時刻/クロックを使用しています。両方のオーディオ インターフェイスが同じ USB ハブに接続されています。私は、オーディオがソースによって拾われる前に、オーディオがすでにわずかな遅延を持っていると推測しています (クロックが異なるため)。
これが、それを補うために、最初のオーディオ チャンネル (2 番目のオーディオ チャンネルはわずかに遅れます) に遅延/ギャップ/シフトを導入したい理由です。
これまでのところ、最初のキューのプロパティ「min-threshold-time」を設定してみました。残念ながら、パイプラインはこの遅延を補正するため、両方のオーディオ ストリームが等しく遅延します。要素「audioecho」もチェックアウトしました。残念ながら、「ドライ/ウェット」プロパティがありません。これは、元の信号が常に元の時間に再生され、その後遅延テールが開始されることを意味します (これはまったく役に立ちません)。
この問題を解決する方法について、さらにアイデアはありますか? たぶん、沈黙のギャップを追加しますか?または、欠落している可能性のある他のパラメーター。
Python を使用してこのパイプラインを実装しました。前もって感謝します!