2016-12-12 2 views
0

내 ARM 기반 임베디드 장치에서 음성 통신을 위해 aecm(webrtc)을 사용했습니다. 자, 더블 토크 에코 제거를 위해 aecmaec으로 변경하려고합니다.AECM (webrtc) 대신 AEC (webrtc) 사용

WebRtcAecm_Create()->WebRtcAecm_Init()->WebRtcAecm_BufferFarend()->WebRtcAecm_Process(). 

을 그리고 모든 data(near, far, out) 형식은 16 비트 짧은 서명은 다음과 같습니다

aecm에 간단합니다. 그러나 기능을 WebRtcAecm_* to WebRtcAec_*에서 부호있는 짧은 데이터를 부동 (32768로 나눈 값)로 변경하면 작동하지 않습니다.

나는 audio_processing unittest에서 몇 가지 예제를 찾으려고했지만 찾을 수 없습니다. 내가 뭘 놓치고 있니?

답변

0

WebRTC AEC은 마이크에서 추출한 Farend Buffer와 NearBuffer를 비교하고 Farend를 기반으로 NearBuffer에서 Echo를 제거합니다. 따라서 Farend Buffer에 Echo가 있어야합니다. 그러면 AEC가 Farend Buffer를 제거 할 수 있습니다. 장치 대기 시간을 확인하십시오. 기본적으로 Farend 버퍼는 128m/s의 길이 만 유지합니다.