当前位置: 首页 > java >正文

音视频学习(四十五):声音的产生

从物理学角度看,声音本质上是机械波:某一声源发生微小振动,推动邻近介质(空气、液体或固体)产生疏密相间的压力扰动,并以波的形式向外传播。人耳或传感器捕获到这种压力随时间的周期性变化后,才形成我们主观感受到的“声”。下面从声源类别、能量转换、传播特性与人耳感知四个维度系统梳理声音的产生原理。

经典振动声源:固体的弹性振动

最常见的声源是胡克定律所描述的弹性系统——如乐器弦、鼓膜、音叉、扬声器振膜等。当外力使其偏离平衡位置后,回复力 F = –kx 将其拉回;因惯性又越过平衡,遂形成简谐振动。

  • 固有频率由 f=1/2π √k/m 决定,k 为等效弹性系数,m 为质量。
  • 振幅决定声压级(响度),随能量损耗逐渐衰减;若外部驱动频率与固有频率相同,即发生共振,有效放大声压。
  • 不同分布的线密度、边界条件与形状,决定弦乐、管乐、膜片等乐器丰富的谐波谱,进而塑造音色。

流体动力声源:气流剪切与涡街

在许多乐器(如笛、管风琴)与自然现象(风啸、喷气引擎)中,高速气流经过障碍物或狭缝会形成剪切层和周期性脱落的涡街(冯·卡门涡街)。

  • 剪切层中压力不稳定,引发密度波;当脱涡频率落入可听区 (20 Hz–20 kHz) 且得到管道腔体反馈时,系统自激振荡产生清晰音高。
  • 源–谐振腔耦合是关键:笛孔喷流撞击边沿,扰动传回喷口相位差接近 π,持续抽取气动能,输出稳定响亮的音符。

碰撞与摩擦声源:瞬态力学激励

物体碰撞(敲钟、击鼓、键盘敲击)产生近似冲激力,激发结构的自由振动,形成衰减包络的瞬态声。
而摩擦(拉小提琴弓、手指划玻璃)在微观尺度造成粘滑循环:静摩擦阶段积累弹性形变,转瞬滑移释放能量,频繁重复后变成宽带噪声或具音高的周期声(如弓弦振动)。

电声换能与逆向声源

在现代音频系统中,声音常源于电-机械能量转换

  • 动圈/平板扬声器:交变电流通过线圈 → 受磁场力驱动振膜 → 空气振动。
  • 压电蜂鸣器:电场作用下晶体晶格形变 → 机械振动 → 声波。
  • 电磁阀、继电器的激磁释放亦可形成机械冲击声。
    此类声源的频率和幅度由电信号严格控制,故能高保真还原数字音频。

数字合成与物理建模

若声源并非真实物体,而是数字信号经 DAC 推动扬声器发声,则“产生声音”的本质前移到离散时间域的波形设计。波表合成、FM 合成或基于 Navier-Stokes / 弦振方程的物理建模合成,用算法重现声源-介质-听者各环节,再经电声换能输出。虽然能量终归转化为空气中的机械波,但其频谱、包络与空间特性由软件决定,创造了无限音色可能。

传播介质与波动方程

声源只是链条第一环,介质决定波的传播速度 c 与衰减:

  • 空气常温下 c≈343 m/s;水中 c≈1480 m/s;钢中可达 5000 m/s。

  • 声压 p(x,t) 满足 线性声学波动方程

    在这里插入图片描述

  • 当波长与障碍物尺寸可比时出现衍射、干涉、驻波;在封闭空间形成房间模态,会影响音质与混响。

  • 介质吸收系数随频率升高而增大,高频更易衰减;这也是远处声音显得低沉、雾天高频减弱的原因。

人体声源:生物发声机制

人类发声由肺部气流 + 声带振动 + 声道滤波三段完成:

  • 横膈膜挤压肺部产生恒定气流;
  • 气流冲开声带,弹性组织周期闭合,形成基音频率 f₀ ≈ 80–300 Hz;
  • 咽腔、口腔、鼻腔组成可变长管道,调节共振峰(共振峰 F1, F2…),遂形成各元音与言语音色。
    情绪、肌肉张力与病理状态都会改变振动模式,引起音高、音色和响度变化。

感知与主观“声”

声波到达人耳,外耳集音、鼓膜-耳骨‐卵圆窗传递,再经内耳淋巴液激发基底膜旅行波,按地点-频率映射(耳蜗分区谐振)弯曲毛细胞,转化为神经冲动。大脑皮层对基频、谐波、瞬态与空间线索进行综合解码,才塑造出我们对音调(Pitch)响度(Loudness)、**音色(Timbre)方位(Localization)**的完整听觉体验。

总结

**声音的产生是一条跨域能量变换链:**机械振动或气动扰动——> 压力波在介质中传播——> 感受器接收并神经编码。无论是钟声、引擎轰鸣,还是数字音乐,只要能在一定频率范围内有效耦合介质并形成可感知的压强扰动,就能称之为“声”。

http://www.xdnf.cn/news/16917.html

相关文章:

  • 图(遍历/最小生成树/单/多源最短路径)
  • Spring事务失效场景
  • Python 全局解释器锁
  • Web前端实现银河粒子流动特效的3种技术方案对比与实践
  • 使用C++实现日志(1)
  • 淘宝小程序的坑
  • 华为核心交换机S7700的内存OID
  • 阿里云:Ubuntu系统部署宝塔
  • JavaScript将String转为base64 笔记250802
  • Jotai:React轻量级原子化状态管理,告别重渲染困扰
  • Unity_数据持久化_XML基础
  • 计数组合学7.11(RSK算法)
  • 2024年网络安全预防
  • 仿muduo库实现高并发服务器
  • Python----大模型(基于LLaMA Factory角色扮演模型微调)
  • Kubernetes容器运行时-Docker or Containerd
  • 【最后一个单词的长度】
  • RK3399 启动流程 --从复位到系统加载
  • 双网卡UDP广播通信机制详解
  • Leetcode 11 java
  • fastGEO v1.7.0 大更新,支持PCA、差异分析、火山图、热图、差异箱线图、去批次等分析
  • uniapp 富文本rich-text 文本首行缩进和图片居中
  • Flutter开发 dart语言基本语法
  • 基于单片机一氧化碳CO检测/煤气防中毒检测报警系统
  • 深入理解 Docker 容器网络:为什么用 host 网络模式能解决连通性问题?
  • Vue3 setup的两个注意点
  • Spring AI MCP 技术深度解析:从工具集成到企业级实战
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现道路车辆事故的检测识别(C#代码UI界面版)
  • LeeCode 88. 合并两个有序数组
  • RAGFLOW~Enable RAPTOR