2016-12-12 5 views
0

Я использовал aecm(webrtc) на своем встроенном устройстве ARM для голосовой связи. Теперь я пытаюсь изменить на aec для эхоподавления с двойным разговором.Использование AEC (webrtc) вместо AECM (webrtc)

Это просто в aecm:

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

data(near, far, out) И все форматы 16bit подписаны коротка. Однако простое изменение функций от WebRtcAecm_* to WebRtcAec_* и подписанных коротких данных для поплавка (деленное на 32768) не сработало.

Я попытался найти несколько примеров в audio_processing unittest, но не смог найти. Что мне не хватает?

ответ

0

WebRTC AEC просто сравнивает Buffer Farend и NearBuffer, извлеченные из Mic, и удаляет Echo в NearBuffer на основе Farend. Итак, Echo, которое вы хотите очистить, должно существовать в Farend Buffer, тогда AEC может удалить его. Проверьте задержку работы устройства. В основном, буфер Farend поддерживает только длину 128 м/с.

Смежные вопросы