美文网首页
音频基础

音频基础

作者: 凌烟醉卧 | 来源:发表于2019-10-09 22:39 被阅读0次

    数字音频

    数字音频的操作需要3个步骤:采样,量化,编码。

    • 采样:这个是指音频的。首先要对模拟信号进行采样,所谓采样就是在时间轴上对信号进行数字化。采样率一般是44.1kHz,而所谓的44.1kHz就是代表1秒会采样44100次
    • 量化:是指在幅度轴上对信号进行数字化,比如用16比特的二进制信号来表示声音的一个采样,而16比特(一个short)所表示的范围是[-32768,32767],共有65536个可能取值,因此最终模拟的音频信号在幅度上也分为了65536层。
    • 编码:既然每一个量化都是一个采样,那么这么多的采样该如何进行存储呢?这就涉及将要讲解的第三个概念:编码。所谓编码,就是按照一定的格式记录采样和量化后的数字数据,比如顺序存储或压缩存储,等等。这里面涉及了很多种格式,通常所说的音频的裸数据格式就是脉冲编码调制(Pulse Code Modulation, PCM)数据。

    音频编码

    压缩编码的基本指标之一就是压缩比,压缩比通常小于1(否则就没有必要去做压缩,因为压缩就是要减小数据容量)。
    压缩算法包括有损压缩无损压缩

    • 无损压缩是指解压后的数据可以完全复原。在常用的压缩格式中,用得较多的是有损压缩。
    • 有损压缩是指解压后的数据不能完全复原,会丢失一部分信息,压缩比越小,丢失的信息就越多,信号还原后的失真就会越大。根据不同的应用场景(包括存储设备、传输网络环境、播放设备等),可以选用不同的压缩编码算法,如PCM、WAV、AAC、MP3、Ogg等。

    压缩编码的原理实际上是压缩掉冗余信号,冗余信号是指不能被人耳感知到的信号,包含人耳听觉范围之外的音频信号以及被掩蔽掉的音频信号等。

    几种常用的音频压缩编码格式

    • WAV编码:WAV编码的一种实现(有多种实现方式,但是都不会进行压缩操作)就是在PCM数据格式的前面加上44字节,分别用来描述PCM的采样率、声道数、数据格式等信息。
      特点:音质非常好,大量软件都支持。
      适用场合:多媒体开发的中间文件、保存音乐和音效素材。
    • MP3编码:MP3具有不错的压缩比,使用LAME编码(MP3编码格式的一种实现)的中高码率的MP3文件,听感上非常接近源WAV文件,当然在不同的应用场景下,应该调整合适的参数以达到最好的效果。
      特点:音质在128Kbit/s以上表现还不错,压缩比比较高,大量软件和硬件都支持,兼容性好。
      适用场合:高比特率下对兼容性有要求的音乐欣赏。
    • AAC编码:AAC是新一代的音频有损压缩技术,它通过一些附加的编码技术。
      特点:在小于128Kbit/s的码率下表现优异,并且多用于视频中的音频编码。
      适用场合:128Kbit/s以下的音频编码,多用于视频中音频轨的编码。

    PCM数据

    描述一段PCM数据一般需要以下几个概念

    • 量化格式(sampleFormat)
    • 采样率(sampleRate)
    • 声道数(channel)。

    以CD的音质为例:量化格式(有的地方描述为位深度)为16比特(2字节),采样率为44100,声道数为2,这些信息就描述了CD的音质。而对于声音格式,还有一个概念用来描述它的大小,称为数据比特率,即1秒时间内的比特数目,它用于衡量音频数据单位时间内的容量大小。而对于CD音质的数据,比特率为多少呢?计算如下:

    44100 * 16 * 2 = 1378.125kbps
    

    那么在1分钟里,这类CD音质的数据需要占据多大的存储空间呢?计算如下:

    1378.125 * 60 / 8 / 1024 = 10.09MB
    

    Android平台的声音渲染 (播放)

    • Java SDK: MediaPlayer、SoundPool和AudioTrack。这三个API的使用场景各不相同,简单来说具体如下。
      • MediaPlayer:适合在后台长时间播放本地音乐文件或者在线的流式媒体文件,它的封装层次比较高,使用方式比较简单。
      • SoundPool:适合播放比较短的音频片段,比如游戏声音、按键声音、铃声片段等,它可以同时播放多个音频。
      • AudioTrack:适合低延迟的播放,是更加底层的API,提供了非常强大的控制能力,适合流媒体的播放等场景,由于其属于底层API,所以需要结合解码器来使用。
    • NDK : OpenSL ES,可以提供非常强大的音效处理、低延时播放等功能,比如在Android手机上可实现实时耳返的功能。

    Android平台录制声音

    • AudioRecord

    相关文章

      网友评论

          本文标题:音频基础

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