Speex 回音消除 在android 平台上 初见成效

来源:互联网 发布:淘宝宝贝属性怎么填 编辑:程序博客网 时间:2024/04/29 23:16

也不知和上一篇,你们二位是同一位仁兄不,所以,还是分着转载吧!


Speex 回音消除 在android 平台上 初见成效

搞了将近一个月的时间,将Speex的编码和解码做好了,发现还不错。

参考API,又尝试了回音消除,发现最新版还提供了用于在多线程中的playback()和capture(),有了这两个函数,就可以避免在线程中不能同步的问题。

结果,发现虽然进行了回音有了部分消除,但是,还是会一点啸叫以及回声,想来还是要做一点处理,譬如去噪,减小播放或者来音的增益。

在使用了speex提供的 preprocessor 函数后 ,原以为会更好的消除噪声,可视发现也没什么变化,反而可能会更弱,这是为什么

Update:5//12

在使用了Speex回声消除之后,以及添加了预处理的一些Api,并且优化了程序的结构,例如在接收数据然后用来播放的过程中,使用了Ringbuffer来保证数据包处理质量。

最后的结果:

1两个手机都打开扬声器 且放到最大,在不同的房间里,能够听到一声回声,即喂……喂

2两个手机不开扬声器,正常通话音量,在不同的房间里,没有回声。

因为最近比较忙,在做android上,Sip的实现内容,所以没时间贴出具体的语音处理传送项目的实现原理和步骤,等过段时间一定补上,如果有疑问,我也尽量回答

Update: 3/11

看了这篇文章:http://blog.csdn.net/zblue78/article/details/5841357 ,发现我的参数设置错误了

前几天,试了一下,把预处理里面的几个语音预处理功能都打开了,譬如去噪,VAD,结果发现确实效果不错,在没有人音的时候,确实噪声被去掉了,不过,

以前没有延时,因为加了很多处理,所以增加了开销,所以有了500ms的延时(或许吧)。 回音还是会有一点,可能还是参数设置和同步队列的问题。期待解决

Advertising

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
日志标题:《Speex 回音消除 在android 平台上 初见成效》
日志链接:http://www.wuphone.com/4999.html
博客名称:无锋网

0 0
原创粉丝点击