开源 基于Android的SIP电话-----Speex 回音消除 在android 平台
我的毕业论文题目是: 基于Android的移动VoIP高清视频通话系统的设计与实现
可以去CNKI下载察看,希望对大家有帮助
搞了将近一个月的时间,将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的延时(或许吧)。 回音还是会有一点,可能还是参数设置和同步队列的问题。期待解决
Update: 12/8/2012
很多朋友加我QQ询问是否可以提供SPEEX回音消除的代码或者如何使用回音消除,很抱歉,最近由于在写论文,因此没有时间回答各位的问题,等我将论文搞定,会把相关的设计思路与使用方法公布于网上,以供大家学习与交流,如果有问题,希望以邮件给来信,将问题写清楚,我会认真回复的
UPDATE: 3/8/2013
因为毕设已经完成,论文也送审了,所以,实现诺言,将我的代码共享。共享的项目为SIP电话,包含JSIP协议栈、语音编码库(G.711、G.722、Speex),语音处理(Speex)。代码仅做测试与研究所用,如果有疑问,欢迎大家一起讨论
“本着越是容易得到越不珍惜的道理,我不直接放地址了,请你们留言留下邮箱,或者致信给我”
https://code.google.com/p/jay-sip/ 不要再留邮箱了,谢谢
使用方法:首先点击init按钮,负责初始化SIP,接着可以注册SIP账户,选择呼叫对方用户,当对方接通,然后就可以打开MediaService,调用语音服务,进行语音通信
UPDATE:5/13/2013
最近受到了很多同学和朋友对本项目的关注,项目本身也是基于各个开源项目,本人才疏学浅,在实现过程中,难免有很多疏漏,对于本项目在所有的机型上面也未做过测试,仅在MOTO XT910上实现,局域网下可实时通话,对于回音也有了一定消除,现在收集到了一些问题,供大家参考,如果有答案,希望能够提供,本项目将于下月再次开放地址。
问题1 : 时延问题
问题2 :长时间通话断开 : linklist 非线程安全,建议使用ConcurrentLinkedQueue 。感谢Shawn4com的提出
问题3: 断续(choppy)
问题4: 当屏幕关闭,则问题3消失
如果您觉得我的工作对您有帮助,支持我的开源分享,请为我留言或捐助(1元也是支持)
开源 基于Android的SIP电话-----Speex 回音消除 在android 平台相关推荐
- Android实现拨打电话和发送短信,Android手机拨打电话、手动发送短信与自动拨打电话、自动发送短信(代码很简单哦)...
Android实现手动拨打电话,即点击后跳转到手机默认电话号码输入页面,可以将相应号码传送过去: Intent intent = new Intent(Intent.ACTION_DIAL, Uri. ...
- 回音消除 Speex AEC 录音放音同步对齐
一 .因为Windows不是实时操作系统,造成声卡的录音.放音他们之间有一定 时间的延时,而且这个延时的时间长每台电脑可能都不一样 .从而给回音 消除增加一定的难度,再加上房间的大小造成声音反射也不一 ...
- 【原创】开源基于STM32F429 SIP电话
本次分享内容: 开源STM32实现SIP电话,通过开发板连接到本地SIP服务器,然后 其它终端通过连接同一个服务器实现,开发板 到 PC/手机/板子进行语音通信的功能. 视频展示 https://ww ...
- linux命令行sip电话,基于Linux和MiniGUI的SIP电话终端设计
0 引言 随着VoIP的迅猛发展,越来越多的个人用户正在使用软件电话.IP电话通过VoIP系统拨打国内和国际长途,IP电话的需求量越来越大,同时,人们对IP电话的要求也越来越高,例如要求IP电话体积小 ...
- android speex AEC 回音消除
android speex AEC 回音消除. 有时候喇叭声音会被mic录制进去,就会产生回音数据,这是非常让人头疼的,所以去回音在音视频应用中非常重要. 现在主流的回音消除手段有android自带a ...
- ijk基于exo_github上十二款最著名的Android播放器开源项目
1.ijkplayer 介绍:Ijkplayer 是Bilibili发布的基于 FFplay 的轻量级 Android/iOS 视频播放器.实现了跨平台功能,API 易于集成:编译配置可裁剪,方便控制 ...
- 嵌入式linux sip电话开发,基于嵌入式Linux和MiniGUI的SIP电话设计
0 引言 随着VoIP的迅猛发展,越来越多的个人用户正在使用软件电话.IP电话通过VoIP系统拨打国内和国际长途,IP电话的需求量越来越大,同时,人们对IP电话的要求也越来越高,例如要求IP电话体积小 ...
- armbian设置_基于Armbian大变身!仅需10分钟 Phicomm N1 变身千元SIP电话呼叫中心!...
在armbian中安装Asterisk实现作为小型SIP电话呼叫中心功能,可以为100个终端以下的小型企业提供数字电话交换机功能,在某宝没有搜索到低于1000元的小型SIP呼叫中心交换机,安装完Ast ...
- android 电话回音消除,智能门铃中可视对讲的回音消除
原标题:智能门铃中可视对讲的回音消除 智能家居市场火爆已久,无论是大厂家.还是小品牌都在其中奋战,比较常见的智能家居有插座.门锁.音箱等,这些产品的竞争早已白热化,而在硝烟四起的智能家居领域,智能门铃 ...
最新文章
- App Store兼容性问题
- 熟练掌握python是什么概念-想要熟练掌握Python元组?你需要了解这10件应知事项...
- Nginx安装方式介绍
- 深入Java关键字null
- python如何进行格式化输出变量_Python变量格式化输出实现原理解析
- .NET BackgroundWorker的一般使用方式
- sqoop导出数据|Hive|HDFS和脚本编写
- 科大讯飞刘聪:如何持续保持语音识别技术的领先
- larvel mysql count,Laravel带条件查询多个count
- 世界首席WP(文字处理)布局绘制砖家横空出世
- win11安装IIS步骤—图解
- 无源蜂鸣器c语言编程,电磁式蜂鸣器驱动原理与简单蜂鸣器编程及电路设计案例...
- read.html5.qq.com,从QQ浏览器缓存文件中提取出完整的视频
- layer的move要怎么用
- 索尼rx1r人脸识别_一波三折的闲鱼翻车记——索尼RX1R入手记录
- 03比对与 bam 文件格式
- 打开项目时,出现“确保已安装项目类型(.wdproj)的应用程序 ”的解决办法
- 中国天气网全城市代码
- 算法题c++刷题记录之数据结构部分
- ARM平台安装oracle时出现错误:runinstaller: line 97 /db/database/install/.oui: cannot execute binary file