Pulseaudio
當第二個音頻源啟動時交叉淡入淡出?
我在 Raspberry Pi(精簡版作業系統——沒有桌面)上有一個 Alsa 水槽,它可以(從房子裡)向我的揚聲器播放音樂。我希望能夠優雅地打斷這首音樂。
- Pi 有一個 USB 音效卡。如果麥克風(線路輸入)已插入並接收音樂(來自我的電腦),我希望此音頻輸入優先並播放到揚聲器。
- 有一個 fifo 音頻流 (at
/tmp/snapcast
)。如果此流變為活動狀態,我希望它中斷其他兩個音頻流中的任何一個。在任何一種情況下,理想情況下,中斷都會交叉淡入淡出。
換句話說,我想組合 3 個接收器,其中數量較多的接收器在其變為活動狀態(即有數據)時具有優先權。
實現這一目標的最簡單方法是什麼?我對 Alsa 和 PulseAudio 有點熟悉。除此之外,我對混音的經驗很少。
通常,alsa 環回是由
alsaloop
.我發現 HiFiBerry(為 Raspberry Pis 製作 DAC/Amp HAT)基於以下內容創建了這個 python 腳本
alsaloop
:https ://github.com/hifiberry/alsaloop/對於我的問題,這不是一個開箱即用的解決方案,但它確實讓我大部分時間都在那裡。該腳本提供了一個 Python 範例,用於檢測一行上是否存在音量,以便切換哪個輸入源循環到輸出。