美文网首页
【白水日记】关于音频(二)

【白水日记】关于音频(二)

作者: d2665f7588cb | 来源:发表于2021-03-02 18:54 被阅读0次

        音频在传输和使用的过程中,需要进行压缩,压缩的方向一般是压缩的比例和压缩的速度。

常用的思路就是消除冗余信息,因为人耳能听到的频率只有20hz-20000hz,采集到此频段之外的信息,可以全部剔除,一般用于有损压缩,不可逆,无损压缩类似zip,7z等压缩方案。

另外音频是冗余信息,一般听到的声音都是多个声音复合在一起,声音之间存在遮蔽。声音的遮蔽分为频域遮蔽和时域遮蔽。

频域遮蔽:两个声音同时播放,同时掩蔽,两个声音频率越相近,互相影响越大,相近的频率,声音高的声源会屏蔽声音低的声源。

时域屏蔽:由于大脑处理声音也需要时间,两个时间相邻的声音,也有遮蔽效应,前遮蔽较短,后遮蔽较长。

    音频编码过程:时域转频域->心理声学->量化编码

常用的音频编码器有:opus,aac,ogg

opus:一般用于实时通信,压缩率高,延迟小,WebRTC默认

aac:为了取代mp3而设计,应用广,可以使用硬件编码

ogg:收费

    Speex:一般用于消除回音

    G.711:固定电话,窄带音频,损耗严重,失真

    推荐:opus>aac>ogg

opus网络宽带范围覆盖全,适合实时

    aac只适合宽带,不适合实时

aac(Advanced Audio Coding)的压缩率比mp3更高,文件更小,更多采样率选择,更高的声道上线,保真性更好,最开始使用mpeg-2编码技术,后引入mpeg-4标准。

aac he v1:aac+sbr

aac he v2:aac he v1+ps

aac lc:低复杂度规格,在音质和码率之间平衡,中等码率:92kbps-192kbps之间

    aac he v2:按频谱保存,低频谱保存主要部分,另外的高频另外保存,两个声道相似,可以只保存一个,再保存另一个声道不同的信息

音频三元组:采样率,采样大小,通道数

三元组中任意一项更改,就叫做重采样

重采样分为上采样和下采样,即内插和抽取

    采样的方法包括:将信号转为模拟的连续信号,用新的采样率重新采样,或者直接从旧样本中计算,一般后一种引入的噪音和造成的失真更小。

    重采样的作用:

采集设备和编码格式不同

播放器和源数据不一致

方便运算

例:光盘CD音频采样率通常为44.1kHz,为了将它传输到48kHz的媒体上,需要将频率转为48kHz

相关文章

  • 【白水日记】关于音频(二)

    音频在传输和使用的过程中,需要进行压缩,压缩的方向一般是压缩的比例和压缩的速度。 常用的思路就是消除冗余信息,因为...

  • 【白水日记】关于音频

    声音由振动产生,可以通过空气,固体,液体传递,到达耳膜 声音的三要素: 音调:音频的快慢,振动越快频率越高 音量:...

  • 【白水日记】关于视频

    视频就是一组图像组成,图像由像素组成,像素由rgb组成,图像就是一组数据 分辨率:横向乘以纵向有多少个像素组成 像...

  • 【白水日记】Gradle(二)

    gradle稍微复杂一点的能力,就是gradle插件,可以提供具体的构建功能task,提高代码的复用性,编译jav...

  • 【白水日记】Navigtion(二)

    新建一个navigation配置文件,创建3个fragment

  • 转变命运,要做到这几点

    昨天听白水的音频,讲到我们要如何转运, 他提到以下几点: 早起,做家务,守孝悌,扩大心量,做善事,读善书。 白水的...

  • 【白水日记】Coroutines

    在kotlin中,协程是方便而优雅处理长时间运行任务的方案 kotlin协程使得原来基于回调的代码改为了顺序编写,...

  • 【白水日记】IntentService

    IntentService继承自Service,适合处理短任务,核心实现是 ServiceHandler和Loop...

  • 【白水日记】WorkManager

    WorkManager适合不实时完成任务的场景,同时满足了电量和体验的。由于内部有自己的数据库维护着任务,Wo...

  • 【白水日记】Navigtion

    Navigation是jetpack中的一个ui控件,使用该组件可方便管理fragment的导航行为,甚至可以图...

网友评论

      本文标题:【白水日记】关于音频(二)

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