当第二个音频源激活时交叉淡入淡出?

当第二个音频源激活时交叉淡入淡出?

我在 Raspberry Pi(精简版操作系统 - 无桌面)上有一个 Alsa 接收器,它可以(从家里)向我的扬声器播放音乐。我希望能够优雅地打断这首音乐。

  1. Pi 有一个 USB 声卡。如果麦克风(线路输入)已插入并正在接收音乐(来自我的电脑),我希望这个音频输入优先并播放到扬声器上。
  2. 有一个 fifo 音频流(位于/tmp/snapcast)。如果此流变为活动状态,我希望它中断其他两个音频流中的任何一个。

无论哪种情况,理想情况下,中断都会交叉淡化。

换句话说,我想组合 3 个接收器,其中数量较多的接收器在激活(即有数据)时优先。

实现这一目标的最简单方法是什么?我对 Alsa 比较熟悉,对 PulseAudio 有一定了解。除此之外,我在混音方面几乎没有经验。

答案1

一般来说,alsa 环回由 处理alsaloop

我发现 HiFiBerry(为 Raspberry Pi 制造 DAC/Amp HAT)基于以下内容创建了这个 python 脚本alsaloophttps://github.com/hi Fiberry/alsaloop/

这不是解决我的问题的开箱即用的解决方案,但它确实帮助我解决了大部分问题。该脚本提供了一个 Python 示例,用于检测线路上是否存在音量​​,以便切换循环到输出的输入源。

相关内容