美文网首页
Android音频开发:音频相关知识

Android音频开发:音频相关知识

作者: mumuxi_ | 来源:发表于2021-04-13 22:55 被阅读0次

    音频的基础知识

    1.采样和采样频率:

    现在是数字时代,在音频处理时要先把音频的模拟信号变成数字信号,这叫A/D转换。要把音频的模拟信号变成数字信号,就需要采样。一秒钟内采样的次数称为采样频率

    采样频率越高,越接近原始信号,但是也加大了运算处理的复杂度。16000Hz和44.1kHZ(1)

    2.采样位数/位宽:

    数字信号是用0和1来表示的。采样位数就是采样值用多少位0和1来表示,也叫采样精度,用的位数越多就越接近真实声音。如用8位表示,采样值取值范围就是-128 ~ 127,如用16位表示,采样值取值范围就是-32768 ~ 32767

    3.声道(channel):

    通常语音只用一个声道。而对于音乐来说,既可以是单声道(mono),也可以是双声道(即左声道右声道,叫立体声stereo),还可以是多声道,叫环绕立体声。

    4.编解码 :

    通常把音频采样过程也叫做脉冲编码调制编码,即PCM(Pulse Code Modulation)编码,采样值也叫PCM值。 如果把采样值直接保存或者发送,会占用很大的存储空间。以16kHz采样率16位采样位数单声道为例,一秒钟就有16/8*16000 = 32000字节。为了节省保存空间或者发送流量,会对PCM值压缩。
    目前主要有三大技术标准组织制定压缩标准:

    1. ITU,主要制定有线语音的压缩标准(g系列),有g711/g722/g726/g729等。
    2. 3GPP,主要制定无线语音的压缩标准(amr系列等),有amr-nb/amr-wb。后来ITU吸纳了amr-wb,形成了g722.2。
    3. MPEG,主要制定音乐的压缩标准,有11172-3,13818-3/7,14496-3等。
      一些大公司或者组织也制定压缩标准,比如iLBC,OPUS。

    编码过程:模拟信号->抽样->量化->编码->数字信号

    5.压缩:

    对于自然界中的音频信号,如果转换成数字信号,进行音频编码,那么只能无限接近,不可能百分百还原。所以说实际上任何信号转换成数字信号都会“有损”。但是在计算机应用中,能够达到最高保真水平的就是PCM编码。因此,PCM约定俗成了无损编码
    。我们而习惯性的把MP3列入有损音频编码范畴,是相对PCM编码的。强调编码的相对性的有损和无损

    6.码率:

    码率 = 采样频率 * 采样位数 * 声道个数; 例:采样频率44.1KHz,量化位数16bit,立体声(双声道),未压缩时的码率 = 44.1KHz * 16 * 2 = 1411.2Kbps = 176.4KBps,即每秒要录制的资源大小,理论上码率和质量成正比

    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格式


    常用音频格式

    1.WAV 格式:音质高 无损格式 体积较大
    2.AAC(Advanced Audio Coding) 格式:相对于 mp3,AAC 格式的音质更佳,文件更小,有损压缩,一般苹果或者Android SDK4.1.2(API 16)及以上版本支持播放,性价比高
    3.AMR 格式:压缩比比较大,但相对其他的压缩格式质量比较差,多用于人声,通话录音

    AMR分类:
    AMR(AMR-NB): 语音带宽范围:300-3400Hz,8KHz抽样

    4.mp3 格式:特点 使用广泛, 有损压缩,牺牲了12KHz到16KHz高音频的音质

    音频开发的主要应用

    • 音频播放器
    • 录音机
    • 语音电话
    • 音视频监控应用
    • 音视频直播应用
    • 音频编辑/处理软件(ktv音效、变声, 铃声转换)
    • 蓝牙耳机/音箱

    音频开发的具体内容

    • 音频采集/播放
    • 音频算法处理(去噪、静音检测、回声消除、音效处理、功放/增强、混音/分离,等等)
    • 音频的编解码和格式转换
    • 音频传输协议的开发(SIP,A2DP、AVRCP,等等)

    音频应用的难点在哪?

    延时敏感、卡顿敏感、噪声抑制(Denoise)、回声消除(AEC)、静音检测(VAD)、混音算法,等等。

    参考:
    Android音频开发(1):音频基础知识

    相关文章

      网友评论

          本文标题:Android音频开发:音频相关知识

          本文链接:https://www.haomeiwen.com/subject/untzhltx.html