Android音频技术开发之基础知识

音频技术开发,我们得对声音有所了解,掌握音频的基础知识,这才能更好地去做技术开发。
首先介绍音频基础知识,然后介绍音频的量化与编码,音频压缩技术,音频编解码器选型,AAC,希望对帮助大家。

声音三要素

  • 音调 : 就是音频,男生->女生->儿童。

声音频率的高低叫做音调。表示人的听觉分辨一个声音的调子高低的程度。音调主要由声音的频率决定,同时也与声音强度有关。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。

  • 音量: 振动的幅度。

音量又称响度、音强,是指人耳对所听到的声音大小强弱的主观感受,其客观评价尺度是声音的振幅大小。这种感受源自物体振动时所产生的压力,即声压。物体振动通过不同的介质,将其振动能量传导开去。人们为了对声音的感受量化成可以监测的指标,就把声压分成“级”——声压级,以便能客观的表示声音的强弱,其单位称为“分贝”(dB)。

  • 音色: 它与材质有很大关系,本质就是谐波。

音色(Timbre)是指不同的声音的频率表现在波形方面总是有与众不同的特性。不同的物体振动都有不同的特点。

我们为什么要了解声音,音频技术不是有音频采集,音频编码,音频解码,算法等等就行了么,还要了解这么基本的知识有必要么,如果你了解个音频技术里的倍速播放功能时,就你会发现当你倍速播放时,音调也发生了变化。

音频采集

音频采集一般使用 AudioRecod或者 MediaRecord

音频采集的来源是什么?

一般是指麦克风:MediaRecorder.AudioSource.MIC

关于音频是怎么采集的,到时候专门写一篇音频采集的文章,这章主要是了解音频基础知识。当我们采集到了声音数据后都要对声音数据进行量化。

音频量化的过程

获取模拟数据(即采集到的音频波片段的数据)——>采样(对音频波进行采样)——>量化(根据采样点的值进行一一量化)——>编码(根据样本序号进行编码)——>转换成数字信号(即把样本一一转换01这样的机器能识别的数字信号)

音频量化基本概念

  • 采样大小: 一个采样用多少bit存放。常用的是16bit(也有用8bit存放)

16bit 表示Y轴振幅的高度 2的16次方(声音的振幅最高也高示过65535)

  • 采样率: 采样频率可分为8k 、16k、 32k、 44.1k、 48k等(对于AAC来说是采用44.1K的采样率)

以44.1K为例,就是说每秒在模拟信号上,我们采样441000次,比如说20Hz的频率(20Hz也就是人听到的最低频率,20Hz的频率即每秒采样了20次),每秒钟正弦波里,要采集多少次呢,要采样2000次,那么对于高频呢,比如20000Hz,那么就要采样2次

  • 声道数: 单声道、双声道、多声道(什么叫双声道?就是有两个喇叭,多声道就是有多个喇叭)

AudioFormat.CHANNEL_IN_MONO 单声道,一个声道进行采样
AudioFormat.CHANNEL_IN_STEREO 双声道,两个声道进行采样

  • 音频采样精度

采样精度:声音样本大小bit/s表示。位数越高,声音的保真度越高。
采样精度决定了记录声音的动态范围,它以位(Bit)为单位,比如8位、16位。8位可以把声波分成256级,16位可以把同样的波分成65536级的信号。
它反映度量声音波形幅度的精度。例如,每个声音样本用16位(2字节)表示,测得的声音样本值是在0~65535的范围里,它的精度就是输入信号的1/65536。样本位数的大小影响到声音的质量,位数越多,声音的质量越高,而需要的存储空间也越多;位数越少,声音的质量越低,需要的存储空间越少。

一般都采用这个 AudioFormat.ENCODING_PCM_16BIT(官方文档表示,该采样精度保证所有设备都支持)

码率计算

要算一个PCM音频的码率是一件很轻松的事情,采样率 * 采样大小 * 声道数
例如:
采样率为44.1KHz
采样大小为16bit
双声道的PCM编码的WAV文件
它是码率为 44.1k * 16 * 2 =1411200b=1411.2Kb/s

每秒传送的比特(bit)数。单位为 bps(Bit Per Second),比特率越高,传送数据速度越快。

PCM

PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。

我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲,把这些脉冲的幅值按一定的精度进行量化,这些量化后的数值还要进行编码,就是用一组二进制码组来表示每一个量化值,然后记录到存储介质中,所有这些组成了数字音频的产生过程。

音频压缩技术

音频压缩技术有两种方法,如下:

  • 消除冗余数据(久损压缩技术)

在音频采集过程中,会采集到各种各样的声音,其中只有一部分声音是我们人能够识别出来的,其他声音我们可以直接删除掉,这样能够大大减少存储的数据,删除掉的这些数据,当我们压缩完之后是完全没有了也无法恢复。

  • 哈夫曼无损编码(无损压缩技术)

将人无法识别的声音删除之后,留下来的声音对其压缩编码,压缩后的编码还能恢复为原来一模一样的数据,这就称为无损压缩技术。

音频冗余信息

  • 压缩的主要方法是去除采集到的音频冗余信息,所谓冗余信息包括人耳听觉范围外的音频信号以及被掩蔽掉的音频信号

  • 信号的掩蔽可以分为:频域掩蔽、时域掩蔽

频域掩蔽: 人耳所能察觉的声音信号的频率范围为20Hz~20KHz,在这个频率范围以外的音频信号属于冗余信号;或一个强纯音会掩蔽在其附近同时发声的弱纯音,那么弱纯音也被掩蔽,弱纯音属于冗余信号。

时域掩蔽: 在时间上相邻的声音之间也有掩蔽现象,主要原因是人的大脑处理信息需要花费时间。同步掩蔽效应和不同频率声音的频率和相对竟是有关,而时间掩蔽则仅仅和时间有关。如果两个声音在时间上特别接近,分辨会有困难(如两个声音音量相差较大且两个声音间隔时间低于5毫秒,则其中弱的那个声音会听不到)。

下面简单列出常见的音频压缩格式:
MP3,AAC,OGG,WMA,Opus,FLAC,APE,m4a,AMR,等等

音频编码的过程

时域转频域变换 —(声学模型)—> 量化编码 —> 比特流格式 (也可以添加辅助的数据)—> 比特流

音频编解码器选型

常见的音频编码器

  • 常见的音频编码器包括 OPUS、AAC、Vorbis、Speex、iLBC、AMR、G.711等
  • 网上评测结果: OPUS>AAC>Vorbis

常见的音频编码器他们的性能对比就不一一列举了,感兴趣的可以网上查阅一下。下面重点介绍一下AAC编码器。

AAC介绍

为什么重点介绍AAC呢?

  • AAC是的应用范围广(市面上95%以上的都是AAC编码器)
  • 传输协议是用rtmp,RTMP是支持AAC的不支持OPUS
  • AAC是的编码质量非常高,有一个高保帧,保持音频的高保帧,这样也导致很多应用使用AAC

AAC为了解决什么问题?

  • AAC(Advanced Audio Coding) 目的是取代MP3格式
  • MPEG-4标准出现后,AAC加入了SBR技术和PS技术
  • 目前常用的规格有AAC LC、AAC HE V1、AAC HE V2

AAC规格

AAC +SBR -> AAC HE V1
AAC+SBR+PS -> AAC HE V2

AAC规格描述

  • AAC LC: (Low Complexity)低复杂度,码流128k
  • AAC HE V1: AAC LC +SBR(Spectral Band Replication)码流64k(码流减少了,音频质量也提高了)
  • AAC HE V2: AAC LC +SBR + PS(Parametric Stereo)码流32k(码流减少了,音频质量也提高了)

AAC格式

  • ADIF(Audio Data Interchange Format)这种格式只能从头开始解码,常用在磁盘文件中
  • ADTS(Audio Data Transport Stream)这种格式每一帧都有一个同步字,可以在音频流的任何位置开始解码,它似于数据流格式

AAC编码库那个好?

市面上的库:
Libfdk_AAC > ffmpeg AAC > libfaac > libvo_aacenc
Libfdk_AAC的编码效率更高

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,569评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,499评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,271评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,087评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,474评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,670评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,911评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,636评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,397评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,607评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,093评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,418评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,074评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,092评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,865评论 0 196
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,726评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,627评论 2 270

推荐阅读更多精彩内容