증폭기/감쇠기 전용 Alsa 드라이버?

증폭기/감쇠기 전용 Alsa 드라이버?

ALSA에는 드라이버라는 개념이 있나요?오직증폭기/감쇠기용? 시스템 볼륨을 조정하면서 앰프 볼륨도 제어하고 싶습니다. 현재 사운드 카드 드라이버를 복사하고 앰프를 처리하는 코드를 추가할 수 있지만 전체 드라이버를 유지 관리하는 것은 피하고 싶습니다.

내 하드웨어 설정은 다음과 같습니다.

Soundcard [analogue]-> Amplifier [analogue]-> Speaker

Alsa는 이미 사운드 카드를 완벽하게 처리하고 있습니다. 앰프의 게인을 직접 제어하는 ​​코드가 있습니다. 사운드 카드 드라이버에서 제공하는 소프트웨어 감쇠기 대신 이를 사용하고 싶습니다. 이상적으로는 전체 사운드 카드 드라이버를 포크하지 않고도 가능합니다.

이것은 충실도가 높은 애플리케이션이 아니며 pulseaudio에 올바른 개념이 있는 경우 다른 접근 방식에 열려 있습니다. 나는 이미 사용자 공간에서 이 작업을 완벽하게 수행할 수 있습니다( volume(unsigned char val)볼륨을 올바르게 설정하는 fn이 있습니다 ).

제어 코드에 인터페이스를 작성할 수 있도록 증폭기/감쇠기를 개념적으로 인라인하는 방법이 있습니까?

답변1

개념은 존재합니다. 그러나 매우 제한된 하드웨어 장치 세트에만 서비스를 제공할 수 있습니다.

다음은 TAS575xM 기반 오디오 증폭기의 코드입니다.

SSM4567 기반 오디오 증폭기의 코드 및 구현 내용입니다.

시간을 투자할 생태계를 찾고 계시다면, 위 링크를 읽어보시면 알 수 있듯이,I2C반드시 후보가 될 것입니다.


참고: 이 목록은 완전한 것이 아닙니다. 내 지식에 의해서만 제한됨)

그런데 장치에 Alsa 드라이버가 없으면 pulseaudio가 자동으로 드라이버를 만들거나 위조하지 않습니다.

관련 정보