2番目のオーディオソースがアクティブな場合、クロスフェードは適用されますか?

2番目のオーディオソースがアクティブな場合、クロスフェードは適用されますか?

自宅からマイスピーカーで音楽を再生するRaspberry Pi(ライトOS - デスクトップなし)にAlsaレシーバーがあります。私は音楽をエレガントに中断できるようにしたかった。

  1. PiにはUSBサウンドカードがあります。マイク(ライン入力)が接続されていてマイコンピュータから音楽を受信して​​いる場合は、このオーディオ入力を優先してスピーカーで再生したいと思います。
  2. fifoオーディオストリーム(場所)があります/tmp/snapcast。このストリームがアクティブになったら、他の2つのオーディオストリームのいずれかを停止したいと思います。

どちらの場合も理想的には中断がクロスフェードされます。

つまり、3つの受信機を組み合わせたいのです。有効にすると(つまり、データがある)、より高い番号の受信機が優先順位を持ちます。

これを達成する最も簡単な方法は何ですか?私はAlsaについて比較的よく知っており、PulseAudioについてもある程度理解しています。それ以外はミキシングの経験がほとんどありませんでした。

答え1

一般的にalsaループバックはalsaloop

私はHiFiBerry(Raspberry Pi用のDAC / Amp HATを作成する会社)が以下に基づいてこのPythonスクリプトを生成したことを発見しましたalsaloophttps://github.com/hi Fiberry/alsaloop/

これは私の問題に対する即時の解決策ではありませんでしたが、ほとんどの問題を解決するのに役立ちました。このスクリプトは、ループされた入力ソースを出力に切り替えるために行のボリュームの存在を検出するPythonの例を提供します。

関連情報