博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
speex回声消除功能测试
阅读量:3948 次
发布时间:2019-05-24

本文共 720 字,大约阅读时间需要 2 分钟。

分享一下我老师大神的人工智能教程!零基础,通俗易懂!

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

本文博客链接:,作者:jdh,转载请注明.

今天测试了speex中带回声消除模块,效果还可以。

测试环境:网络双工通话,16K采样16位编码,speex压缩以及解压.原来通话会听到线路另一端传过来的自己的声音,现在在程序中加入speex回声消除模块。

代码:

#include "speex/speex_echo.h"............#define SPEEX_FRAME_BYTE 640SpeexEchoState *echo_state speex_echo_state_init(320,5000);short Echo_Data[SPEEX_FRAME_BYTE / 2];//从网络上收到的语音包//读取声卡,将数据保存在input_frame0中......//回声消除speex_echo_cancellation(echo_state,input_frame0,Echo_Data,input_frame);//将回声消除后的数据input_frame通过网络发送......
speex_echo_state_init(320,5000);这个函数中320为每一个数据包的帧数,5000即为尾音长度,这个参数的设置将影响回声消除模块的处理效果。如果在一个房间里,最好是发射时间的1/3.我现在的情况是通过网络传输,大概估算回声出现的时间是在说话后1秒左右的时间,1s的帧数是320 * 50 = 16000,1/3即5333帧,取5000帧写入函数。

           

给我老师的人工智能教程打call!

这里写图片描述
你可能感兴趣的文章
如何分析Email模块接收、发送邮件失败的Log
查看>>
GPS如何进入省电模式
查看>>
GPS打开失败
查看>>
如何增加电量显示格数,并提示剩余电量?
查看>>
Key Launcher上底下的shortcut如何修改默认值以及如果修改Key Launcher上widget的默认显示顺序
查看>>
Java支持播放哪些multi media格式
查看>>
Audio播放完毕后设置时间无法正确获取
查看>>
打开了一个size不为零的文件,读取到的值却为零的一种分析和解决方法
查看>>
Aplix VM安装Java应用在main menu上不能显示自己的图标,而是显示一朵小花的解决方法
查看>>
Aplix VM安装第一个Java应用在main menu上看不到图标的解决方法
查看>>
java 在cosmos下修改设置,提示“setting are not modifiable”的解释
查看>>
JAD中常见字段的介绍。
查看>>
对于SIM menu update by OTA的解释
查看>>
如何去掉OTA provisioning的PIN码验证
查看>>
如何实现首次开机自动power on 蓝牙?
查看>>
Makefile文件中蓝牙相关的宏介绍
查看>>
如何屏蔽掉乱码的push消息
查看>>
登录一些安全网站,比如twitter/facebook,提示安全链接失败,或提示下载文件。
查看>>
如何去除launcher 上默认的 google search bar.
查看>>
Android如何绘制View
查看>>