【音频】音频编程中常见的概念

一,什么是声音?

          能量波,有频率有振幅,频率高低就是音调,振幅大小就是音量

          采样率是对频率采样,采样精度是对幅度采样

          人耳能听到的频率范围是200-20KHz,

二,什么是CODEC?

          在声卡上往往可以找到一颗或者2颗甚至3颗4面有引脚的正方形芯片,面积一般为0.5-1.0平方厘米。这就是CODEC。CODEC就是多媒体数字信号编解码器,主要负责数字->;

          数字->模拟信号转换(DAC)和模拟->数字信号的转换(ADC)。不管是音频加速器好,还是I/O控制器好,他们输入输出的都是纯数字信号,我们要使用声卡上的Line Out插孔输出信号的话,信号就必须经过声卡上的CODEC的转换处理。可以说,声卡模拟输入输出的品质和CODEC的转换品质有着重大的关系,音频加速器或I/O控制器决定了声卡内部数字信号的质量,而CODEC则决定了模拟输入输出的好坏

三,什么是DAC ADC?

        模数、数模转换,不同精度对应不同的声音保真

四,什么是SRC?Sample Rate Convertor(采样率转换器)

        声音是一种能量波,有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线。波是无限光滑的,弦线其实由无数点组成,由于存储空间是相对有限的,数字编码过程中,必须对弦线的点进行采样。采样的过程就是抽取某点的频率值,很显然,在一秒中内抽取得点越多,获取得频率信息更丰富,为了复原波形,一次振动中,必须有2个点的采样,人耳能够感觉到的最高频率为20kHz,因此要满足人耳的听觉要求,则需要至少每秒进行40k次采样,用40kHz表达,这个40kHz就是采样率。我们常见的CD,采样率为44.1kHz。光有频率信息是不够的,我们还必须获得该频率的能量值并量化,用于表示信号强度。量化值为2的整数次幂,我们常见的CD位16bit的采样大小,即2的16次方。

       SRC的作用就是改变信号的采样率,低采样率往高采样率转换时就是一个重采样的过程,重采样对象不再是原始信号,而是这个低采样率的信号,因为采样率不够需要插入更多的采样点以达到需要的采样率和采样大小,在信号频率较低的时候,重采样算法的好坏并不会影响到什么,因为波长长,采样点多,但是高频就很难对付了,因为波长短,采样点少,44.1kHz的采样率情况下,一个20kHz的波仅仅有3个不到的采样点,转换到更高频率的时候势必插入更多的点,要尽量保持原貌,这个点该怎么插,这是一个非常有难度的算法

       举一个例子: 假设三角形是一秒时间长度的一个波,采样率为3Hz,现在我们需要将采样率SRC到4Hz,我们唯一能作的就是时间轴(水平向)等分出4个点,取这个点垂直线和三角形边交汇处的值,这个过程就是重采样,结果变成了一个梯形。在波形图中,垂直的轴对应波的能量值,这意味着波的信号强度变弱了,出现了衰减。这个例子可以说明非整数倍的频率转换将改变波形,改变是不可避免的,算法好可以尽量保证转化后的波形和转换前的相似,但好的算法非常少,现有的大部分声卡SRC算法都是很糟糕的,正如上面这个例子一样,高频衰减就是因为SRC导致的,SRC还会导致一些其他问题,例如互调失真加剧等

 

五,时域采样定理


       频带为F的连续信号 f(t)可用一系列离散的采样值f(t1),f(t1±Δt),f(t1±2Δt),...来表示,只要这些采样点的时间间隔Δt≤1/2F,便可根据各采样值完全恢复原来的信号f(t)

 

六,什么是Crystal?

       Crystal中文名就是石英晶体振荡器或者简称晶振。常见的声卡都支持44.1kHz和48kHz的信号输入,而这2种采样率不是整数倍关系,如果同时支持这2种采样率输出的话,声卡上需要2颗晶振。分别为12.288MHz和24.576MHz(或者为他们整数倍的频率)。

 

七,音频采样 AD

        数码音频系统是通过将声波波形转换成一连串的二进制数据来再现原始声音的,实现这个步骤使用的设备是模/数转换器(A/D)它以每秒上万次的速率对声波进 行采样。

        每一次采样都记录下了原始模拟声波在某一时刻的状态,称之为样本。将一串的样本连接起来,就可以描述一段声波了。

        把每一秒钟所采样的数目称为采样频率,单位为HZ(赫兹)。采样频率越高所能描述的声波频率就越高。

        采样率决定声音频率的范围(相当于音调),可以用数字波形表示。以波形表示的频 率范围通常被称为带宽。要正确理解音频采样可以分为采样的位数和采样的频率。

        在当今的主流采集卡上,采样频率一般共分为 22.05KHz、44.1KHz、48KHz三个等级,22.05 KHz只能达到FM广播的声音品质,44.1KHz则是理论上的CD音质界限,48KHz则更加精确一些。对于高于48KHz的采样频率人耳已无法辨别出 来了,所以在电脑上没有多少使用价值 

八,采样位数 采样精度

        采样位数可以理解为采集卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音就越真实。我们首先要知道:电脑中的声音文件是用数字0和1来 表示的。所以在电脑上录音的本质就是把模拟声音信号转换成数字信号。反之,在播放时则是把数字信号还原成模拟声音信号输出。采集卡的位是指采集卡在采集和播放声音文件时所使用数字声音信号的二进制位数。采集卡的位客观地反映了数字声音信号对输入声音信号描述的准确程度。8位代表2的8次方--256,16 位则代表2的16次方--64K。比较一下,一段相同的音乐信息,16位声卡能把它分为64K个精度单位进行处理,而8位声卡只能处理256个精度单位,造成了较大的信号损失,最终的采样效果自然是无法相提并论的。

九,WAV音频格式文件大小、播放时间换算

        采样率一般是44.1K,16bit采样精度,存储成WAV格式大小 = 44.1KHz(采样率) X 16bit(采样精度) X 2(双声道) X 播放时间

         WAV格式是没有压缩无损的,MP3格式是按1:12压缩保存的,所以MP3格式大小等于上式的1/12。

十,ALSA

        ALSA是Advanced Linux Sound Architecture(高级Linux声音架构),它在Linux操作系统上提供了音频和MIDI(Musical Instrument Digital Interface,音乐设备数字化接口)的支持。在2.6系列内核中,ALSA已经成为默认的声音子系统,用来替换2.4系列内核中的OSS(Open Sound System,开放声音系统)。

  ALSA的主要特性包括:高效地支持从消费类入门级声卡到专业级音频设备所有类型的音频接口,完全模块化的设计,支持对称多处理(SMP)和线程安全,对OSS的向后兼容,以及提供了用户空间的alsa-lib库来简化应用程序的开发。

十一,OSS(Open Sound System)是Linux中的另外一个音频驱动程序框架

            OSS音频开发详解

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值