• 一 、声音的采集
    • 1.1声音的物理性质
    • 1.2声音的采集
  • 二 、数字音频
    • 2.1数字音频的量化
    • 2.2数字音频的存储(编码封装)
    • 2.3 wav文件格式
    • 2.4 数字音频内存中存储

本文记录音频相关的基础知识, 包括音频数据的格式,即在计算机中如何通过参数去量化采集后的音频数据。

一 、声音的采集

1.1声音的物理性质

  声音是一种由物体振动引发的物理现象,比如人讲话时声带的振动,拉二胡时弦的振动等。物体的振动引起周围介质(空气)的振动,并以波的形式向四周传播,当被人耳所接收时就听到了声音,所以声音是听觉对声波的感知。确定声波这一物理性质后,自然会引出两个概念:周期(频率)和振幅

 振幅反映从波形波峰到波谷的压力变化,以及波所携带的能量的多少。主观感受是音量的大小,高振幅波形的声音较大,低振幅波形的声音较安静。
 频率反映的是1秒内的周期数,即单位时间内的振动次数。主观感受是声音的音调,频率越高,音调越高。声音按照频率可做如下等级划分:

次声                   0~20Hz
人耳能听见的声音        20Hz~20KHz
超声                  20KHz~1GHz
特超声             1GHz~10THz

1.2声音的采集

 &esmp;根据前文声音的物理性质,只要将振动信号记录下来就可以实现声音的记录。计算机并不使用波形来记录声音,而是使用一串离散的数字来表示频率和振幅。通过麦克风采集声音的流程如下图所示:

 &esmp;首先,声波通过空气传播到麦克风的振膜,振膜振动产生相应的模拟信号;然后,通过数模转换器将模拟信号转换为数字信号;最后通过PCM脉冲编码调制对连续变化的模拟信号进行采样、量化、编码转换成离散的数字信号。这就实现了计算机对声音的采集。在音频素材中有一种PCM的文件保存的就是这种转换后的原始音频数据。

二 、数字音频

2.1数字音频的量化

  数字音频信号可以通过采样位深采样率通道数三个基本参数来表示。
位深:每一个采样的sample的每个通道音频数据通过多少个bit来表示,目前使用的位深有8bit,16bit,24bit,32bit四种, 其中16bit最常用。位深是对声波振动幅度表达的精确程度。8位可以量化出256个值,16位时可以量化出65536个值, 所以位深越大采样带来的失真就越小, 但同时音频数量就越大。
采样率:每秒钟采样的点 sample 数。比如48KHz,就是一秒钟内采集48000个音频sample。根据奈奎斯特采样定理,在A/D转换过程中采样频率必须是被采样信号最高频率的2倍及以上才能完整的保留被采样信号的信息。前面提到人耳可听到的频率范围为 20Hz-20KHz,所以采样频率通常为44.1KHz及其以上, 这样就能保证20KHz的原始声音信号被数字化后音频质量不会降低。
通道数:指同一时间采集或者播放的总音频信号个数。由于存储或者采集设备能力的限制,音频信号通常为单声道的,比如耳机播放的双声道立体声,左右两边就是不同的音频信号。
:每次编码时所需的采样点个数。比如MP3编码通常是1152个采样点作为一个编码单元,而AAC编码通常是1024个采样点作为一个编码单元。
帧长:可以指每帧音频的持续播放时间,比如MP3编码的48KHz音频帧长为 1152/48 = 24ms。某些场合帧长指音频压缩后每帧的数据大小。

2.2数字音频的存储(编码封装)

 &esmp;根据前面的介绍, 一个 PCM 音频文件的存储大小就是采样位深、采样率、通道数和持续时间的累乘:

存储空间(bit) = 采样位深(bit) × 采样率(Hz) × 通道数(n) × 时长(s)

例如双声道数字音频若采样频率为48KHz,每个采样点按16bit量化,那么其码率为:

48kHz * 16bit * 2 = 1.536Mbit/s

因此数字音频信号如果不经过压缩直接进行传送或者存储,将会占用非常大的网络带宽或者存储空间。

 &esmp;音频的编码封装分为有损和无损两种。有损的音频封装格式主要是通过压缩算法把文件大小尽可能减少,但是在解压缩的时候却无法完全还原音频编码前的数据,比如MP3(10:1)和AAC 编码封装格式就属于这一类。无损音频封装则采用可完美还原的压缩算法, 但是压缩比通常不如有损编码的方式,下图列出了有损和无损两种音频编码封装常见的格式:

2.3 wav文件格式

&esmp;&esmp; wav使用无损压缩的方式存储音频数据,先存储音频数据的参数信息(采样率,通道数等)再保存 pcm 音频数据, , 细节如下:

2.4 数字音频内存中存储

   多通道音频的存储分为交错模式(Packed)和平面模式(Planar)两种, 这里类似视频YUV像素格式中的YUV420和YUV420p。Packed模式为多个通道音频数据相互交错存储, Planar为每个通道的音频数据连续存储 。两种格式的存储方式如下图所示:

音频可视化(一):音频基础知识相关推荐

  1. 音频和视频的基础知识

    目录 PCM-脉冲编码调制 录音的原理 记录声音-音频数字化 音频数字化-PCM 采样 采样 采样率 采样定理 量化 位深度 编码 声道(Channel) 比特率 信噪比 编码(Encode) 解码( ...

  2. 傅里叶变换音频可视化_音频可视化中的信号处理方案

    声明: 原创文章,未经允许不得转载. 音频可视化是一个"听"起来非常"美"好的话题,其复杂程度很大程度上依赖视觉方案(一些例子),不同的视觉方案决定了你的技术方 ...

  3. 傅里叶变换音频可视化_HTML5音频可视化频谱跳动代码

    HTML5音频可视化频谱跳动代码 *{ margin:0; padding:0; } #canvas { display: block; background: linear-gradient(135 ...

  4. 音频和视频的基础知识及计算

    音频(audio) 声音信号,即相应于人类听觉可感知范围内的频率.多媒体中使用的是数字化音频 .采样后的声音以文件方式存储后,方可进行声音处理.声音文件有多种格式,目前常用的有: 无损格式,例如WAV ...

  5. Matplotlib数据可视化实操--基础知识、使用PyLab模块和Pyplot模块基础绘图方式

    文章目录 一.Matplotlib数据可视化是什么? 二.Matplotlib.pyplot接口汇总 1.绘图类型 2.Image函数 3.Axis函数 4.Figure函数 三.使用Pyplot模块 ...

  6. 音视频基础知识---音频编码格式

    音视频基础知识汇总: 音视频基础知识---协议相关RTSP RTMP HLS 音视频基础知识---封装格式 音视频基础知识---视频编码格式 音视频基础知识---音频编码格式 音视频基础知识---像素 ...

  7. 音视频开发入门基础知识(音频入门篇)

    RTSP实时音视频开发实战课程:<RTSP实时音视频开发实战> 音视频开发入门基础知识(音频入门篇) 目录 前言 音频的采集和播放 音频常见的格式 音频的编码 前言 在音视频开发入门基础知 ...

  8. android pcm频谱_Android音频可视化

    本文作者:熊鋆洋 (网易云音乐大前端团队) 前言 音频可视化,顾名思义就是将声音以视觉的方式呈现出来.如何将音频信号绘制出来?如何将声音的变化在视觉上清晰的表现出来,让视觉和听觉上的感受一致?这些在 ...

  9. 前端如何查看音频的长度_Android音频可视化

    本文作者:熊鋆洋 (网易云音乐大前端团队) 前言 音频可视化,顾名思义就是将声音以视觉的方式呈现出来.如何将音频信号绘制出来?如何将声音的变化在视觉上清晰的表现出来,让视觉和听觉上的感受一致?这些在 ...

  10. Android音频可视化

    本文作者:熊鋆洋 (网易云音乐大前端团队) 前言 音频可视化,顾名思义就是将声音以视觉的方式呈现出来.如何将音频信号绘制出来?如何将声音的变化在视觉上清晰的表现出来,让视觉和听觉上的感受一致?这些在 ...

最新文章

  1. SAP MM 物料成本价格修改历史的查询
  2. java同步锁synchronized_Java对象锁和类锁全面解析(多线程synchronized关键字)
  3. 初识HTML流水笔记
  4. 监狱中的物联网用例:从尘土飞扬的监狱到智能监狱设施
  5. Java中关于String类型的10个问题
  6. 自然语言处理的未来之路(周明老师,CCF-GRIR,笔记)
  7. 运算符 python
  8. [NOI2006] 神奇口袋
  9. html______1
  10. Xamarin学习笔记
  11. 【连载】【STM32神舟III号实验例程】SysTick实验(11)
  12. [项目管理]四象限时间管理法
  13. 用scribefire写blog
  14. 苹果的傲慢与堕落,从iPhone XS的发布谈起!
  15. 欧拉函数为什么是积性函数
  16. 云计算演义(11)为什么阿里云不及格?
  17. python使用列表推导式生成5个数字8的列表_【菜鸟学Python】列表推导式
  18. 非苹果机安装 Mac OS X 全教程~~~~转
  19. 广西单招计算机科学与技术专业,广西单招考什么科目
  20. SpringBoot 配置多数据源 dynamic-datasource(多库)

热门文章

  1. sql注入php文件包含,phpshe v1.1多处SQL注入文件包含漏洞
  2. Exploiting Shared Representations for Personalized Federated Learning 论文笔记+代码解读
  3. STM32多通道ADC采样获取GY-25A倾角传感器模拟输出数据
  4. 四招识卖假点卡网站 五大常见骗术显形(转)
  5. JS标签的获取、js curd、事件的四要素、事件的三种注册方式和区别
  6. win2008R2 hyper-v 虚拟机(2008)修复
  7. 阿里云万网虚拟主机安装配置Https(SSL)教程
  8. PHP设计模式之一:观察者模式
  9. S7-200SMART PLC在线监视时梯形图是灰色的,无法正常监控的解决办法
  10. windows下 cocos2dx CCLOG 打印中文变为问号的解决办法