任务2:在 Android 平台使用 AudioRecord 和 AudioTrack API 完成音频 PCM 数据的采集和播放,并实现读写音频 wav 文件

PCM格式

PCM 脉冲编码调制是Pulse Code Modulation,是数字通信的编码方式之一。主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。(对模拟信号,每隔一段时间,进行抽样,离散化。抽样值按层取整,使用一组二进制码表示抽样脉冲的幅值)

编码的三个过程

  • 抽样(Sampling)。把模拟信号以其信号带宽2倍以上的频率提取样值,变为在时间轴上离散的抽样信号的过程。(把模拟信号 信号宽带 2倍以上,提取抽样值)
  • 量化(quantizing)。采用“四舍五入”的方法把样值分级“取整”。(分级 取整)
  • 编码(Coding)。根据十进制数字代码的总个数,可以确定所需二进制编码的位数,即字长。这种把量化的抽样信号变换成给定字长的二进制码流的 过程称为编码。

抽样说明:
话音PCM的抽样频率为8kHz,每个量化样值对应一个8位二进制码,故话音数字编码信号的速率为8bits×8kHz=64kb/s

编码实现:

采样率 (kHz) 采样大小 单位:(位/bit)

采样率 :一次振动必须有2个点的采样,人耳能够感觉到的最高频率为20kHz,因此要满足人耳的听觉要求,则需要至少每秒进行40k次采样,用 40kHz表达,这个40kHz就是采样率。采样大小,表示该频率的能量值,表示信号强度。举个简单例子:假设对一个波进行8次采样,采样点分别对应的能量值分别为A1-A8,但我们只使用2bit的采样大小,结果我们只能保留A1-A8中4个点的 值而舍弃另外4个。如果我们进行3bit的采样大小,则刚好记录下8个点的所有信息。采样率和采样大小的值越大,记录的波形更接近原始信号。

有损和无损
PCM约定俗成了无损编码,MP3列入有损音频编码。真正无损困难。

使用音频压缩技术
PCM音频流的码率:采样率值×采样大小值×声道数bps。只有2种方法,降低采样指标或者压缩。降低指标是不可取的,因此专家们研发了各种压缩方案。

声道数:声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号。
单声道 采样数据为8位的短整数(short);
双声道 采样数据为16位的整数,(int),高八位(左声道)和低八位(右声道)分别代表两个声道。

PCM( 脉冲编码调制是Pulse Code Modulation):其数据排列格式为左右声道每个样本点数据交错排列

在这里插入图片描述

参考文章:
https://blog.csdn.net/lifei092/article/details/80990813
https://baike.baidu.com/item/pcm编码/10865033
https://blog.csdn.net/DroidPhone/article/details/6308006

完成编码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值