音频开发篇一

2020-11-26  本文已影响0人  song91425

预备知识

对于音频我们需要一下储备知识,这篇文章主要介绍Audio的基础知识,我们需要知道音频的采样率、采样频率、采样位数、通道数、帧、音频周期、音频数据格式、iOS支持的文件格式和iOS对音频处理的一些框架等等。

1、采样率、比特率:

采样率
        8000 Hz - 电话所用采样率, 对于人的说话已经足够
        11025 Hz-AM调幅广播所用采样率
        22050 Hz和24,000 Hz- FM调频广播所用采样率
        32000 Hz - miniDV 数码视频 camcorder、DAT (LP mode)所用采样率
        44100 Hz - 音频 CD, 也常用于 MPEG-1 音频(VCD, SVCD, MP3)所用采样率
        47250 Hz - 商用 PCM 录音机所用采样率
        48000 Hz - miniDV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所用采样率
        50000 Hz - 商用数字录音机所用采样率
        96000 或者 192,000 Hz - DVD-Audio、一些 LPCM DVD 音轨、BD-ROM(蓝光盘)音轨、和 HD-DVD (高清晰度 DVD)音轨所用所用采样率
        2.8224 MHz - Direct Stream Digital 的 1 位 sigma-delta modulation 过程所用采样率。
        比特率:每秒的传输速率(位速, 也叫比特率)这个概念不是音频仅有。如48.2kbps 或 48200bps, 其中的 b 是 bit, ps 是每秒的意思,表示每秒48200bit的容量.

2、采样频率

        采样频率指的是每秒钟取得声音样本的次数。采样频率越高,声音的质量也就越好,声音的还原也就越真实,但同时它占的资源比较多。由于人耳的分辨率很有限,太高的频率并不能分辨出来。
        日常生活照常用的采样率22050, CD音质的采样率是44100。

3、采样位数

        采样位数:即采样值或取样值(就是将采样样本幅度量化)即记录的是声波的振幅。它是用来衡量声音波动变化的一个参数,它的数值越大,分辨率也就越高,即声音越细腻,所发出声音的能力越强。例如8位代表2的8次方—256,16位则代表2的16次方—64K。比较一下,一段相同的音乐信息,16位采样位数能把它分为64K个精度单位进行处理,而8位采样位数只能处理256个精度单位,造成了较大的信号损失,所以前者记录了音频更多的细节。下面列一些对比:

4、通道数

        通道数:即声音的通道的数目。通常分为单声道和立体声,单声道的声音只能使用一个喇叭发声,而立体声可以使两个喇叭都发声更能感受到空间效果,当然还有更多的通道数。
        需要注意的是:如果是双声道, 那么采样就是双份的, 文件也差不多要大一倍.

5、帧、周期

        帧:帧记录了一个声音单元,其长度为样本长度(采样位数)和通道数的乘积
        周期:音频设备一次处理所需要的帧数,对于音频设备的数据访问以及音频数据的存储,都是以此为单位。

6、交错模式和非交错模式

        交错模式:数字音频信号存储的方式。数据以连续帧的方式存放,即首先记录帧1的左声道样本和右声道样本,再开始帧2的记录。
        非交错模式:首先记录的是一个周期内所有帧的左声道样本,再记录所有右声道样本

7、音频数据格式

7.1 音频压缩方式

        音频压缩技术指的是对原始数字音频信号流(PCM编码)运用适当的数字信号处理技术,在不损失有用信息量,或所引入损失可忽略的条件下,降低(压缩)其码率,也称为压缩编码,它有两种压缩方式,分别是有损压缩(降低音频采样频率与比特率,输出的音频文件会比原文件小)和无损压缩(无损压缩能够在100%保存原文件的所有数据的前提下,将音频文件的体积压缩的更小,而将压缩后的音频文件还原后,能够实现与源文件相同的大小、相同的码率)。例如MP3、WMA、OGG被称为有损压缩,无损压缩格式有APE、FLAC、WavPack、LPAC、WMALossless、AppleLossless、La、OptimFROG、Shorten。而常见的、主流的无损压缩格式只有APE、FLAC。

7.2 iOS支持的文件格式
Format Name Format fileName extensions
AIFF .aif, .aiff
CAF .caf
MPEG-1,layer 3 .mp3
MPEG-2, MPEG-4 ADTS .acc
MPEG-4 .m4a,.mp4
WAV .wav
AC-3(Dolby Digital) .ac3
Enhanced AC-3 (Dolby Digital plus) .ec3
7.3 音频数据格式转换

        在iOS中可以使用Audio Convert Services提供的服务来完成音频数据格式转换,可以完成下面三种类型转换。

7.4 音频录制格式选择

        在录制音频的时候不推荐使用AAC和MP3格式,它们耗电和消耗CPU性能。苹果推荐使用下面这个些格式。

录制音频推荐格式
Apple Lossless (ALAC, 苹果无损格式)
iLBC (internet Low Bitrate Codec,互联网低比特率编解码器)
IMA/ADPCM ( IMA-4)
Linear PCM
µLaw and aLaw
7.5 Core Audio中的音频数据的规范格式(使用下面这些规范可以是音频数据,与平台无关)
7.6 音频数据的数据包

音频数据格式有三种数据包:

8 Core Audio 介绍

         Core Audio是苹果对音频处理的框架,分为三层接口,底层我们不能够直接使用,所以接下来主要介绍,中层和高层的接口。如下图所示。


音频处理的三层接口结构
8.1 mid-level
8.2 high-level:
8.3 对于iOS需要知道的音频处理框架

Audio units进一步介绍

         Audio Unit 是所有 iOS 以及 OS X上音频框架的最底层,无论使用的是 AVAudioRecorder、AVAudioPlayer、或者 Audio Queue Service、OpenAL 等,最终底层实现都是通过 Audio Unit 来完成的。
         在 iOS 上可用的 Audio unit 是有限的,OS X上面可以自定义一个 Audio unit 但是 iOS 上不行,只能使用系统提供的 Audio unit。
         但是什么时候使用 Audio Unit ?官方的说法是,当你需要高度可控的、高性能、高灵活性或者需要某种特别的功能(比如回音消除,只在 Audio unit 提供支持,所有高层 API 均不支持回音消除)的时候,才需要使用 Audio unit。
         Audio units: 它封装在在头文件AUComponent.h中。iOS Audio units 使用8.24位定点线性PCM音频数据进行输入和输出。iOS提供有4类Audio units 如下面所列, 而在OS X中大概有40多个Audio units 。

注:关于Core Audio的实战更新中......

参考:http://www.code06.com/other/aoshilang2249/92451.html

上一篇 下一篇

猜你喜欢

热点阅读