草庐IT

音频基础学习二——声音的波形

山河君 2023-04-13 原文

文章目录


前言

上一章记录了声音是如何产生的,以及声音的一些基本的特性和术语,我们知道声音是由物体振动而产生的一种波。例如以下是小提琴、小号、长笛、双簧管的波形:

那么为什么他们的波形是长这样呢?本章内容会深入解析声音的波形是由何而来,而在进入内容之前,以下这段话会在本文中出现多次:
重要的事情说三遍:
傅立叶原理表明:任何重复的波形都可以分解为含有基波频率和一系列为基波倍数的谐波的正弦波分量。
傅立叶原理表明:任何重复的波形都可以分解为含有基波频率和一系列为基波倍数的谐波的正弦波分量。
傅立叶原理表明:任何重复的波形都可以分解为含有基波频率和一系列为基波倍数的谐波的正弦波分量。

先以一张图来解释上面这句话的意思,以下是几段波的合成,就成了我们经常看到的波:

其实如果只是想了解一下,那么看完前言其实就可以了;如果对于正弦波是什么有一定了解的那么建议直接看第三段,当如如果一点也不了解的,笔者在这里会很详细的进行介绍。

|版本声明:山河君,未经博主允许,禁止转载


一、声音的基础波形

声音的基础波形典型的有以下几种:

1.正弦波

正弦波(Sine Wave)是频率成分最单一的一种波形。这种波形是数学上的正弦曲线。它听起来清楚明了,只包括第一和声,是一种基础音调

2.三角波

三角波的形状和横轴一起构成了两个三角形,常被认为是正弦波,因为滚降速度过快,所以听起来更加柔和

3.锯齿波

锯齿波的波形形状与三角波较为相似,但是锯齿波的波形中存在着突变的点。所以听起来更加的清晰明亮。

4.方波

方波是一种非正弦曲线的波形,理想情况下的方波只有“高”和“低”两个值。所以听起来比较空旷。

二、正弦波

为什么把正弦波单独拎出来,是因为它是比较重要的一种波形:
傅立叶原理表明:任何重复的波形都可以分解为含有基波频率和一系列为基波倍数的谐波的正弦波分量。

1.什么是正弦

复习一下初中数学:正弦函数是三角函数的一种,三角函数分为正弦、余弦、和正切。在直角三角形中,任意一锐角∠A的对边与斜边的比叫做∠A的正弦。

θ是要求的角度,角度的对面的边是对边,而三角形最长的边是斜边,另一个边是邻边。

三角函数sin cos tan的定义是:

  • sinθ=对边/斜边 = b / c

  • cosθ=邻边/斜边 = a / c

  • tanθ=对边/邻边 = b / a

2.什么是正弦波和正弦曲线

百度百科上解释:
正弦波是频率成分最为单一的一种信号,因这种信号的波形是数学上的正弦曲线而得名。

现假设一个函数为 y=sin X,当 X 分别取 0、30、60、90、120、150、180 时(单位:度),Y对应的数值分别为 0、0.5、0.8660、1、0.8660、0.5、0。在坐标系中画出对应的点就可以得出正弦波的图像了。该图像有一个特点,就是周期性变化,例如 X = 0 时,Y = 0,X = 180 时, Y = 0;若 X 取值【180~360】,则我们可以看到,图像正好与原来的相反(在第四象限)。这就是正弦波的图像了。

直观的感受一下正弦曲线是什么样子的:
x为0角度:

当x为30度时:

当x为60度时

当x为90度时:

整体看起来如下

-----------图片来自知乎遇见数学-----------

我们可以很直观的看到,曲线y轴的坐标,和圆心的角度、速度、半径有着某种直接的联系。

三、正弦波与声音

傅立叶原理表明:任何重复的波形都可以分解为含有基波频率和一系列为基波倍数的谐波的正弦波分量。

1.角频率

角频率表示单位时间内变化的相角弧度值

再深入了解第二段第二节正弦曲线的

如果像图片里一样:已知圆的半径是x,频率为f,那么在t时,y的值为

那么有公式:y = x * sin(f * t * 360°)

又知道转一圈也就是一个周期(f * t = 1),f = 1 / t; 又知道转一圈,角弧度转了2π, 所以角频率:w = 2π / t = 2πf

又由于每一个周期都是360°,也同样是2π, 所以又有公式:y = x * sin(2πft)

2.基波和谐波

基波:

又叫基频,复合波(多个波的合成)的最低频率分量,也就是说周期最大(频率最小)且幅度最大的那个就是基波。基波决定了声音的音调。

谐波:

是指对周期性非正弦交流量进行傅里叶级数分解所得到的大于基波频率整数倍的各次分量,其频率比信号的主要频率高。
例如基波基频为50Mhz,则谐波出现在100Mhz,200Mhz…(基频的整数倍),音频中,谐波的作用就是美化声音赋予色彩。

图解

下面这张图片分别是基波、二次谐波、三次谐波的图片

3.波形的合成

上面已经得出来一个公式:y = x * sin(2πft),而波的合成就是当t相同时,y的相加

下图是半径为1,频率为100和频率为200的波进行相加后的结果:

三角波的形成:

-----------图片来自Dezeming博客-----------
方波的形成:

-----------图片来自Dezeming博客-----------

当子项无穷多以后,叠加出来的效果就是方波:

波形相加实际就是如下图画出:


总结

以上是对声音的波形是如何形成的做了详细的介绍,其中涉及到大量的数学知识,看起来还是比较绕脑,但个人觉得还是比较有趣的。
如果对您有所帮助,请帮忙点个赞吧!

有关音频基础学习二——声音的波形的更多相关文章

  1. ruby - Ruby 中的波形可视化 - 2

    我即将开始一个将录制和编辑音频文件的项目,我正在寻找一个好的库(最好是Ruby,但会考虑Java或.NET以外的任何库)以进行实时可视化波形。有人知道我应该从哪里开始搜索吗? 最佳答案 要流入浏览器的数据量很大。Flash或Flex图表可能是唯一能提高内存效率的解决方案。Javascript图表往往会因大型数据集而崩溃。 关于ruby-Ruby中的波形可视化,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

  2. 屏幕录制为什么没声音?检查这2项,轻松解决 - 2

    相信很多人在录制视频的时候都会遇到各种各样的问题,比如录制的视频没有声音。屏幕录制为什么没声音?今天小编就和大家分享一下如何录制音画同步视频的具体操作方法。如果你有录制的视频没有声音,你可以试试这个方法。 一、检查是否打开电脑系统声音相信很多小伙伴在录制视频后会发现录制的视频没有声音,屏幕录制为什么没声音?如果当时没有打开音频录制,则录制好的视频是没有声音的。因此,建议在录制前进行检查。屏幕上没有声音,很可能是因为你的电脑系统的声音被禁止了。您只需打开电脑系统的声音,即可录制音频和图画同步视频。操作方法:步骤1:点击电脑屏幕右下侧的“小喇叭”图案,在上方的选项中,选择“声音”。 步骤2:在“声

  3. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  4. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  5. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  6. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  7. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  8. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  9. ruby - 我正在学习编程并选择了 Ruby。我应该升级到 Ruby 1.9 吗? - 2

    我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or

  10. ruby - 我如何学习 ruby​​ 的正则表达式? - 2

    如何学习ruby​​的正则表达式?(对于假人) 最佳答案 http://www.rubular.com/在Ruby中使用正则表达式时是一个很棒的工具,因为它可以立即将结果可视化。 关于ruby-我如何学习ruby​​的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1881231/

随机推荐