Android AudioRecord每帧200ms数据量持续采集

本文介绍了在Android中使用AudioRecord进行音频数据流采集,特别是针对每200毫秒的数据帧处理。文章详细讲解了音频数字化的基本概念,包括采样率、量化精度、声道数、比特率等,并探讨了PCM编码和WAV格式。此外,还概述了音频数字化的过程,以及如何从模拟信号转化为数字音频信号。

背景

这两天在对接某公司的asr(自动语音识别),但是他们没有提供android sdk,只提供了功能API。

其中关键的一个步骤就是开始识别后,持续发送音频数据流,每200ms为单位的发送一次音频数据。

很显然需要用到 AudioRecord,可以输出未处理的裸 PCM数据.

PCMPCM(Pulse Code Modulation)
也被称为脉冲编码调制。 PCM音频数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样、量化、编码转换成的标准的数字音频数据。

 

基础知识准备

音频开发经常遇到的专业性词语

 

(1) 采样率

音频采样率” 是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。常用的音频采样频率有:8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz、96kHz、192kHz等。在当今的主流采集卡上,采样频率一般共分为22.05KHz、44.1KHz、48KHz三个等级,22.05KHz只能达到FM广播的声音品质,44.1KHz则是理论上的CD音质界限,48KHz则更加精确一些。
通俗理解:每秒录取声音的次数。

 

(2) 量化精度(采样位数)

采样位数”越大表示的值的范围也就越大
"采样位数"可以理解为采集卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音就越真实。电脑中的声音文件是用数字0和1来表示的。连续的模拟信号按一定的采样频率经数码脉冲取样后,每一个离散的脉冲信号被以一定的量化精度量化成一串二进制编码流,这串编码流的位数即为采样位数,也称为"量化精度"。
常见的位数为16bit32bit
通俗理解:每秒录取声音的精度,就像画面的分辨率,越高声音越真实

 

(3) 声道数

声道数分别有:单声道的声道数为1个声道双声道的声道数为2个声道;立体声道的声道数默认为2个声道;立体声道(4声道)的声道数为4个声道。
常见使用的是:单声道(MONO) 和 双声道 (STEREO)
通俗理解:声道数表示录制或者播放音频的声音源

 

(4) 比特率(码率)

比特率(又叫做位速率或者码率)是指每秒传送的比特(bit)数。单位为bps(Bit Per Second),比特率越,传送的数据越。比特率表示经过编码(压缩)后的音、视频数据每秒钟需要用多少个比特来表示,而比特就是二进制里面最小的单位,要么是0,要么是1。比特率与音、视频压缩的关系,简单的说就是比特率越高,音、视频的质量就越好,但编码后的文件就越大;如果比特率越少则情况刚好相反。

若作为一种数字音乐压缩效率的参考性指标,比特率表示单位时间(1秒)内传送的比特数bps(bit per second,位/秒)的速度通常使用kbps(通俗地讲就是每秒钟1000比特)作为单位。CD中的数字音乐比特率为1411.2kbps(也就是记录1秒钟的cd音乐,需要1411.2×1000比特的数据),音乐文件的BIT RATE高是意味着在单位时间(1秒)内需要处理的数据量(BIT)多,也就是音乐文件的音质好的意思。但是,BIT RATE高时文件大小变大,会占据很多的内存容量,音乐文件最常用的bit rate是128kbps,MP3文件可以使用的一般是8-320kbps,但不同MP3机在这方面支持的范围不一样,大部分的是32-256Kbps,这个指数当然是越广越好了,不过320Kbps是暂时最高等级了。<1B字节= 8 bit位 / 1024B = 1M>
(那一秒的CD音乐需要 1411.2 / 8 = 176.4KB/s的空间,那四分钟的CD音乐需要 (1411.2kbps * 4 * 60)/ 8 / 1024 = 41.34373M)

码率计算公式
基本的算法是:【

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值