导航:首页 > 操作系统 > androidspeex回音消除

androidspeex回音消除

发布时间:2025-05-10 20:56:31

① 求助android 处理 双通道实时对讲 消除回声

  1. 问题

  2. 我们在做语音实时对讲的时候往往会碰到一个瓶颈,这个瓶颈就是在不戴耳机的情况下会有很大的回音,本文就讨论如何解决。

  3. 解决方式:

  4. (1)其实有做了同一时间只有一端能够说或者听,类似于对讲机,这种虽然是实时的,但是体验不好,还不如微信;

  5. (2)两边戴上耳机,这样也没回音,但是也不可能一直带着耳机吧,而且有时还不只一个人听呢;

  6. (3)将这个回应消除,这个也是本文的重点。

  7. 3.speex回音消除

  8. 做回音消除有硬件消除和软件消除,这里采用硬件消除,通过三方开源库speex消除,对于speex可以查看下相关资料,我也是略懂,只是会用它而已;

  9. speex不仅仅可以做回音消除,它本身也是一个音频的编解码库,但是它只能解码自己编码的音频文件,但这在做语音通信已经足够了。

  10. 经过实际测试,在不开外音的情况下可以消除百分之八十以上的回音,但是开外音的话还是有回音,毕竟是软件消除,不可能那么干净的;

② 音视频入门-音频压缩技术(二)

音频压缩技术是保证信号在听觉不失真的前提码咐袜下,对音频数据信号进行尽可能大的压缩

压缩的主要方简和法就是去除采集到的冗余信息,所谓冗余信息就是超出人耳听觉范围的音频信号和被遮蔽掉的音频信号

遮蔽的音频信号包括 频域遮蔽 时域遮蔽

熵编码:哈夫曼编码、算术编码、香农编码

常见的迟激音频编码器包括:OPUS(文件小、压缩率高)、AAC(运用最广泛的音频编码器,IOS、Android 嵌入式)Ogg、Speex(解决了回音消除,在AAC之前比较受欢迎的音频编码器)、iLBC、AMR、G.711
编解码器总结:不同的场景使用的音频编码器可能不一样,一般情况下,AAC在直播系统中使用比较广泛、OPUS是比较新的编码器,WebRTC默认使用的是OPUS音频编码器、固话使用的是G.711系列

AAC(Advanced Audio Coding)由Fraunhofer IIS、杜比实验室、AT&T、Sony等公司共同开发、目前是取代MP3格式
最开始是基于MPEG-2的音频解码技术,MPEG-4标准出现后,AAC重新集成其特性,加入了SBR技术和PS技术
目前常用的规格有:AAC LC、AAC HE V1和AAC HE V2

AAC LC:(LOW Complexity)低复杂度规格,码流是128K,音质好
AAC HE V1:AAC LC + SBR(Spectral Band Replication),其核心思想是按频谱分保存,低频编码保存主要成分,高频单独放大编码保存音质
码率在64K左右
AAC HE V2:AAC LC + SBR + PS(Parametric Stereo)其核心思想是双声道中的声音存在某种相似性,只需要存储一个声道的全部信息,然后,花很少的字节用描述另一个声道在不同的地方

这种格式的特性是可以确定找到这个音频数据的开始,只能从头开始解码,不能从音频数据流的中间开始,这种格式常用在磁盘文件中

这种格式的特性是每一帧都有一个同步字,所以可以在音频流的任意位置开始解码,它类似于数据流格式

ADTS由7/9个字节组成 ADTS格式查询

-i:输入的多媒体文件
-vn:v表示的是video ,n表示的no 意思是过滤掉视频数据
-c:a : c表示的是codecs编码器,a表示的是audio,也就是指定的音频编码器
-ar:表示的是音频的采样率
-channels:声道数
-profile:对fdk-aac编码器设置了参数,对应的是a,也就是对音频的参数
最后3.aac也就是输出的aac格式的文件名称

③ 有哪些开源的回声消除算法

关于声学回声的算法其实在美国贝尔实验室60年代就有这方面的理论基础,但是受到处理器元件的计算速度限制,一直到上世纪90年代才投入正式运用;声学回声消除算法——分为线性消除和非线性消除两个部分,线性部分最多能抵消40dB,剩下的就要靠非线性来处理了(目前能处理到20dB),国际上处理AEC(声学回声)的及格线是45dB,这方面比较专业的国外公司有POLYCOM,国内的有朗谷、速嵌,浙大也有此方面的研究。背景噪音消除算法上世纪70年代就在使用噪声门的办法来处理,但是需要预先设置噪声门的阀值,遇到环境改变的情况,往往需要重新设置;第二种是采用麦克风阵列的算法来处理,典型的芯片有AUDIENCE(用于IPHONE4手机,华为、三星、摩托罗拉智能手机都在使用),国内的FORTMEDIA芯片,都是使用2-3支以上的麦克风来处理,一支麦克风来采集人声,另外的麦克风用于采集背景噪,在DSP中产生一个等幅反向的波形来抵消背景噪音;还有一个就是源自日本理化学所为日本机器人做的研究,语音分离技术,从控制论角度出发使用AI(人工智能算法)来区分噪音和语音(两种音源有不同的特征信号),使用自适应滤波滤除背景噪音,最大能消除15dB的背景噪音,使用单麦克风就可以实现消噪。。另外webrtc现在用的是以前GIPS的,挺好使。还有skype的回声消除做的不错,另外雅马哈和JBL的做的也不错,但是消耗非常大。另外还有speex与webrtc的aec,aecm再比如:OpenSSL,CyaSSL,jsCrypto,pidCrypt ,Botan 等等。

阅读全文

与androidspeex回音消除相关的资料

热点内容
代码编译后黑屏 浏览:6
程序员情侣写真 浏览:503
python3孪生素数 浏览:34
计算杨辉三角Python 浏览:402
linux目录重命名 浏览:194
算法设计的最终形态是代码 浏览:260
程序员社团招新横幅 浏览:238
拖鞋解压视频大全 浏览:887
租服务器主机链接软件叫什么 浏览:854
交叉编译工具的linux版本号 浏览:154
python开发应用软件 浏览:32
hdl综合器与c编译器的区别 浏览:899
编译原理最左推导代码 浏览:702
加密三 浏览:130
通过编译链接后形成的可执行程序 浏览:680
怎么用matlab编程 浏览:781
解压助眠小动物吃东西 浏览:341
外圆倒角60度编程视频 浏览:491
vcc编译没问题运行跳不见 浏览:750
ada编译成dll 浏览:473