|
Windows环境下的麦克风录音系统(1)
Windows环境下的麦克风录音系统 简介 好多年前写的所谓的大学毕业设计,贴出来以资怀念自己的纯真年代吧。 本文简单介绍了声卡的工作原理,录音的原理以及数字音频的基本知识并且利用Windows提供的Waveform Aduio APIs以及Multimedia File I/O APIs实现一个Windows环境下的麦克风录音以及将录音文件保存成.wav文件的简单系统. 关键字 Waveform Aduio APIs, Multimedia File I/O APIs,waveInXXX, mmioXXX,麦克风,录音,波形文件,VC6++ 要深入的了解麦克风录音的实现我们必须了解声卡的工作原理,麦克风录音的原理以及了解相关的编程接口,下面我们将慢慢道来… 1.声卡的工作原理 声卡的工作原理其实很简单,我们知道,麦克风和喇叭所用的都是模拟信号,而电脑所能处理的都是数字信号,两者不能混用,声卡的作用就是实现两者的转换。从结构上分,声卡可分为模数转换电路和数模转换电路两部分,模数转换电路负责将麦克风等声音输入设备采到的模拟声音信号转换为电脑能处理的数字信号,而数模转换电路负责将电脑使用的数字声音信号转换为喇叭等设备能使用的模拟信号,就这么简单。 CSDN_Dev_Image_2004-3-3902270.JPG" align=baseline border=0> 图1 上图就是一块典型的声卡,Mic插口用于连接麦克风,通过它可以录制外界的声音。 2.数字音频基础知识 麦克风录音的过程其实就是将模拟信号转化成数字信号的过程,其中涉及的一些概念如下: 1.采样率(Sampling Rate) 采样率指声卡在一秒之中对声音(波形)作记录的次数,根据研究声音播出时的质量常常只能达到采样率的一半,因此必须采取双倍的采样率才能将声音标准重现.也就是只要采样率大于原始信号频率的两倍以上即可减低错误,达到和原始声音差不多的质量.人的听力大概是20KHZ,所以高品质的采样率应为其两倍以上. 当声音来源为音乐时,因为它所横跨的频率变化极为宽广,通常以44.1KHZ的频率为CD音乐采样率的标准.但是若以语言为主由于人说话的语音大概是10KHZ,因此加倍采样,只取22KHZ即可,采样率越高所记录下来的音质就越清晰,当然,越高的采样所记录下的文件就越大. 2.采样位 解析度决定了采样的音波是否能保持原来的形状,越接近原型则需解析度越高,若以8位来采样的话其能表达的组合种类是2的8次方,即256,表示用8位的采样大小能分辨出256个层次的声音,若用16位来采样,则能分辨的差异将高达2的16次方,为65536,其精度自然大为提高.16位,8位采样的差别在于动态范围的宽窄,动态范围宽广,音量起伏的大小变化就能够更精细的被记录下来,如此一来不论是细微的声音或是强烈的动感震撼,都可以表现的淋漓尽致,而CD音质的采样规格正式16位采样的规格. 3. 量化误差(Quantization error) 在采样的过程中,不断连续变化的模拟信号要用数字化的数值来表示,这样的过程就会发生所谓的量化误差(Quantization error).所谓的量化误差指的是实际的信号的振幅(smplitude)和数字化之后所的数字之间的差异.如果用将数字信号还原成模拟信号的角度看,量化误差就是失真(Distortion).我们可以用增加采样大小的方式来降低量化误差,也就是更多的位(bits)来表示一个采样信号,这样可以提高精度.
|