- 博客(6)
- 收藏
- 关注
原创 分段卷积算法
实时音频处理中,分段卷积算法尤其重要。由于卷积的时域计算量非常大,而 FFT 乘法相当于时域圆周卷积,因此主流方法是使用FFT计算线性卷积。将圆周卷积转换为线性卷积用到的方法包括重叠相加法和重叠保留法。然而,目前大多数的卷积算法介绍是基于对输入音频流分段处理,而滤波器不分段处理。假如滤波器非常长,这种方法仍然有较大计算量,影响实时性。本篇文章实现了对输入信号和滤波器均分段的利用重叠保留法实现的频域卷积算法。
2023-04-01 12:04:50 425 2
原创 scipy函数:scipy.optimize.fminbound 函数分析
为什么要做这个分析?我试图用c语言翻译scipy.signal中的iirfilter函数,其中用到了fminbound。当使用我自定义的求极小值函数时,得到的传递函数系数值在小数点后四到五位有误差,但是得到的滤波器幅频响应差别很大,很不理想。强行翻译fminbound后无法正确输出。因此还是决定先理解,再编程。~~可把宝宝为难坏了。~~scipy.optimize.fminbound官方说明scipy.optimize.fminbound参数分析def fminbound(func, x1, x
2021-09-18 10:47:44 2229 3
原创 c语言 获得数组最大k个数的索引的一种思路
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-08-11 09:02:02 869
原创 python生成动态链接库dll并在c语言中调用
参考文章:使用python创建生成动态链接库dllC/C++:Windows编程—调用DLL程序的2种方法编写cython文件run.pyx:cdef public str_add(str1,str2): return int(str1) + int(str2)在run.pyx目录下运行命令:cython run.pyx生成run.c和run.h。创建VS dll项目,名为py_dll,将run.c和run.h添加到项目中。修改项目配置。我选择的解决方案配置为Release |
2021-06-01 17:44:28 2713 1
原创 C语言读取wav文件
参考代码:C语言解析WAV音频文件代码的思路是编写wave.h,根据wav文件结构定义struct。大佬的执行结果为然而我在运行代码的时候遇到的问题:可以看到fmt长度为18,然而还是按照16来处理,导致读取data的时候只读取到后两位。第一次尝试:首先分析文件:WAVE PCM soundfile format中可以看到,在fmt的末尾可能出现ExtraParamSize 和 ExtraParams。在此文件中ExtraParamSize = 0,因此没有Extra.
2021-05-13 11:48:26 2537 2
原创 2021-5-11 Nonebot转发discord消息的想法
1. 将discord bot作为nonebot的一个插件加载效果:转发可以实现,但是discord bot的运行是个死循环,导致nonebot的其他插件全部失效结论:可以专门开一个小号用于转发,或者将discord bot加入asyncio多线程(怎么做?)aiocqhttp的官方文件中有一项是将 bot 运行在已有的事件循环中。但是我不会 :(2. discord webhook效果:问题非常大。可以直接使用 requests.post(url=webhook_url, data={
2021-05-11 17:14:40 1144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人