用c++设计音效插件 : 基础DSP理论
2022/6/20 5:20:28
本文主要是介绍用c++设计音效插件 : 基础DSP理论,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
翻译自: https://learning.oreilly.com/library/view/designing-audio-effect/9780429954313/xhtml/Ch10.xhtml#sec10_1
你想掌握滤波器的DSP基础理论有几个原因:了解滤波器的解剖结构有帮助,因为你想在新的滤波器设计出现时就能实现它,而不是等别人来编码;对理论的深入理解只能帮助你的编码策略;同样的DSP分析和数学模型可以应用于各种非EQ效果,如延迟、合唱、混响和压缩。为了直观地理解DSP理论的基础,你需要回顾一些数学和工程概念。
10.1 复数正弦波
数字滤波器的分析和设计使用正弦波作为其基本刺激函数。由于傅里叶表明信号可以被分解成正弦波,如果你知道系统对一堆不同频率的正弦波刺激的反应,你可以像上一章中手工绘制频率和相位响应。这类似于使用脉冲响应:因为输入信号是一列振幅不同的脉冲,如果你知道滤波器对单个脉冲的反应,你就可以算出它对多个脉冲的反应。在上一章取低通滤波器的脉冲响应时,你也用手做了这个。
每个人都熟悉正弦和余弦函数--正弦和余弦的关系是偏移90度,正弦函数的起点是0.0,而余弦的起点是1.0。在图10.1a中,你可以通过正弦和余弦的起始位置来识别它们的波形。
但在图10.1b中,你如何称呼一个在任意时间开始的正弦波?它是一个向后移位的正弦,还是一个向前移位的余弦?你必须小心回答,因为正弦和余弦有不同的数学特性:它们的导数是不一样的,当你试图将它们相乘或以复杂的方式组合时,通常会变得困难。在sin()或cos()函数的参数上加上一个相位偏移,然后当你用它们做代数和微积分时,就真的变成了一团糟。你需要的是一个以正弦方式表现的函数,它封装了正弦和余弦函数,并且在数学上容易处理。这样的函数是存在的,它被称为复数正弦体。
=== to be continue
这篇关于用c++设计音效插件 : 基础DSP理论的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享