数字媒体技术基础之:声波及其测量

声音始于空气中的振动,如吉他弦、人的声带或扬声器纸盆产生的振动。

这些振动一起推动邻近的空气分子,从而轻微增加空气压力。

压力下的空气分子随后推动周围的空气分子,后者又推动下一组分子,依此类推。

高压区域穿过空气时,在后面留下低压区域。

当这些压力波的变化到达人耳时,会振动耳中的神经末梢,我们将这些振动称为“声音”。

表示音频的可视化波形,反映了这些空气压力波。

1149c936d0f6e05f4b3dbd0f996b8eba.png

表现为可视化波形的声波

A. 零位线 B. 低压区域 C. 高压区域 

波形中的零位线是静止时的空气压力。当曲线向上摆动到波峰时,表示较高压力;当曲线向下摆动到波谷时,表示较低压力。

  ◆  ◆

声波测量值

几个测量值描述了波形:

216c62385ec899dd039f39e14a3230e3.png

左侧为单个周期;右侧为完整的 20 Hz 波形

A. 波长 B. 相位度 C. 振幅 D. 1 秒 

振幅 

Amplitude

反映波形从波峰到波谷的压力变化。高振幅波形的声音较大,低振幅波形的声音较安静。

对于扬声器而言,纸盆的振动幅度越大,产生的空气压力波越大,传到人耳的能量越多,听到的“音量”也就越大。

周期 

Period

以时间为单位测量,描述单一、重复的压力变化序列,从零压力到高压,再到低压,最后恢复为零。

频率 

Frequency

以“赫兹” (Hz) 为单位测量,描述每秒的周期数。

如,1000 Hz波形每秒有 1000 个周期。频率是周期的倒数。

对于扬声器而言,指的是纸盆振动的快慢,即每秒拍打空气的次数。

人类的听觉范围在 20 Hz ~ 20000 Hz,年龄等因素会影响人的听觉范围。

频率越高,听到的“音调”越高。

波长 

Wave Length

以“英寸”或“厘米”等单位测量,是具有相同相位度的两个点之间的距离。

波长随频率的增加而减少。

相位 

Phase

以“度”为单位测量,共 360°,表示周期中的波形位置。

0° 为起点,随后 90º 为高压点,180º 为中间点,270º 为低压点,360º 为终点。

对于扬声器而言,指的是纸盆向内或向外运动的精确时序。

  ◆  ◆

声波的相互作用

在两个或更多声波相遇时,它们会彼此相加和减去。

如果它们的波峰和波谷完全相同,则称之为“同相” In Phase。

它们会互相加强,从而产生的波形的振幅高于任何单个波形的振幅。

7416571285f17157b38f2c3743d46b60.png

同相声波互相加强

如果两个波形的波峰和波谷完全“异相” Out of Phase,则会相互抵消,导致完全没有波形。

427266723514988c6473006bea2521de.png

异相声波互相抵消

对于扬声器而言,如果两个扬声器同时向内或向外运动,则为“同相”。

若运动时不同步,则为“异相”。异相时可能导致声音重现时出现问题。

那是因为一个扬声器在增加空气压力,另一个扬声器在降低空气压力,最终可能导致什么声音都听不到。

在大多数情况下,各种声波会存在不同程度的异相,从而产生比单个波形复杂得多的组合波形。

c58a3a3666e01674eb6dfafe3f309207.png

两个简单的声波组成复杂的声波

因为独特的物理结构,单个乐器可以产生极复杂的声波,这就是小提琴和小号即使演奏相同音符但听起来不同的原因。

ccf239a9083018f063eab314388d20e5.jpeg

“点赞有美意,赞赏是鼓励”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/653602.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

链表中倒数第k个结点

题目描述 输入一个链表,输出该链表中倒数第k个结点。 这道题首先按照普通的方法用一个栈来存放链表数据然后在取出第k的数就可以了,但是这种方法的时间复杂度是O(n),不提倡; 现在我介绍一种时间复杂度为O(n-k)的方法,老规矩-->先贴源码,在分析: /*public clas…

appsmith安装手记:3.appsmith安装

终于到了安装appsmith这个大神的时候,这个简单,真是越到后面越容易。 安装说明见:https://docs.appsmith.com/getting-started/setup/installation-guides/docker ,建议使用 Docker Compose 进行长期的 Appsmith 部署 步骤一&…

SpringSecurity笔记

SpringSecurity 本笔记来自三更草堂:https://www.bilibili.com/video/BV1mm4y1X7Hc/?spm_id_from333.337.search-card.all.click,仅供个人学习使用 简介 Spring Security是Spring家族中的一个安全管理框架。相比与另外一个安全框架Shiro,…

Leetcode刷题笔记题解(C++):1117. H2O 生成(多线程)

思路: 解法二:生产者-消费者解法 1.把 hydrogen 线程看作生产者,oxygen 线程看作消费者,缓冲队列大小为2。 2.hydrogen 把生成的氢放入队列;oxygen 线程每次从队列里消费两个氢元素。 3.生产者生产两个氢元素后会因为…

Selenium解决滑块验证问题:自动化与技巧

滑块验证是一种常见的人机验证机制,用于识别和防止自动化程序的访问。在爬虫和自动化测试中,我们经常面临需要处理滑块验证的情况。本文将介绍如何使用 Selenium 库处理滑块验证问题。 一、安装 Selenium 首先,确保你已经安装了 Selenium。你…

【极数系列】Linux环境搭建Flink1.18版本 (03)

文章目录 引言01 Linux部署JDK11版本1.下载Linux版本的JDK112.创建目录3.上传并解压4.配置环境变量5.刷新环境变量6.检查jdk安装是否成功 02 Linux部署Flink1.18.0版本1.下载Flink1.18.0版本包2.上传压缩包到服务器3.修改flink-config.yaml配置4.启动服务5.浏览器访问6.停止服务…

[go] 享元模式

享元模式 是一种结构型设计模式, 它摒弃了在每个对象中保存所有数据的方式, 通过共享多个对象所共有的相同状态, 让你能在有限的内存容量中载入更多对象。 模型说明 享元模式只是一种优化。在应用该模式之前,你要确定程序中存在…

二叉树--199. 二叉树的右视图/medium 理解度C

199. 二叉树的右视图 1、题目2、题目分析3、复杂度最优解代码示例4、适用场景 1、题目 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出…

贪吃蛇项目(基于C语言和数据结构中的链表)

建立文件 首先先建立3个文件。 Snake.h 函数的声明 Snake.c 函数的定义 Test.c 贪吃蛇的测试 分析项目 我们分析这整个项目 建立节点 首先在我们实现游戏开始的部分之前,我们要先创建贪吃蛇的节点,再由此创建整个贪吃蛇所包含的一些信息&#…

基于对比学习的信息抽取

Label Refinement via Contrastive Learning for Distantly-Supervised Named Entity Recognition NAACL 2022;做的远程监督NER,通过知识库构建 伪标签,通过对比学习构建负样本,负样本是entity的多余部分或其他不相关部分。即对e…

【Vite+Vue3+TS】基于Vite+Vue3+TypeScript+ESLint+Prettier+Stylelint搭建项目(亲测超详细)

目 录 项目搭建步骤确定node版本使用Vite创建Vue3项目规范目录结构配置环境修改Vite配置文件集成路由工具Vue Router集成状态管理工具Pinia集成CSS预编译器Sassvite-plugin-svg-icons图标组件集成UI框架Element Plus集成HTTP 请求工具 Axios 项目代码规范集成ESLint配置集成Pre…

【HTML 基础】元素和标签

文章目录 1. <p> - 段落标签2. <h1> - <h6> - 标题标签3. <a> - 超链接标签4. <img> - 图片标签5. <ul>, <ol>, <li> - 列表标签无序列表有序列表 总结 HTML&#xff08;Hypertext Markup Language&#xff09;是构建 Web 页面…

Debezium日常分享系列之:Debezium 2.6.0.Alpha1发布

Debezium日常分享系列之&#xff1a;Debezium 2.6.0.Alpha1发布 一、重大改变1.MongoDB2.重新选择列后处理器 二、改进和变化1.添加了新的匹配集合 API2.CloudEvents 架构名称自定义3.Oracle Infinispan 缓存改进4.支持 Spanner NEW_ROW_AND_OLD_VALUES 值捕获类型 一、重大改变…

【学网攻】 第(13)节 -- 动态路由(OSPF)

系列文章目录 目录 系列文章目录 文章目录 前言 一、动态路由是什么&#xff1f; 二、实验 1.引入 实验拓扑图 实验配置 实验验证 总结 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学网攻】 第(3)节 -- 交换机配置聚合端口【学…

鸿蒙 ArkTs初识

前提&#xff1a;基于官网3.1/4.0文档。参考官网文档 基于Android开发体系来进行比较和思考。&#xff08;或有偏颇&#xff0c;自行斟酌&#xff09; 吐槽&#xff1a;官网上的案例只有代码和文档解释&#xff0c;没有可以直接运行查看效果的模拟器&#xff0c;这一点上&#…

【C++修行之道】STL(初识list、stack)

目录 一、list 1.1list的定义和结构 以下是一个示例&#xff0c;展示如何使用list容器: 1.2list的常用函数 1.3list代码示例 二、stack 2.1stack的定义和结构 stack的常用定义 2.2常用函数 2.3stack代码示例 一、list 1.1list的定义和结构 list的使用频率不高&#…

SQL注入:二次注入

SQL注入系列文章&#xff1a; 初识SQL注入-CSDN博客 SQL注入&#xff1a;联合查询的三个绕过技巧-CSDN博客 SQL注入&#xff1a;报错注入-CSDN博客 SQL注入&#xff1a;盲注-CSDN博客 目录 什么是二次注入&#xff1f; 二次注入演示 1、可以注册新用户 2、可以登录->…

【 JS 】函数

生命如潮&#xff0c;不断奔向远方的海洋。每一个潮起潮落&#xff0c;都是奋斗的旋律&#xff1b;每一片浪花&#xff0c;都是梦想的飞扬。勇往直前&#xff0c;扬帆远航&#xff0c;生命的航程注定精彩非凡。 - 林肯 目标 理解封装的意义&#xff0c;能够通过函数的声明实现逻…

通过mybatis拦截器给sql执行加一个耗时监控

代码没什么内容&#xff0c;直接贴上来吧&#xff0c;其中costTimeUtil可以看我的另一篇博文&#xff1a;java实现一个不带次数变量的加权平均值算法-CSDN博客 Slf4j Intercepts({Signature(type StatementHandler.class,method "query",args {Statement.class, …

1Panel CloudFlare证书申请失败的解决方案

在升级1Panel后&#xff0c;使用 CloudFlare DNS验证时&#xff0c;会提示 [*.biliwind.com] [*.biliwind.com] acme: error presenting token: cloudflare: failed to find zone biliwind.com.: ListZonesContext command failed: Invalid request headers (6003) 为解决此问…