小奥的学习笔记

  • Home
  • Learning & Working
    • Speech Enhancement Notes
    • Programming language
    • Computer & DL
    • MOOC
  • Life
    • Life Time
    • Thinking & Comprehension
    • Volunteer
    • Plan
    • Travel
  • Footprints
  • GuestBook
  • About
    • About Me
    • 个人履历
    • 隐私策略
语音处理学习笔记

AEC个人学习串讲之AEC3:时延对齐、线性处理、非线性处理

计算参考信号和采集信号的时延:GetDelay() AEC3中的时延估计算法是使用计算滤波器能量最大块来作为延迟估计值,它是当滤波器收敛到一定程度时,计算所有滤波器系数的能量,取峰值的系数(tap)对应的delay就是对齐需要的delay。它是由步长为0.7的5个时域的NLMS滤波器组成,每个滤波器默认为32个块,每个块有16个样点,总计有32*16=512个样点,5个滤波器理论上共有512*5=2560个点,但实际上5个滤波器在时域上互相重叠8块(即输入的信号在时间上存在重叠),所以实际上5个滤波器可以估计256…

2021年10月17日 2条评论 5225点热度 8人点赞 davidcheung 阅读全文
语音处理学习笔记

AEC个人学习串讲之AEC3:概述及非核心部分

整体框图 参考信号:送往时延估计、AEC的状态计算 采集信号:送往时延估计、线性滤波器、AEC的状态计算 线性滤波器使用时延对齐后的参考信号和采集信号进行处理;线性滤波器处理后的结果送往NLP模块,最终得到处理结果。 类调用关系图 EchoCanceller3(入口) AnalyzeRender 该部分只是将AudioBuffer类型的参考信号insert到render_transfer_queue_,这是一个swapqueue,数据从结尾insert,从开头remove,这里没有什么可以说的【当然insert之前…

2021年10月17日 0条评论 3538点热度 8人点赞 davidcheung 阅读全文
语音处理学习笔记

AEC个人学习串讲之fullaec.m:非线性处理(下)

取消大小周了,周末有了更多的时间来自己学习。给自己立个flag,两周内把fullaec.m里面的线性滤波器、NLP等部分弄懂,发博客;再2~3周的时间看webrtc的AEC3的代码,同样发博客整理;然后再2~3周的时间看一下speex里面的AEC算法。 本次继续更新非线性处理部分。在学习过程中,参考了《实时语音处理实践指南》相关内容和网上有关博客的内容,在此对相关作者表示感谢。 非线性处理部分 计算完hnled,接下来开始计算ovrd。 hnlLocalMin是对hnlPrefAvgLow的最小值跟踪,其初始值为1…

2021年8月22日 1条评论 2238点热度 3人点赞 davidcheung 阅读全文
语音处理学习笔记

AEC个人学习串讲之fullaec.m:非线性处理(上)

取消大小周了,周末有了更多的时间来自己学习。给自己立个flag,两周内把fullaec.m里面的线性滤波器、NLP等部分弄懂,发博客;再2~3周的时间看webrtc的AEC3的代码,同样发博客整理;然后再2~3周的时间看一下speex里面的AEC算法。 本次更新非线性处理部分。在学习过程中,参考了《实时语音处理实践指南》相关内容和网上有关博客的内容,在此对相关作者表示感谢。 非线性处理 非线性处理的主要思想: WebRTC是利用信号之间的频域相干性c(0<=c<=1)来衡量误差信号中残留回声的大小的。首…

2021年8月15日 2条评论 2843点热度 4人点赞 davidcheung 阅读全文
Life Time

AEC个人学习串讲之fullaec.m:线性处理部分

取消大小周了,周末有了更多的时间来自己学习。给自己立个flag,两周内把fullaec.m里面的线性滤波器、NLP等部分弄懂,发博客;再2~3周的时间看webrtc的AEC3的代码,同样发博客整理;然后再2~3周的时间看一下speex里面的AEC算法。然后再2~3周吃一吃公司的算法,但是这个整理只是自己学习用,不会做任何公开发布。 所以下面开始第一个flag的内容。这周只有空看完了线性部分,仿佛没有看到这里面有DTD的部分,所以先发一下线性部分,后面整理一下非线性部分。在学习过程中,参考了《实时语音处理实践指南》相…

2021年8月8日 1条评论 2012点热度 0人点赞 davidcheung 阅读全文
Life Time

我的一点反思和想法

工作也马上9个月了,这九个月以来一直忙忙碌碌,都没有时间反思和思考下自己,总是在做事情,没有沉淀,感觉很不好,正好昨天谈绩效,自己也反思了一下,想总结下自己,为未来几个月自己要重点改进的地方指明方向。 第一点感觉自己还是太飘,就是说流于形式。虽然基本每个月坚持写自己的总结和计划,但是我感觉更像是应付公式,只是简单记录一些东西,没有目标和方向,我感觉这对刚刚入职的我来说很不好。每天回来很累不应该是我的理由,我感觉应该加紧一些,把自己绷紧一些,不要被事情催,而是自己主动去安排事情。 第二点感觉自己还是太有侥幸心理。每个…

2021年4月10日 0条评论 1298点热度 1人点赞 davidcheung 阅读全文
Study-notes

Google Test Mock学习笔记(上)

什么是gmock? 一个mock对象实现了与真实对象相同的接口,但是它让您在运行时指定如何使用它以及应该做什么(包括它应该调用什么方法,以什么顺序调用方法,调用多少次,用什么参数,返回什么值等)。 当你使用gmock的时候:首先你要用一些简单的宏描述你希望mock的接口,这些宏将拓展为mock类的实现;其次要创建一些mock对象,并且使用直观的语法指定其期望或者行为;最后编写使用mock对象的代码,gMock将会在出现违反预期的时候立即捕获。 学习第一个gmock测试 写mock类 假设原来有一个类为 那么如何用g…

2021年2月16日 1条评论 4624点热度 1人点赞 davidcheung 阅读全文
12345…114
搜索
欢迎关注我的个人公众号
最新 热点 随机
最新 热点 随机
DEEPFILTERNET:一种基于深度滤波的全频带音频低复杂度语音增强框架 奥地利匈牙利九日游旅程 论文阅读之Study of the General Kalman Filter for Echo Cancellation 小奥看房之鸿荣源珈誉府 杭州往返旅途及西溪喜来登和万怡的体验报告 2022年的第一篇碎碎念
奥地利匈牙利九日游旅程DEEPFILTERNET:一种基于深度滤波的全频带音频低复杂度语音增强框架
关于更新github、微信公众号和博客周期的说明 C++中的cin, cin.getline, getline等混合使用时不能输入直接执行下一行的问题 S.V Beijing Travel 9:Tiananmen Square 高一“一四”计划安排 Python语言程序设计(第9周)知识点整理 吴恩达深度学习课程 DeepLearning.ai 编程作业(1-3)
标签聚合
生活 python学习 Java 学习 linux Python 高中 leetcode 算法 鸟哥的linux私房菜
最近评论
davidcheung 发布于 5 个月前(02月09日) The problem has been fixed. May I ask if you can s...
tk88 发布于 5 个月前(02月07日) Hmm is anyone else having problems with the pictur...
cuicui 发布于 9 个月前(10月20日) :wink:
niming 发布于 10 个月前(09月19日) 同级校友,能刷到太巧了
davidcheung 发布于 2 年前(08月16日) 我得找一下我之前整理的word文档看一下,如果找到了我就更新一下这篇文章。
Nolan 发布于 2 年前(07月25日) 您的笔记非常有帮助。贴图不显示了,可以更新一下吗?
davidcheung 发布于 3 年前(06月19日) 到没有看webrtc的代码。现在主要在看我们公司的代码了。。。只是偶尔看一看webrtc的东西。。。
aobai 发布于 3 年前(03月13日) gain_change_hangover_ 应该是每三个block 只能够调整一次,这样保证每帧...
匿名 发布于 5 年前(12月30日) 烫
小奥 发布于 5 年前(12月12日) webRTC里面的NS本身我记得就是在C++里面呀

COPYRIGHT © 2025 小奥的学习笔记. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

陕ICP备19003234号-1

鲁公网安备37120202000100号