![디자인 팁: 자동차 라디오 애플리케이션을 위한 ALSA 쿼드 사운드](https://linux55.com/image/207135/%EB%94%94%EC%9E%90%EC%9D%B8%20%ED%8C%81%3A%20%EC%9E%90%EB%8F%99%EC%B0%A8%20%EB%9D%BC%EB%94%94%EC%98%A4%20%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%9D%84%20%EC%9C%84%ED%95%9C%20ALSA%20%EC%BF%BC%EB%93%9C%20%EC%82%AC%EC%9A%B4%EB%93%9C.png)
저는 Raspberry Pi용 C++(오픈 소스) 자동차 라디오 애플리케이션을 개발 중입니다.https://github.com/vinthewrench/carradio
ALSA api와 Signstek USB DAC로 어느 정도 성공을 거두었지만, 4개의 스피커 사용과 관련된 문제를 해결하는 방법에 대한 조언을 구하고 싶습니다.
내 코드는 현재 왼쪽과 오른쪽 채널에 대해서만 알고 있으며 snd_pcm_writei는 "기본" 장치를 호출합니다.
다른 USB DAC를 추가하여 4개 채널(전면 및 후면)을 제공할 수 있다고 생각하지만, 4개 채널 모두와 통신하기 위한 코드를 작성하는 방법은 확실하지 않습니다. 대답은 일종의 하이브리드 가상 장치 전면 및 후면 채널을 만들고 snd_pcm_open을 수행하고 해당 장치를 호출하는 것입니다.
그래서 질문은 무엇입니까? 전면 및 후면 채널을 통합하고 ALSA가 모든 믹싱 작업을 수행하도록 ALSA를 구성하는 올바른 방법은 무엇입니까?
저는 아직도 ALSA를 설정하는 방법에 대해 잘 모르고 몇 가지 시행착오를 겪었습니다.
매우 감사합니다.
답변1
디자인 조언이 필요합니다.아니요ALSA를 통해 직접 동일한 출력의 채널을 구동하려면 두 개의 서로 다른 사운드 카드를 사용하십시오. 그 이유는 각 사운드 카드가 약간 다른 마스터 클럭을 갖고 있고, 두 채널 쌍의 클럭이 갈라지며, 잠시 후(가장 기대하지 않을 때) 응용 프로그램에서 흥미로운 버그가 나타나기 시작하기 때문입니다.
따라서 클록 드리프트를 리샘플링하고 수정할 수 있는 도구(예: Pulseaudio)를 사용하세요. 또는 선택할 수 있는 채널이 4개 있는 USB 사운드 카드를 찾아보세요.
전면 및 후면 채널을 통합하고 ALSA가 모든 믹싱 작업을 수행하도록 ALSA를 구성하는 올바른 방법은 무엇입니까?
당신이 마조히스트이고 이것을 고집한다면, 한번보세요많은플러그인을 선택하고 플러그인에 있는 추가 기능 route
이나 플러그인을 확인하세요.plug