Speex AEC

该博客介绍了如何利用Speex开源库编译并初始化回声消除(AEC)类,包括设置帧大小、滤波器长度和采样率,并展示了如何执行AEC操作。通过创建CSpeexEC类,调用speex_echo_state_init和speex_preprocess_state_init进行初始化,然后在DoAEC方法中执行回声消除。
摘要由CSDN通过智能技术生成
  
  
  
下载Speex开源库编译https://www.speex.org/,不做详述!
//------------------------------头文件---------------------------------//

#ifndef SPEEX_EC_H
#define SPEEX_EC_H

#include <stdio.h>
#include <stdlib.h>
#include <speex/speex_echo.h>
#include <speex/speex_preprocess.h>

class CSpeexEC
{
public:
	CSpeexEC();
	~CSpeexEC();
	void Init(int frame_size=160, int filter_length=1280, int sampling_rate=8000); 
	void DoAEC(short *mic, short *ref, short *out);

protected:
	void Reset();

private:
	bool      m_bHasInit;
	SpeexEchoState*   m_pState;
	SpeexPreprocessState* m_pPreprocessorState;
	int      m_nFrameSize;
	int      m_nFilterLen;
	int      m_nSampleRate;
	spx_int32_t*      m_pfNoise;
};

#endif


/
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值