Ofono와 함께 PulseAudio 에코 제거를 사용하는 방법

Ofono와 함께 PulseAudio 에코 제거를 사용하는 방법

저는 소형 임베디드 장치를 완전한 기능을 갖춘 A2DP+HFP 수신기로 바꾸려고 합니다.

모든 것이 작동하고 있지만 module-echo-cancel함께 작동하게 하는 방법을 찾는 데 정말 어려움을 겪고 있습니다.ofono

내가 가지고 있는 것은 다음과 같습니다: - PulseAudio 7.1 - Ofono 1.15

저는 헤드리스 시스템을 실행하고 있으므로 모든 것이 루트 사용자로 실행됩니다.

구성 파일에서 로드를 시도했는데 module-echo-cancel모듈이 로드되었지만 호출할 때 새 싱크가 추가되고 새 소스가 추가되지만 module-echo-cancel자동으로 추가되지 않습니다.

module-echo-cancel호출을 설정하고 새 싱크와 소스를 추가한 후 수동으로 로드를 시도했습니다 . 이렇게 하면 새로운 가상 echo_cancelled 소스와 싱크가 생성되지만 유휴 상태에 있다가 일시 중지되며 사운드는 원래 생성된 싱크/소스를 계속 통과합니다.

연결을 설정한 후 모듈을 나열하면 다음이 표시됩니다.

Module #21
        Name: module-loopback
        Argument: source=bluez_source.30_5A_3A_19_C0_5B.echo-cancel sink_dont_move=true source_output_properties=media.role=phone
        Usage counter: n/a
        Properties:
                module.author = "Pierre-Louis Bossart"
                module.description = "Loopback from source to sink"
                module.version = "7.1"

Module #22
        Name: module-loopback
        Argument: source=bluez_source.30_5A_3A_19_C0_5B source_dont_move=true sink_input_properties=media.role=phone
        Usage counter: n/a
        Properties:
                module.author = "Pierre-Louis Bossart"
                module.description = "Loopback from source to sink"
                module.version = "7.1"

이 모듈을 제거하고 반향 제거 모듈을 로드한 다음 루프백 모듈을 로드하려고 하면 사운드가 장치 스피커에서 들리지 않고 전화기로 다시 반송됩니다.

나는 이것을 시도했지만 그것도 도움이 되지 않았습니다.

PULSE_PROP="filter.want=echo-cancel" ofonod

Ofono의 반향 제거 기능을 활성화하는 방법에 대한 제안 사항이 있습니까?

감사해요.

답변1

이것이 도움이 될지는 확실하지 않지만 다른 사람에게 아이디어가 없는 경우:

나는촐라 범선Linux 기반으로 Pulseaudio와 Ofono를 사용합니다.

오디오 설정이 복잡해서 완전히 이해하지 못합니다. 무엇보다도 module-intended-roles캐릭터 속성(예: 전화, 음악), 라우팅 테이블 /etc/pulse및 아직 발견하지 못한 기타 항목을 할당하는 데 사용됩니다 .

끝에 /etc/pulse/default.pa다음 줄이 있습니다.

### Modules to allow autoloading of filters (such as echo cancellation)
### on demand. module-filter-heuristics tries to determine what filters
### make sense, and module-filter-apply does the heavy-lifting of
### loading modules and rerouting streams.
load-module module-filter-heuristics
load-module module-filter-apply

따라서 이 모듈에는 반향 제거 기능이 활성화되어 있다고 가정합니다. 이러한 모듈의 소스 코드를 살펴보면 올바른 사용에 대한 몇 가지 힌트를 얻을 수 있습니다.

관련 정보