임베디드 시스템에서는 동시에 하나의 응용 프로그램만 사운드 카드를 사용할 수 있다는 것을 발견했습니다. 내가 아는 한, 이 문제를 해결하기 위해 ALSA는 dmix
사용자 공간에서 믹싱을 수행하는 플러그인을 제공하여 여러 응용 프로그램이 사운드 카드를 공유할 수 있도록 합니다.
사용법을 알아보던 중 dmix
문제가 생겼습니다. 오디오 파일(스테레오, 16비트, 44.1KHz)을 재생할 때 오디오가 겹쳐지는 것처럼 작동하며 시간이 지남에 따라 눈덩이처럼 불어나는 이상한 반향 효과가 있습니다. (10초 재생 후 스피커의 영구적인 손상을 피하기 위해 재생을 중지해야 할 정도로 사운드가 "강화"되었습니다.)
내가 알 수 있는 바에 따르면 오디오의 첫 번째 순간만 정상적으로 재생되고 두 번째 정도부터 이상한 일이 일어나기 시작합니다. 버퍼링 설정을 조정해 보았지만 aplay
소용이 없었습니다. 효과는 버퍼링과 아무 관련이 없습니다.
이것은 작동합니다:
aplay /mnt/annie-honestly.wav
그러나 이것은 이상한 반향 효과를 보여줍니다.
aplay -Dplug:dmix /mnt/annie-honestly.wav
이 질문에 대해 인터넷 검색을 시도했지만 효과/질문을 호출하는 방법도 모르고 다른 ALSA 질문 급류에서도 아무것도 찾지 못했습니다.
PS Linux v3.18.24, ALSA-lib/-utils v1.0.29. 하드웨어: SGTL5000 사운드 칩이 탑재된 FreeScale i.MX35(48KHz 모드에서 사용됨)