音频基本知识

以下是我列举的音频的基本知识要点:

  • 音频信号
  • 音频的模数转换
  • 音频的三要素
  • 采样率
  • 采样位宽
  • 声道数量
  • 码率
  • 音频的存储
  • 音频的封装

音频信号:

音频信号(audio signals)是表示机械波的信号,是机械波的波长、强度变化的信息载体。根据机械波的特征,可分为规则信号和不规则信号。其中规则信号又可以分为音乐等。规则信号是一种连续变化的模拟信号,可用一条连续的曲线来表示。

 

音频信号常见的分为:

  • 语音信号
  • 音乐信号

音频信号的模数转换

模数转换是指:现实中声音的模拟信号转换为数字信号的过程。

模数转换过程会经过一系列的信号处理过程:模拟信号-->采样->量化->编码->数字信号。

音频模拟信号-->数字信号转换

  • 模拟信号经过->抽样->量化->编码->数字信号

 

下面以麦克风的声音采集举例:

 

  • 首先,声波通过空气传播到麦克风的振膜。
  • 然后,振膜随空气抖动的振幅大小产生相应的电学信号。我们把这种带有声学表征的电学信号叫做模拟信号(Analog Signal)。
  • 最后,通过 A/DC(模数转换器)将模拟信号转换成数字信号(Digital Signal)。即通过 PCM(Pulse Code Modulation)脉冲编码调制对连续变化的模拟信号进行抽样、量化和编码转换成离散的数字信号。

声音的三要素:

声音的三要素分别是音调、音量、音色,具体如下:

  • 音调:指的是声音频率的高低,表示人的听觉分辨一个声音的调子高低的程度,物体振动的快,发出的声音的音调就高,振动的慢,发出的音调就低。
  • 音量:又称音强、响度,指声音的振幅大小,表示人耳对所听到的声音大小强弱的主观感受。
  • 音色:又称音品,指不同声音表现在波形方面总是有与众不同的特性,不同的物体振动都有不同的特点,反映每个物体发出的声音的特有的品质,音色具体由谐波决定,好听的声音绝不仅仅是一个正弦波,而是谐波。

采样率:

定义:英文sample rate,采样率就是 1 秒内采集到的采样点的个数,一般用赫兹 Hz 来表示。采样率是指将模拟信号转换成数字信号时的采样频率,人耳能听到的声音一般在 20Hz~20KHz 之间,根据采样定理,采样频率大于信号中最高频率的 2 倍时,采样之后的数字信号便能完整的反应真实信号,也就是说采样率和保留的声音频率基本上是 2 倍的关系

         (图 不同采样率( 48kHz(上)和16kHz(下) )的频谱能量分布)

由上图我们可以看到,16kHz 采样率的音频在 8kHz 以上的频谱基本是没有能量的(黑色),也就是说这部分高频的信息由于采样率不够已经丢失了。从听感上来说人耳可以听到的频率范围大概是 50~20kHz 之间。如果采样率不够,那么和实际听感比起来声音就会显得“低沉”或者说“闷”。

用多大的采样率取决于业务场景,下面列举了常见业务场景的采样率:

  • 8,000 Hz - voip电话所用采样率, 对于人的说话已经足够
  • 11,025 Hz-AM调幅广播所用采样率
  • 22,050 Hz和24,000 Hz- FM调频广播所用采样率
  • 32,000 Hz - miniDV 数码视频 camcorder、DAT (LP mode)所用采样率
  • 44,100 Hz - 音频 CD, 也常用于 MPEG-1 音频(VCD, SVCD, MP3)所用采样率
  • 47,250 Hz - 商用 PCM 录音机所用采样率
  • 48,000 Hz - miniDV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所用采样率
  • 50,000 Hz - 商用数字录音机所用采样率
  • 96,000 或者 192,000 Hz - DVD-Audio、一些 LPCM DVD 音轨、BD-ROM(蓝光盘)音轨、和 HD-DVD (高清晰度 DVD)音轨所用所用采样率
  • 2.8224 MHz - Direct Stream Digital 的 1 位 sigma-delta modulation 过程所用采样率。

采样越高,声音的还原就越真实越自然,人对频率的识别范围是 20HZ - 20000HZ, 如果每秒钟能对声音做 20000 个采样, 回放时就足可以满足人耳的需求. 所以 22050 的采样频率是常用的, 44100已是CD音质, 超过48000的采样对人耳已经没有意义。这和电影的每秒 24 帧图片的道理差不多。

2)采样位深:

也叫采样位宽,采样深度,量化精度,采样后需要量化,每个采样点会有对应量化的数值,采样位深也就是每个采样点用多少 bit 来表示。从物理意义上来说,位深代表的是振动幅度的表达精确程度或者说粒度

音频量化的量化位数常用的有:

  • 8bit (也就是1字节) 只能记录 256 个数, 也就是只能将振幅划分成 256 个等级;   
  • 16bit  (也就是2字节) 可以细到 65536 个数, 这已是 CD 标准了;   
  • 24bit (3字节) 振幅可以达到1677216,DVD的标准
  • 32bit (也就是4字节) 能把振幅细分到 4294967296 个等级, 实在是没必要了

常用场景:

  • 网络电话中用的就是 16bit 的位深,这样不太会影响听感,并且存储和传输的耗费也不是很大。
  • 音乐或者更高保真度要求的场景中则可以使用 32bit 甚至 64bit 的位深来减少失真。

3)声道

也叫通道,声道(Sound Channel) 是指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号,所以声道数也就是声音录制时的音源数量或回放时相应的扬声器数量。

声道的基本分类:

  • 单声道(mono)
  • 双声道 (Dual )(左声道和右声道)
  • 立体声(stereo )
  • 多声道
  • 全景声

4)码率

码率指的是比特率:声音中的比特率是指将模拟声音信号转换成数字声音信号后,单位时间内的二进制数据量,是间接衡量音频质量的一个指标。 

单位为 bps(Bit Per Second),比特率越高,每秒传送数据就越多,画质就越清晰

码率 = 采样频率 * 量化位数 * 声道个数

不同码率的音频质量:

  • 32 kbps —MW(AM) 质量
  • 96 kbps —FM质量
  • 128 - 160 kbps –相当好的质量,有时有明显差别
  • 192 kbps — 优良质量,偶尔有差别
  • 224 - 320 kbps — 高质量
  • 800 bps – 能够分辨的语音所需最低码率(需使用专用的FS-1015语音编解码器)
  • 8 kbps —电话质量(使用语音编码)
  • 8-500 kbps --Ogg Vorbis和MPEG1 Player1/2/3中使用的有损音频模式
  • 500 kbps–1.4 Mbps —44.1KHz的无损音频,解码器为FLAC Audio,WavPack或Monkey's Audio
  • 1411.2 - 2822.4 Kbps —脉冲编码调制(PCM)声音格式CD光碟的数字音频
  • 5644.8 kbps —SACD使用的Direct Stream Digital格式

5)音频存储:

音频存储也就是把量化所得的结果,即单个声道的样本,以二进制的码字进行存放。其中有两种存放方式:

  • 直接以整形来存放量化结果,即Two's complement code;
  • 以浮点类型来存放量化结果,即Floating point encoding code。

大多数格式的PCM样本数据使用整形来存放,而在对一些对精度要求高的应用方面,则使用浮点型来表示PCM 样本数据。

 

存储计算方式:

[时长]s * [采样率]Hz * [采样位数]bit * [声道数] / 8 = [文件大小]byte

某音频信号是采样率为8kHz、立体声道、位宽为16bit,时长为1s,则音频数据的大小为:

1 * 8000 * 16 *2 = 256000 bit / 8 = 32000 byte / 1024 = 31.25 KB

6)音频格式的封装:

音频的封装格式分有损和无损封装格式:

  • 无损编码封装:APE,WAV,FLAC,AIFF,ALAC,AMA
  • 有损编码封装:MP3,AAC,AMR,WMA,RA,OGG

下面列举了常见的wav格式进行了一个梳理分析:

 

 

  • 6
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. Java编程语言:Android应用程序是使用Java编程语言编写的,因此必须掌握Java语言的基本知识。 2. Android SDK:Android软件开发工具包(SDK)是开发Android应用程序的必要工具,包括开发工具、库、文档等。 3. Android Studio:Android Studio是一款官方提供的Android应用程序开发工具,可以使用它来创建、编译、调试和签名Android应用程序。 4. Android组件:Android应用程序由四个组件构成:活动、服务、广播接收器和内容提供程序。必须掌握这些组件的基本知识。 5. 用户界面设计:Android应用程序的用户界面是其最重要的组成部分之一。必须掌握如何使用布局、视图和样式等UI设计元素来创建具有吸引力和易用性的用户界面。 6. 数据存储:Android应用程序需要存储数据,包括用户设置、应用程序状态和其他数据。必须掌握如何使用SharedPreferences、SQLite数据库和文件系统来存储数据。 7. 网络通信:Android应用程序可以使用网络连接与远程服务器通信。必须掌握如何使用HTTP、WebSocket和其他网络协议来实现网络通信。 8. 多媒体:Android应用程序可以处理多媒体文件,包括音频、视频和图像。必须掌握如何使用MediaPlayer、VideoView、Camera和其他多媒体API来处理多媒体文件。 9. 安全性:Android应用程序必须具有一定的安全性,以保护用户数据和应用程序代码。必须掌握如何使用权限、加密和其他安全技术来保护应用程序。 10. 测试和调试:Android应用程序必须进行测试和调试,以确保其正常运行。必须掌握如何使用Android Studio和其他测试和调试工具来测试和调试应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值