欢迎来真孝善网,为您提供真孝善正能量书籍故事!

深入解析:Android平台音视频处理——音频基础教程

时间:11-22 神话故事 提交错误

很多朋友对于深入解析:Android平台音视频处理——音频基础教程和不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

简单来说,它实际上是将采集到的音频模拟信号转换成方便在通道中传输的数字信号。在不同的使用场景下,可能会采用不同的编码方式,因此音频质量、码率、安全系数等也不同。

音频基础知识

采样和采样频率:一秒内的采样数称为采样频率。采样频率越高,越接近原始信号,但也增加了计算和处理的复杂度。根据奈奎斯特采样定理,为了重构原始信号,采样频率必须大于信号中最高频率的两倍。人们能感觉到的频率范围是20HZ--20kHZ。一般音乐的采样频率为44.1kHZ,更高的可以是48kHZ、96kHZ,但一般人用耳朵感觉不到区别。语音主要是为了交流,不需要像音乐那样清晰。以16k采样的语音称为高清语音。目前主流的语音采样频率为16kHz。

采样位数:数字信号用0和1来表示。采样位数就是用多少位0和1来表示采样值,也称为采样精度。使用的位数越多,就越接近真实的声音。如果用8位表示,则采样值范围为-128--127。如果用16位表示,则采样值范围为-32768--32767。目前普遍采用16个采样位。

声道:声道指的是处理的声音是单声道还是立体声。 Android 支持双声道立体声和单声道。 CHANNEL_IN_MONO 单声道,CHANNEL_IN_STEREO 立体声。单声道在声音处理过程中只有一个数据流,而立体声需要左右声道两个数据流。显然,立体声效果更好,但相应的数据量是单声道的两倍。

码率:是比特率。比特率是指每秒传输的比特数。码率=采样率采样位数通道数。

音频采集和播放:一般采用专门的芯片(通常称为编解码芯片)来采集音频,做AD转换,然后将数字信号通过I2S总线发送到CPU进行处理(主流采用I2S总线,但也可以使用其他总线,例如PCM总线)(也有编解码器芯片和CPU芯片会集成到一颗芯片中)。当需要播放的时候,CPU会将音频数字信号通过I2S总线发送到编解码芯片,然后进行DA转换,得到模拟信号然后播放出来。

音频编码过程

时域转频域变化时域描述了数学函数或物理信号与时间的关系。

研究时域信号时,通常使用示波器将信号转换为其时域波形。

频域是指在分析函数或信号时,分析与频率相关的部分,而不是与时间相关的部分。

如果有兴趣,可以了解一下傅立叶变换心理声学原理。心理声学的原理是指使用强大的算法来去除我们听不到的音频信息。

20hz-20000hz之间的声音是人们能听到的。除此之外的任何数据都可以称为冗余数据。

冗余数据和屏蔽数据分为频域屏蔽和时域屏蔽。

量化编码音频采样过程通常称为脉冲编码调制编码,即PCM(Pulse Code Modulation)编码,采样值也称为PCM值。

PCM通过采样、量化和编码三个步骤将不断变化的模拟信号转换为数字代码。

如图所示,我们首先对音频片段进行10 次采样。

每次采样时,都会有不同的幅度。为了用数字代码来表示样本值,必须采用“舍入”的方法,对样本值进行阶段性的“舍入”,使一定数值范围内的样本值从无限值变化为有限值。这个过程称为量化。

然后,我们对不同的样本值进行编码,将十进制值转换为计算机可以理解的二进制值。

最后,根据二进制值,我们将其转换为数字信号。它是形成的方波。

音频压缩

音频压缩类型1.有损压缩是为了消除冗余数据。音频采集过程中会采集到各种各样的声音,其中只有一部分能够被人类识别。我们将直接删除其他声音。恢复后就消失了,所以称为有损压缩。

2、哈夫曼无损压缩,利用数据的统计冗余度进行压缩,能够完全恢复原始数据而不造成任何数据丢失,称为无损压缩。

使用音频压缩技术的原因很容易计算出PCM音频流的比特率,采样率值采样大小值通道数。两声道PCM编码的音频文件,采样率为44.1KHz,采样大小为16bit,码率为44.1K162=1411.2 Kbps。注意这里的单位是小b,单位是bit。如果我们将单位转换为字节,我们需要将码率除以8才能得到该WAV的数据率,即176.4KB/s。这意味着存储一秒采样率为44.1KHz、采样大小为16bit的双声道PCM编码音频信号需要176.4KB的空间,大约为一分钟10.34M。这对于大多数用户来说是无法接受的。尤其是喜欢在电脑上听音乐的人,减少磁盘使用的方法只有两种,那就是减少采样索引或者压缩。降低索引是不可取的,因此专家们开发了各种压缩方案。

MP3的发展已经有10年了。 MP3作为近几年最流行的音频压缩格式,是MPEG(Moving Picture Experts Group)Audio Layer-3的缩写。它是MPEG1的衍生编码方案。 1993年由德国引进,Fraunhofer IIS研究所与Thomson公司合作开发成功。 MP3可以达到惊人的12:1的压缩比,同时保持基本可听的音质。在硬盘价格天价的年代,MP3很快就被用户接受,被大家广泛接受。

常见音频的压缩编码目前制定压缩标准的主要技术标准组织有3个:

a) ITU主要制定有线语音压缩标准(g系列),包括g711/g722/g726/g729等。

b) 3GPP主要制定无线语音压缩标准(amr系列等),包括amr-nb/amr-wb。后来,ITU吸收了amr-wb,形成了g722.2。

c) MPEG,主要制定音乐压缩标准,包括11172-3、13818-3/7、14496-3等。

一些大公司或组织也制定了压缩标准,例如iLBC和OPUS。

目前市场上的编解码器性能比较是OPUS Vorbis AAC。随着时间的推移,其他人已经慢慢退出市场。

用户评论

眉黛如画

终于找到关于Android音频入门讲解的文章了!

    有12位网友表示赞同!

安好如初

一直想学习一下Android音频开发,看来这次要好好看这个文章了。

    有10位网友表示赞同!

生命一旅程

Android音频的实现原理还挺复杂的,这篇文章能解释清楚吗?

    有5位网友表示赞同!

我没有爱人i

我最近在做音视频项目,希望能从这篇文章学到一些经验。

    有8位网友表示赞同!

命该如此

好期待看看这篇文章带给我的启发!

    有5位网友表示赞同!

开心的笨小孩

学习Android音频开发的知识点很多,希望这篇文章能系统地讲解一遍。

    有9位网友表示赞同!

Edinburgh°南空

我对音视频技术很好奇,看这篇文章可以更好地理解 Android 平台上的音频应用。

    有17位网友表示赞同!

花菲

分享一下你学到的安卓音频知识吗?

    有17位网友表示赞同!

怅惘

希望能从这篇文章中学习到实用的Android音频开发技巧。

    有19位网友表示赞同!

余笙南吟

我刚开始接触Android开发,希望这篇文章能给我一些帮助。

    有19位网友表示赞同!

莫名的青春

这篇文章讲解的入门级的内容适合新手学习吗?

    有11位网友表示赞同!

泡泡龙

感觉很多安卓开发者都对音频处理有需求,这篇文章很实用!

    有18位网友表示赞同!

一个人的荒凉

期待看到更多关于Android音乐播放器开发的文章!

    有12位网友表示赞同!

空巷

这篇文章能否覆盖到语音识别和合成方面的知识?

    有19位网友表示赞同!

别在我面前犯贱

我对学习音频编程非常感兴趣,看看这篇文章能不能给我一些启示。

    有12位网友表示赞同!

灼痛

希望这篇文章能详细讲解Android音频的配置和调试步骤。

    有18位网友表示赞同!

荒野情趣

这个文章是否包含源码示例?

    有18位网友表示赞同!

回到你身边

想要尝试自己开发一个简单的Android录音应用,看看这篇文章有没有相关的教程。

    有10位网友表示赞同!

七级床震

学习安卓音频开发可以提升我的手机 app 开发能力,期待这篇文章带给我新的技能!

    有16位网友表示赞同!

青袂婉约

分享一下你对 Android 音频技术印象深刻的案例或项目,可以让我更了解它的应用场景。

    有9位网友表示赞同!

【深入解析:Android平台音视频处理——音频基础教程】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活