啸叫抑制算法 ------陷波器 非常感谢好友 @Randolph 、@泥沙的帮助,本文分享的简介很多都是来自于两位的讨论:陷波器算法原理: 设计陷波器,降低啸叫频率点处增益,以破坏啸叫产生的增益条件,来达到啸叫抑制的效果。陷波器算法模块: 1、啸叫点检测:这是陷波器的最重要的模块,看过很多论文,大部分论文围...
啸叫抑制方法简介 啸叫场景: 扩音系统中,特别是会议、教学、ktv等场景,提高扩音系统音量,啸叫出现的概率非常高,啸叫的产生属于正反馈,音响的声音重新被麦克风拾音,产生自激,导致啸叫,啸叫不仅会影响听觉,也会烧坏音响设备。啸叫抑制方法: 硬件:1、使用低灵敏度、高指向性的麦克风。 2、音响使用非指向性,现场布局时,避免音响正对麦克风场景。...
深度学习抑制啸叫 以下对比仅来自个人算法,算法不同效果肯定也不一样,仅供参考一、关于啸叫,根据声音系统可以分为两种情况来对比传统和深度学习去啸叫的效果:1、一种是扩声系统,比如大型演播厅,KTV,本地会议扩声系统等,这种场景下的啸叫正反馈自激时间短。2、另一种就是录播系统,比如在同一个房间打电话或者游戏开黑导致的啸叫,这种啸叫自激往往是一段一段。二、传统啸叫的处理方法:1、移频:这个方法对...
https 实现sdk appid + key 认证 整体框架 最近公司准备对外出售sdk,简单对登陆验证的做了一个测试服务器,具体架构如下:https 协议是在http 应用层的基层上加上了安全层ssl 的协议。https 通过openssl 生成的key 以及证书来实现服务器以及客户端的加密。加密内容包括ip以及发送内容。以下介绍主要框架结构1、客户端:libcurl +证书pem(第三点生成),注意默认的libcurl 不支持http...
webrtc 读写文件操作4------- 录音播放文件 1、接口函数:两个函数的主要区别 主要是写流还是写文件。其他参数:采用的编解码个格式。int StartRecordingPlayout(int channel, const char* fileNameUTF8, CodecInst* compression = NULL,...
webrtc 读写文件操作3------- 录音mic 文件 1、接口函数:两个接口函数的区别还是传入的是文件名还是流。参数 还包括使用的编码格式。 int StartRecordingMicrophone(const char* fileNameUTF8, CodecInst* compression = NULL, int...
webrtc 读写文件操作2------- 播放文件发送给远端 1、接口函数:两个接口函数的主要的区别跟本地播放文件一样,主要是传入的是文件名还是流文件。传入参数还有就是是否需要循环播放、是否需要和mic 采集混音以及文件使用的编解码、以及音量增益控制。 int StartPlayingFileAsMicrophone(int channel, const char fileNam...
webrtc 读写文件操作1------- 本地播放文件 1、接口函数如下:两个函数的区别主要是一个是传入函数名,一个是传入数据流。loop 表示要不要循环播放,format 表示采用的。 int StartPlayingFileLocally(int channel, const char fileNameUTF8[1024], ...
python 数据处理4----print 耗时问题 1、python 调试代码的时候,经常在各个地方加入大量的print 来监测每一步的输出,但是对于大批量数据处理时,print 往往增加几十倍的耗时,严重影响效率。所以最好养成调试的时候print ,调试完成后,需要核实并注释没有必要的print的习惯。这也是最近自己猜到的坑!...
python 数据处理3----读取txt 一列数据写入excel 文件 我们在做大数据测试分析的时候,经常需要用到excel 统计分析数据,以下例子就是python 调用xlwt 写excel 文件:import sysimport randomimport timeimport xlwtimport codecsdef Txt_to_Excel(ws,inputTxt,start_row,start_col): fr = codecs.ope...
深度学习降噪 与回声消除aec 配合的相关分享 1、回声消除aec 与降噪ns的关系:a、回声消除与ns 的前后关系:回声消除aec 与降噪算法之间的衔接问题一直存在,由于回声消除算法的建模基本都是自适应滤波模拟回声路径,为了尽可能缩短路径,确保自适应滤波的准确性,一般来说aec 都会在ns 之前使用。b、当前aec与ns如何搭配:aec 目前大部分aec 算法单靠自适应滤波是很难完全去除回声,因为线程的波动,回声路径的变化等原...
python 数据处理2----如何批量对数据进行打乱并重命名 可以通过增加多位随机数字,重复执行以下python 代码代码,然后在执行之前分享的python数据处理1--对批量数据重名https://blog.csdn.net/u012514944/article/details/89705504就可以做到了! for category in os.listdir(dirname): print(category) catdir =...
python 数据处理1-----对文件下的所有文件批量重命名 以下代码实现把文件下的所有文件,以数字1~n 的方式重命名: for category in os.listdir(dirname): print(category) catdir = os.path.join(dirname,category) if not os.path.isdir(catdir): continue files = os.listdir(catd...
针对rnnoise vad 分享 1、首先,提取特征点,通过简单的能量的方式来计算vad,这是很有效的方式,因为语音源就已经确保都是非常干净的语音。从测试的结果来看,准确率也还可以,但是并没有想象的那么高,而且很明显存在滞后以及尾音超前,所以就决定了vad 的效果不会很好。2、在训练模型时,正因为vad 的效果不会太好,所以设计的训练单元也就不是很多,对于vad 的输出,特别是低信噪比的输出结果就很不理想,在训练过程,针对va...
降噪主观测试,噪声选择的思考 前面分析了语音的选择,对于语音的选择,更具普遍性,对噪声的选择,往往要根据所使用的环境,降噪的针对性来选择,当然也有一些比较通用的,下面主要是谈下自己个人的理解:1、算法设计的时候,针对那类噪声来做的,就选择那类噪声与不同的语音来做测试。2、带噪语音信噪比:带噪语音信噪比,需要覆盖所有的场景的信噪比来比较。3、噪声的平稳性:测试相对不那么平稳的噪声源处理的效果,注意算法的收敛性。4...
降噪测试过程中,测试语音选择的思考 最近一直在测试降噪效果,也花了很多时间,借鉴同事以及资料,自己通过测试比较,有一些感悟,分享出来,希望音频算法的同行一起讨论。降噪效果测试,正常情况我们会更多注重在噪声分类上面,往往忽略了语音音素的选择,这里我分享下,其实音素在降噪效果的比较中,我们应该要重视起来,以下我先来谈谈一些音素的区别以及降噪的影响:1、几种音素的分类:浊音:指发音时声带有震动的音素,比如au,o。清音:与...
降噪效果评测 降噪算法评测一般采用如下方法:1、TNLR 噪声总抑制量,越大越好。2、NPLR 噪声能量抑制量,越好大越好。3、SNRI 信噪比提升dB,越大越好。4、DSNsnri与nplr之差,越小越好。5、pesq 主观可懂度评分。6、瞬时噪声,主要依靠测试文件,主观测试听。7、测试训练必须包含所有辅音和元音!8、其他评测方法3quest 工具等。欢迎大家加音频...
回声消除aec 效果评测 目前比较通用的评测方法:1、erle :麦克风信号能量/回声消除剩余能量的比值:ERLE = 10log (E[r(n)^2]/E[(r(n)-r1(n))^2]) dBr(n) 表示麦克风采集采样数值。r1(n) 表示回声消除的采样数值 r(n)-r1(n) 即为回声消除输出采样数值。2、dist 失调:数字越小,表示收敛越好,主要针对自适应滤波器来做。...
深度学习 batch_size epoch 优化 batch_size:可以理解为批处理参数,它的极限值为训练集样本总数。epoch 指深度学习过程中,所有数据迭代的次数。batch_size 太小,算法有可能需要更多epoches 才能收敛。 随着 batch_size 增大,处理相同数据量的速度越快。 随着 batch_size 增大,达到相同精度所需要的 epoch 数量越来越多。 由于上述两种因素的矛盾,batch_siz...