一、音频简介

音频是我们最常用到的功能,音频也是 linux 和安卓的重点应用场合。

处理器要想“听到”外界的声音必须要把外界的声音转化为自己能够理解的“语言”,处理 器能理解的就是 0 和 1,也就是二进制数据。所以我们需要先把外界的声音转换为处理器能理 解的 0 和 1,在信号处理领域,外界的声音是模拟信号,处理器能理解的是数字信号,因此这 里就涉及到一个模拟信号转换为数字信号的过程,而完成这个功能的就是 ADC 芯片。

同理,如果处理器要向外界传达自己的“心声”,也就是放音,那么就涉及到将处理器能理 解的 0 和 1 转化为外界能理解的连续变化的声音,这个过程就是将数字信号转化为模拟信号, 而完成这个功能的是 DAC 芯片。

二、音频的属性

● 响度(Loudness):响度就是人类可以感知到的各种声音的大小,也就是音量。响度与声波的振幅有直接关系。
● 音调(Pitch):音调与声音的频率有关系,当声音的频率越大时,人耳所感知到的音调就越高,否则就越低。
● 音色(Quality):同一种乐器,使用不同的材质来制作,所表现出来的音色效果是不一样的,这是由物体本身的结构特性所决定的。

其他名字解释:
● 样本:采样的初始资料,比如一段连续的声音波形。

● 采样器(Sampler):采样器是将样本转换成终态信号的关键。它可以是一个子系统,也可以指一个操作过程,甚至是一个算法,取决于不同的信号处理场景。理想的采样器要求尽可能不产生信号失真。
● 量化(Quantization):采样后的值还需要通过量化,也就是将连续值近似为某个范围内有限多个离散值的处理过程。因为原始数据是模拟的连续信号,而数字信号则是离散的,它的表达范围是有限的,所以量化是必不可少的一个步骤。
● 编码(Coding):计算机的世界里,所有数值都是用二进制表示的,因而我们还需要把量化值进行二进制编码。这一步通常与量化同时进行。
● 采样率(samplerate):采样就是把模拟信号数字化的过程,不仅仅是音频需要采样,所有的模拟信号都需要通过采样转换为可以用0101来表示的数字信号.采样频率越高,红色的间隔就越密集,记录这一段音频信号所用的数据量就越大,同时音频质量也就越高。根据奈奎斯特理论,采样频率只要不低于音频信号最高频率的两倍,就可以无损失地还原原始的声音。通常人耳能听到频率范围大约在20Hz~20kHz之间的声音,为了保证声音不失真,采样频率应在40kHz以上。常用的音频采样频率有:8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz、96kHz、192kHz等。
● 声道数(channels):由于音频的采集和播放是可以叠加的,因此,可以同时从多个音频源采集声音,并分别输出到不同的扬声器,故声道数一般表示声音录制时的音源数量或回放时相应的扬声器数量。单声道(Mono)和双声道(Stereo)比较常见,顾名思义,前者的声道数为1,后者为2
● 音频帧(frame):这个概念在应用开发中非常重要,网上很多文章都没有专门介绍这个概念。音频跟视频很不一样,视频每一帧就是一张图像,而从上面的正玄波可以看出,音频数据是流式的,本身没有明确的一帧帧的概念,在实际的应用中,为了音频算法处理/传输的方便,一般约定俗成取2.5ms~60ms为单位的数据量为一帧音频。这个时间被称之为“采样时间”,其长度没有特别的标准,它是根据编解码器和具体应用的需求来决定的,我们可以计算一下一帧音频帧的大小:假设某音频信号是采样率为8kHz、双通道、位宽为16bit,20ms一帧,则一帧音频数据的大小为:int size = 8000 x 2 x 16bit x 0.02s = 5120 bit = 640 byte

● 常见的音频编码方式有哪些?
上面提到过,模拟的音频信号转换为数字信号需要经过采样和量化,量化的过程被称之为编码,根据不同的量化策略,产生了许多不同的编码方式。
常见的编码方式有:
PCM 和 ADPCM,这些数据代表着无损的原始数字音频信号,添加一些文件头信息,就可以存储为WAV文件了,它是一种由微软和IBM联合开发的用于音频数字存储的标准,可以很容易地被解析和播放。
PCM是不压缩的,ADPCM是压缩的。
PCM是压缩音频的基础,ADPCM和MP3,WMA等一样,都是由某种压缩算法对PCM数据进行压缩后得到的。
ADPCM通过pcm的差值减少了位数,从而达到压缩效果,所以称为差分

● 常见的音频压缩格式有哪些?
首先简单介绍一下音频数据压缩的最基本的原理:因为有冗余信息,所以可以压缩。
(1) 频谱掩蔽效应:
人耳所能察觉的声音信号的频率范围为20Hz~20KHz,在这个频率范围以外的音频信号属于冗余信号。
(2) 时域掩蔽效应:
当强音信号和弱音信号同时出现时,弱信号会听不到,因此,弱音信号也属于冗余信号。
下面简单列出常见的音频压缩格式:
MP3,AAC,OGG,WMA,Opus,FLAC,APE,M4A,AMR,等等

一、Audio-音频简介相关推荐

  1. HTML5 Audio(音频)简介

    HTML5 提供了播放音频文件的标准. 互联网上的音频 直到现在,仍然不存在一项旨在网页上播放音频的标准. 今天,大多数音频是通过插件(比如 Flash)来播放的.然而,并非所有浏览器都拥有同样的插件 ...

  2. FFmpeg及音频简介

    文章目录 一.音视频的应用场景 二.ffmpeg简介 1.ffmpeg命令 2.ffmpeg编译目录介绍 三.音频简介 1.声音三要素 2.音频处理流程 3.音频采集 3.1 PCM和WAV 3.2 ...

  3. js控制audio音量_js控制html5 audio音频暂停播放

    js控制html5 audio音频暂停播放 音乐控制 音乐 播放/暂停 重新播放 function rbf(){ var audio = document.getElementById('music1 ...

  4. html5 audio音频播放全解析

    html5开启了一个新时代,因为它让浏览器本身变得不那么被动,audio api就是一个典型的列子,在html5还没确定之前,如果想要在网页上听音乐看视频唯一的办法就是用flash 意思是当你没有给浏 ...

  5. html5 audio 资源,HTML5 Audio(音频)

    原标题:HTML5 Audio(音频) HTML5 提供了播放音频文件的标准. 互联网上的音频 直到现在,仍然不存在一项旨在网页上播放音频的标准. 今天,大多数音频是通过插件(比如 Flash)来播放 ...

  6. 10.Audio音频

    1.Audio音频 1.今天,大多数音频是通过插件(比如 Flash)来播放的.然而,并非所有浏览器都拥有同样的插件. 2.HTML5 规定了在网页上嵌入音频元素的标准,即使用 <audio&g ...

  7. audio音频不能自动播放的解决方法

    由于浏览器限制的原因,不允许自动播放audio音频,尝试网上的方法后也没有进展(如果有解决方法,欢迎评论~) 一.首先创建 audio 标签 <audio class="g-back- ...

  8. audio音频播放标签样式优化自定义

    自定义audio音频播放样式实现进度监听,这是效果图 v-audio.vue <template><!-- audio音频组件 src:音频路径 longTime:音频时长, sou ...

  9. HTML5基础教程(21)Audio(音频)

    文章目录 导语 互联网上的音频 浏览器支持 Audio如何工作 音频格式及浏览器支持 结语 导语 本篇文章将介绍HTML5 Audio(音频),它为我们提供了播放音频文件的标准. 互联网上的音频 直到 ...

  10. conexant hd audio音频驱动

    conexant hd audio驱动是一款适合Conexant系列最新的声卡驱动,它不直接提供给用户,所以我们也只能在厂商那里"淘"驱动了,今天带给大家免费下载.目前此驱动能够支 ...

最新文章

  1. Atom编写Markdown
  2. 2-29 while
  3. 和功率的计算公式_电机电流的计算公式是什么,具体怎么计算?
  4. Python项目打包发布到pypi
  5. svn: Can't find a temporary directory 问题解决
  6. dom 生成图片和链接生成二维码
  7. 大牛用SSM框架实现了支付宝的支付功能,满满干货指导
  8. linux 函数学习--kzalloc()
  9. dairy-20110419-每日总结
  10. java 使用Sql数据库代码
  11. iframe页面使用Js实现父页面和子页面通信
  12. CF280C Game on tree(期望dp)
  13. 使用Dosbox运行程序
  14. 软件项目管理第一章作业答案
  15. BSC智能链主网节点搭建-2022最新详细版文档
  16. 如何查看自己的appid以及在微信开发者工具中查看APPID
  17. mysql的配置管理_MySQL 启动流程及配置管理
  18. html5波浪效果,html5 canvas粒子波浪动画特效
  19. 给密码加盐是什么东西?
  20. 跳槽一次能涨多少,今天带你见识到跳槽天花板,涨薪80%

热门文章

  1. 如何把flv格式无损转换成mp4
  2. SmartThings
  3. Cloud Driver 将云盘变为本地磁盘
  4. 从终端进入本地其他磁盘
  5. Ogre游戏 - Torchlight
  6. 小米运动蓝牙耳机重新配对_小米运动蓝牙耳机怎么重置
  7. 交换机的4种网络结构方式:级联方式、堆叠方式、端口聚合方式、分层方式
  8. 求一个数的立方根算法
  9. mysql一行数据拆分为多行数据
  10. 分析型数据库 AnalyticDB学习 ----基本介绍