내 설정 세부 사항은 다음과 같습니다.
Intel HD 카드(card0)가 내장되어 있으며 기존의 모든 응용 프로그램이 기본적으로 사용됩니다. 일반적으로 스테레오 출력은 스테레오 파일 및 스트리밍 응용 프로그램에서 카드로 출력됩니다.
이제 USB 사운드 카드(카드 1: XMOS의 xCORE-200)를 추가하고 8개 출력(트위터 4개, 스피커 4개)의 비표준 배열을 갖게 되었습니다. 대칭형이므로 왼쪽에 트위터 2개/스피커 2개, 오른쪽에 트위터 2개/스피커 2개가 있습니다. 채널 배열은 다음과 같습니다.
[0, 1, FrontRightTweeter, RearRightTweeter, LeftRearTweeter, LeftFrontTweeter, 6, 7, 8, 9, RightFrontSpeaker, RightRearSpeaker, LeftRearSpeaker, LeftFrontSpeaker, 14, 15]
크로스오버는 이미 처리되었으므로 왼쪽이 완전히 새로운 왼쪽으로 가고 오른쪽이 완전히 새로운 오른쪽으로 들어가도록 모든 스테레오 소스를 다시 매핑하고 싶습니다.
또한 수동 테스트를 통해 항상 소스 볼륨을 크게(약 90%) 줄여서 새 스피커 설정에 적합한 수준에 도달해야 했습니다. 그래서 나는 이 일을 즉석에서도 할 수 있어야 합니다.
.asoundrc 및 PulseAudio 모듈을 통해 ALSA를 사용하는 몇 가지 예를 살펴봤지만 모든 부분을 성공적으로 연결할 수 없는 것 같습니다. 특히 적은 채널 소스에서 더 많은 채널 소스로(보통 그 반대) . 나는 원하는 채널 재매핑과 볼륨 감소를 달성할 샘플 .asoundrc 또는 PulseAudio 모듈 구성(둘 중 더 합리적인 것)을 찾고 있습니다. 감사해요!
답변1
이는 플러그인 에 통합된 플러그인 ttable
옵션을 통해 가능합니다.route
plug
pcm.MyLittleDevice {
type plug
slave {
pcm "hw:1"
channels 16
}
ttable [
[ 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 ]
[ 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 ]
]
}
볼륨을 줄이려면 1
s를 더 작은 값으로 바꾸세요.
답변2
@CL님 감사합니다. , 이것이 제가 생각해낸 해결책입니다:
pcm.xcoreremapped {
type plug
hint {
show on
description "Remapping stereo to 8-ch speaker array."
}
slave {
pcm "hw:1,0"
channels 16
}
ttable [
[ 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 ]
[ 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 ]
]
}
0.05는 각 채널의 볼륨 레벨을 원하는 위치로 줄입니다. 구성을 더 쉽게 하기 위해 모든 채널을 다시 매핑했습니다. 올바르게 매핑하는 것에 대해 걱정할 필요가 없었고, 잠재적인 성능 영향을 모니터링하겠지만 사용하지 않는 채널을 다시 매핑해도 아무런 해가 없는 것 같았습니다.