집에서 내 스피커로 음악을 재생하는 Raspberry Pi(라이트 OS - 데스크탑 없음)에 Alsa 수신기가 있습니다. 나는 음악을 우아하게 중단시킬 수 있기를 원했습니다.
- Pi에는 USB 사운드 카드가 있습니다. 마이크(라인 입력)가 연결되어 있고 내 컴퓨터에서 음악을 수신하는 경우 이 오디오 입력이 우선적으로 적용되어 스피커에서 재생되기를 원합니다.
- fifo 오디오 스트림( 위치)이 있습니다
/tmp/snapcast
. 이 스트림이 활성화되면 다른 두 오디오 스트림 중 하나를 중단하고 싶습니다.
두 경우 모두 이상적으로는 중단이 크로스페이드됩니다.
즉, 3개의 수신기를 결합하고 싶습니다. 활성화되면(즉, 데이터가 있는) 더 높은 번호의 수신기가 우선순위를 갖습니다.
이것을 달성하는 가장 쉬운 방법은 무엇입니까? 저는 Alsa에 대해 비교적 잘 알고 있으며 PulseAudio에 대해서도 어느 정도 이해하고 있습니다. 그 외에는 믹싱 경험이 거의 없었습니다.
답변1
일반적으로 alsa 루프백은 alsaloop
.
나는 HiFiBerry(Raspberry Pi용 DAC/Amp HAT를 만드는 회사)가 다음을 기반으로 이 Python 스크립트를 생성했다는 것을 발견했습니다 alsaloop
.https://github.com/hi Fiberry/alsaloop/
이것은 내 문제에 대한 즉각적인 해결책은 아니었지만 대부분의 문제를 해결하는 데 도움이 되었습니다. 이 스크립트는 루프된 입력 소스를 출력으로 전환하기 위해 라인의 볼륨 존재를 감지하는 Python 예제를 제공합니다.