저는 WebRtc 네이티브 AEC API를 사용하고 있습니다.WebRtcAec_Process() API (WebRtc 에코 모듈 내부)의 num_bands 매개 변수는 무엇입니까?
int32_t WebRtcAec_Process(void* aecInst, const float* const* nearend,
size_t num_bands, float* const* out,
size_t nrOfSamples, int16_t msInSndCardBuf,
int32_t skew);
AEC로 48K 샘플링, 단일 채널 (모노) 오디오가있는 오디오에서 에코를 취소하고 싶습니다.
하지만 왜 num_bands
이 필요한지 알 수 없습니다. num_bands
에 대해 1
값을 지정하면 AEC (치명적인 오류)가 발생합니다 (RTC_DCHECK_EQ(aec->num_bands, num_bands);
실패).
aec_core.cc
에서 48K에 대한
3
입니다
aec->num_bands
, 의 미리 계산 된 값을 확인 :
if (sampFreq == 8000) {
aec->num_bands = 1;
} else {
aec->num_bands = (size_t)(sampFreq/16000);
}
을 내가 num_bands
위해 3을 사용하는 경우에도, 내가 잘못된 액세스 충돌을 얻었다. 어떤 방법으로 모든 프레임을 3 부분으로 분할해야합니까?
맞아요. 나는 160 샘플을 통과했다. –