首页 > 其他 > 详细

speex回声消除(AEC)的实际应用

时间:2014-02-24 23:44:32      阅读:3094      评论:0      收藏:0      [点我收藏+]

1.       回声消除算法原理

        回声的机理,为声音在对方通过播放设备播放出来,同时被采集设备采集进去,并传到自己的耳边。自己能够听到自己的声音传过来,即是回声。

2.     算法要求:

        speex回声消除算法的实现,对系统的同步要求非常高。并且windows系统、安卓系统都是多线程系统,播放数据的线程和采集数据的线程需要严格同步。其中一个受到系统干扰,将会大大影响回声消除的效果,因此平台的音频播放与采集需要重新设计,才能做到更好的回声消除效果。

3.     算法难点:

        speex回声消除算法除了对系统要求非常高之外,全双工通信也是难点之一。全双工通信,即能够消除单工回声的同时,本端语音不能被抑制。

4.     算法接口介绍     

 int speex_echo_state_init_mc(SpeexEchoState **echoInst, int frame_size, int filter_length, int nb_mic, int nb_speakers);

        frame_size:一次处理的数据长度(最好10ms)
        filter_length:回声路径长度(根据需求而设)

void speex_echo_cancel(SpeexEchoState *st, const spx_int16_t *rec, const spx_int16_t *play, spx_int16_t *out, spx_int32_t *Yout);

        rec:mic采集的数据

       play:播放设备播放的数据

 void speex_echo_state_destroy(SpeexEchoState *st);

       算法的销毁。

5.    通过深入的研究与反复的测试,speex的回声消除已经成功应用的多个平台上(pc、dsp、arm),能够很好的消除回声,并且保证非常好的全双工通信效果。

6.    目前成功案例中有高端的视频会议系统、voip、对讲机等解决方案,需要查看实际的数据效果,且有商业需求或技术交流,请联系:

        QQ:1376524494

        手机:15868194967

 (此文章原创,如发现有不经同意转摘,笔者将会追究一定的法律责任)

speex回声消除(AEC)的实际应用

原文:http://www.cnblogs.com/audio-signal/p/aec.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!