音频基本概念

本文深入探讨了音频设备的各个组成部分,如Handset听筒、Headset耳机、Speaker和Microphone。重点介绍了采样率、声道数、采样格式、帧与周期的概念,并详细解析了音频数据的处理方式,包括交错模式、周期大小和缓冲区设置。同时,阐述了数据量计算公式,帮助理解音频数据的基本属性和处理流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

音频设备

Handset 听筒

Headset 耳机

Headphone 耳机,不带mic

Speaker 扬声器

Microphone 麦克风

mono 单声道

stereo 立体声

相关概念

Sample:样本长度,音频数据最基本的单位,常见的有8位和16位。

Channel:声道数,分为单声道mono和立体声stereo。

Frame:帧,构成一个完整的声音单元,Frame = Sample * channel。

Rate:又称Sample rate,采样率,即每秒的采样次数,针对帧而言。

Interleaved:交错模式,一种音频数据的记录方式,在交错模式下,数据以连续桢的形式存放,即首先记录完桢1的左声道样本和右声道样本(假设为立体声),再开始桢2的记录。而在非交错模式下,首先记录的是一个周期内所有桢的左声道样本,再记录右声道样本,数据是以连续通道的方式存储。多数情况下使用交错模式。

Period size:周期,每次硬件中断处理音频数据的帧数,对于音频设备的数据读写,以此为单位。

Buffer size:数据缓冲区大小,这里特指runtime的buffer size,而不是snd_pcm_hardware定义的buffer_bytes_max。一般来说Buffer size =period_size * period_count,period_count相当于处理完一个buffer数据所需的硬件中断次数。

数据量(字节/秒) = 采样率(Hz) * 采样大小(bit) * 声道数 / 8

1, sample_rate: 即每秒进行多少次采样,常见的比如 8000、16000、44100和48000等
2, sample_bits: 即每次采样多少个bit,多是 16bit。其他常见有 24bits、32bits等
3, channels: 通道数,即单声道mono(1), 立体声stero(2), 1.2(3), 或是1.5(6)等
4, sample_format: 每次采样结果的表示格式, 主要区分bit位数和大小端, 如 S8、S16LE、S16BE、S24LE、S24BE、S32LE、S32BE等
5, period_size: 每次相邻中断之间处理的sample个数,处理完一个period,声卡硬件产生一个中断
period_count: 每次最大可提交的period的个数。
因为alsa内部使用ringbuffer,period_size * period_count 决定了ring_buffer的大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值