标题：波形声音
声音与波形
在接触波形声音API之前，具备一些预备知识很重要，这些知识包括物理学、听觉以及声音进出计算机的程序。
声音就是振动。当声音改变了鼓膜上空气的压力时，我  波形声音们就感觉到了声音。麦克风可以感应这些振动，并且将它们转换为电流。同样，电流再经过放大器和扩音器，就又变成了声音。传统上，声音以模拟方式储存（例如录音磁带和唱片），这些振动储存在磁气脉冲或者轮廓凹槽中。当声音转换为电流时，就可以用随时间振动的波形来表示。振动最自然的形式可以用正弦波表示。
正弦波有两个参数－振幅（也就是一个周期中的最大振幅）和频率。我们已知振幅就是音量，频率就是音调。一般来说人耳可感受的正弦波的范围是从20Hz（每秒周期）的低频声音到20,000Hz的高频声，但随着年龄的增长，对高频声音的感受能力会逐年退化。
人感受频率的能力与频率是对数关系而不是线性关系。也就是说，我们感受20Hz到40Hz的频率变化与感受40Hz到80Hz的频率变化是一样的。在音乐中，这种加倍的频率定义为八度音阶。因此，人耳可感觉到大约10个八度音阶的声音。钢琴的范围是从27.5 Hz到4186 Hz之间，略小于7个八度音阶。
虽然正弦波代表了振动的大多数自然形式，但纯正弦波很少在现实生活中单独出现，而且，纯正弦波并不动听。大多数声音都很复杂。
任何周期的波形（即，一个循环波形）可以分解成多个正弦波，这些正弦波的频率都是整倍数。这就是所谓的Fourier级数，它以法国数学家和物理学家Jean Baptiste Joseph Fourier（1768-1830）的名字命名。周期的频率是基础。级数中其它正弦波的频率是基础频率的2倍、3倍、4倍（等等）。这些频率的声音称为泛音。基础频率也称作一级谐波。第一泛音是二级谐波，以此类推。
正弦波谐波的相对强度给每个周期的波形唯一的声音。这就是「音质」，它使得喇叭吹出喇叭声，钢琴弹出钢琴声。
人们一度认为电子合成乐器仅仅需要将声音分解成谐波并且与多个正弦波重组即可。不过，事实证明现实世界中的声音并不是这么简单。代表现实世界中声音的波形都没有严格的周期。乐器之间谐波的相对强度是不同的，并且谐波也随着每个音符的演奏时间改变。特别是乐器演奏音符的开始位置－我们称作起奏（attack）－相当复杂，但这个位置又对我们感受音质至关重要。
由于近年来数字储存能力的提高，我们可以将声音直接以数字形式储存而不用复杂的重组。
脉冲编码调制
脉冲编码调制（Pulse Code Modulation）
计算机处理的是数值，因此要使声音进入计算机，就必须  声音波形编辑工具设计一种能将声音与数字信号相互转换的机制。
不压缩数据就完成此功能的最常用方法称作「脉冲编码调制」（PCM：pulse code modulation）。PCM可用在光盘、数字式录音磁带以及Windows中。脉冲编码调制其实只是一种概念上很简单的处理步骤的奇怪代名词而已。
利用脉冲编码调制，波形可以按固定的周期频率取样，其频率通常是每秒几万次。对于每个样本都测量其波形的振幅。完成将振幅转换成数字信号工作的硬件是模拟数字转换器（ADC：analog-to-digital converter）。类似地，通过数字模拟转换器（DAC：digital-to-analog converter）可将数字信号转换回波形电子信号。但这样转换得到的波形与输入的并不完全相同。合成的波形具有由高频组成的尖锐边缘。因此，播放硬件通常在数字模拟转换器后还包括一个低通滤波器。此滤波器滤掉高频，并使合成后的波形更平滑。在输入端，低通滤波器位于ADC前面。
参数脉冲编码调制有两个参数：取样频率，即每秒内测量波形振幅的次数；样本大小，即用于储存振幅级的位数。与您想象的一样：取样频率越高，样本大小越大，原始声音的复制品才更好。不过，存在一个提高取样频率和样本大小的极点，超过这个极点也就超过了人类分辨声音的极限。另外，如果取样频率和样本大小过低，将导致不能精确地复制音乐以及其它声音。
取样频率
取样频率决定声音可被数字化和储存的最大频率。尤其是，取样频率必须是样本声音最高频率的两倍。这就是「Nyquist频率（Nyquist Frequency）」，以30年代研究取样程序的工程师Harry Nyquist的名字命名。
以过低的取样频率对正弦波取样时，合成的波形比最初的波形频率更低。这就是所说的失真信号。为避免失真信号的发生，在输入端使用低通滤波器以阻止频率大于半个取样频率的所有波形。在输出端，数字模拟转换器产生的粗糙的波形边缘实际上是由频率大于半个取样频率的波形组成的泛音。因此，位于输出端的低通滤波器也阻止频率大于半个取样频率的所有波形。
声音CD中使用的取样频率是每秒44,100个样本，或者称为44.1kHz。这个特有的数值是这样产生的：
人耳可听到最高20kHz的声音，因此要拦截人能听到的整个声音范围，就需要40kHz的取样频率。然而，由于低通滤波器具有频率下滑效应，所以取样频率应该再高出大约百分之十才行。现在，取样频率就达到了44kHz。这时，我们要与视讯同时记录数字声音，于是取样频率就应该是美国、欧洲电视显示格速率的整数倍，这两种视讯格速率分别是30Hz和25Hz。这就使取样频率升高到了44.1kHz。
取样频率为44.1kHz的光盘会产生大量的数据，这对于一些应用程序来说实在是太多了，例如对于录制声音而不是录制音乐时就是这样。把取样频率减半到22.05 kHz，可由一个10 kHz的泛音来简化复制声音的上半部分。再将其减半到11.025 kHz就向我们提供了5 kHz频率范围。44.1 kHz、22.05 kHz和11.025 kHz的取样频率，以及8 kHz都是波形声音设备普遍支持的标准。
因为钢琴的最高频率为4186 Hz，所以您可能会认为给钢琴录音时，11.025 kHz的取样频率就足够了。但4186 Hz只是钢琴最高的基础频率而已，滤掉大于5000Hz的所有正弦波将减少可被复制的泛音，而这样将不能精确地捕捉和复制钢琴的声音。
样本大小
脉冲编码调制的第二个参数是按位计算的样本大小。样本大小决定了可供录制和播放的最低音与最高音之间的区别。这就是通常所说的动态范围。
声音强度是波形振幅的平方（即每个正弦波一个周期中最大振幅的合成）。与频率一样，人对声音强度的感受也呈对数变化。
两个声音在强度上的区别是以贝尔（以电话发明人Alexander Graham Bell的名字命名）和分贝（dB）为单位进行测量的。1贝尔在声音强度上呈10倍增加。1dB就是以相同的乘法步骤成为1贝尔的十分之一。由此，1dB可增加声音强度的1.26倍（10的10次方根），或者增加波形振幅的1.12倍（10的20次方根）。1分贝是耳朵可感觉出的声强的最小变化。从开始能听到的声音极限到让人感到疼痛的声音极限之间的声强差大约是100 dB。
Windows同时支持8位和16位的样本大小。储存8位的样本时，样本以无正负号字节处理，静音将储存为一个值为0x80的字符串。16位的样本以带正负号整数处理，这时静音将储存为一个值为0的字符串。
要计算未压缩声音所需的储存空间，可用以秒为单位的声音持续时间乘以取样频率。如果用16位样本而不是8位样本，则将其加倍，如果是录制立体声则再加倍。例如，1小时的CD声音（或者是在每个立体声样本占2字节、每秒44 ,100个样本的速度下进行3 600秒）需要635MB，这快要接近一张CD-ROM的储存量了。
软件产生正弦波
对于第一个关于波形声音的练习，我们不打算将声音储存到文件中或播放录制的声音。我们将使用低阶的波形声音API（即，前缀是waveOut的函数）来建立一个称作SINEWAVE的声音正弦波生成器。此程序以1 Hz的增量来生成从20Hz（人可感觉的最低值）到5,000Hz（与人感觉的最高值相差两个八度音阶）的正弦波。
我们知道，标准C执行时期链接库包括了一个sin函数，该  波形声音——软件函数传回一个弧度角的正弦值（2π弧度等于360度）。sin函数传回值的范围是从-1到1（早在第五章，我们就在SINEWAVE程序中使用过这个函数）。因此，应该很容易使用sin函数生成输出到波形声音硬件的正弦波数据。基本上是用代表波形（这时是正弦波）的数据来填充缓冲区，并将此缓冲区传递给API。（这比前面所讲的稍微有些复杂，但我将详细介绍）。波形声音硬件播放完缓冲区中的数据后，应将第二个缓冲区中的数据传递给它，并且以此类推。
第一次考虑这个问题（而且对PCM也一无所知）时，您大概会认为将一个周期的正弦波分成若干固定数量的样本－例如360个－才合理。对于20 Hz的正弦波，每秒输出7,200个样本。对于200 Hz的正弦波，每秒则要输出72,000个样本。这有可能实作，但实际上却不能这么做。对于5,000 Hz的正弦波，就需要每秒输出1,800,000个样本，这的确会增大DAC的负担！更重要的是，对于更高的频率，这种作法会比实际需要的精确度还高。
就脉冲编码调制而言，取样频率是个常数。假定取样频率是SINEWA  波形声音——软件VE程序中使用的11,025Hz。如果要生成一个2,756.25Hz（确切地说是四分之一的取样频率）的正弦波，则正弦波的每个周期就有4个样本。对于25Hz的正弦波，每个周期就有441个样本。通常，每周期的样本数等于取样频率除以要得到的正弦波频率。一旦知道了每周期的样本数，用2π弧度除以此数，然后用sin函数来获得每周期的样本。然后再反复对一个周期进行取样，从而建立一个连续的波形。
问题是每周期的样本数可能带有小数，因此在使用时这种方法并不是很好。每个周期的尾部都会有间断。
使它正常工作的关键是保留一个静态的「相位角」变数。此角初始化为0。第一个样本是0度正弦。随后，相位角增加一个值，该值等于2π乘以频率再除以取样频率。用此相位角作为第二个样本，并且按此方法继续。一旦相位角超过2π弧度，则减去2π弧度，而不要把相位角再初始化为0。
例如，假定要用11,025Hz的取样频率来生成1,000Hz的正弦波。即每周期有大约11个样本。为便于理解，此处相位角按度数给出－大约前一个半周期的相位角是：0、32.65、65.31、97.96、130.61、163.27、195.92、228.57、261.22、293.88、326.53、359.18、31.84、64.49、97.14、129.80、162.45、195.10，以此类推。存入缓冲区的波形数据是这些角度的正弦值，并已缩放到每样本的位数。为后来的缓冲区建立数据时，可继续增加最后的相位角，而不要将它初始化为0。
WAV类型的格式
记录声音采样点数据的文件叫做“波形声音”文件。波形声音构件专门用于WAV类型声音文件的播放。波形声音与音响构件的区别在于，它只用于播放WAV类型。
●AVI格式：它的英文全称为Audio Video Interleaved，即音频视频交错格式。它于1992年被Microsoft公司推出，随Windows3.1一起被人们所认识和熟知。所谓“音频视频交错”，就是可以将视频和音频交织在一起进行同步播放。这种视频格式的优点是图像质量好，可以跨  波形声音多个平台使用，其缺点是体积过于庞大，而且更加糟糕的是压缩标准不统一，最普遍的现象就是高版本Windows媒体播放器播放不了采用早期编码编辑的AVI格式视频，而低版本Windows媒体播放器又播放不了采用最新编码编辑的AVI格式视频，所以我们在进行一些AVI格式的视频播放时常会出现由于视频编码问题而造成的视频不能播放或即使能够播放，但存在不能调节播放进度和播放时只有声音没有图像等一些莫名其妙的问题，如果用户在进行AVI格式的视频播放时遇到了这些问题，可以通过下载相应的解码器来解决。 
●nAVI格式：nAVI是newAVI的缩写，是一个名为ShadowRealm的地下组织发展起来的一种新视频格式(与我们上面所说的AVI格式没有太大联系)。它是由Microsoft ASF压缩算法的修改而来的，但是又与下面介绍的网络影像视频中的ASF视频格式有所区别，它以牺牲原有ASF视频文件视频“流”特性为代价而通过增加帧率来大幅提高ASF视频文件的清晰度。 
●DV-AVI格式：DV的英文全称是Digital Video Format，是由索尼、松下、JVC等多家厂商联合提出的一种家用数字视频格式。目前非常流行的数码摄像机就是使用这种格式记录视频数据的。它可以通过电脑的IEEE 1394端口传输视频数据到电脑，也可以将电脑中编辑好的的视频数据回录到数码摄像机中。这种视频格式的文件扩展名一般是.avi，所以也叫DV-AVI格式。 
●MPEG格式：它的英文全称为Moving Picture Expert Group，即运动图像专家组格式，家里常看的VCD、SVCD、DVD就是这种格式。MPEG文件格式是运动图像压缩算法的国际标准，它采用了有损压缩方法减少运动图像中的冗余信息，说的更加明白一点就是MPEG的压缩方法依据是相邻两幅画面绝大多数是相同的，把后续图像中和前面图像有冗余的部分去除，从而达到压缩的目的(其最大压缩比可达到200:1)。目前MPEG格式有三个压缩标准，分别是MPEG－1、MPEG－2、和MPEG－4，另外，MPEG-7与MPEG-21仍处在研发阶段。 
MPEG－1：制定于1992年，它是针对1.5Mbps以下数据传输率的数字存储媒体运动图像及其伴音编码而设计的国际标准。也就是我们通常所见到的VCD制作格式。使用MPEG-1的压缩算法，可以把一部120分钟长的电影压缩到1.2GB左右大小。这种视频格式的文件扩展名包括.mpg、.mlv、.mpe、.mpeg及VCD光盘中的.dat文件等。 
MPEG－2：制定于1994年，设计目标为高级工业标准的图像质量以及更高的传输率。这种格式主要应用在DVD/SVCD的制作(压缩)方面，同时在一些HDTV(高清晰电视广播)和一些高要求视频编辑、处理上面也有相当的应用。使用MPEG-2的压缩算法，可以把一部120分钟长的电影压缩到4到8GB的大小。这种视频格式的文件扩展名包括.mpg、.mpe、.mpeg、.m2v及DVD光盘上的.vob文件等。 
MPEG－3（MPEG AUDIO LAYER 3）是一种具有高压缩率的音响信号文件。虽然它音乐信号的压 缩比例较高，但依然可以与CD/MD的音质媲美。MP3高达10比1的压缩比例。使一张CD-R/RW上可以容纳10张普通CD的音乐。达到可以长时间播放音乐。您可以从互联网或其它渠道获取MP3格式的音乐。 
MPEG－4：制定于1998年，MPEG－4是为了播放流式媒体的高质量视频而专门设计的，它可利用很窄的带度，通过帧重建技术，压缩和传输数据，以求使用最少的数据获得最佳的图像质量。目前MPEG-4最有吸引力的地方在于它能够保存接近于DVD画质的小体积视频文件。另外，这种文件格式还包含了以前MPEG压缩标准所不具备的比特率的可伸缩性、动画精灵、交互性甚至版权保护等一些特殊功能。这种视频格式的文件扩展名包括.asf、.mov和DivX AVI等。 
小提示：细心的用户一定注意到了，这中间怎么没有MPEG－3编码？实际上，大家熟悉的MP3就是采用的MPEG－3(MPEG Layeur3)编码。 
●DivX格式：这是由MPEG－4衍生出的另一种视频编码(压缩)标准，也即我们通常所说的DVDrip格式，它采用了MPEG4的压缩算法同时又综合了MPEG-4与MP3各方面的技术，说白了就是使用DivX压缩技术对DVD盘片的视频图像进行高质量压缩，同时用MP3或AC3对音频进行压缩，然后再将视频与音频合成并加上相应的外挂字幕文件而形成的视频格式。其画质直逼DVD并且体积只有DVD的数分之一。这种编码对机器的要求也不高，所以DivX视频编码技术可以说是一种对DVD造成威胁最大的新生视频压缩格式，号称DVD杀手或DVD终结者。 
●MOV格式：美国Apple公司开发的一种视频格式，默认的播放器是苹果的QuickTimePlayer。具有较高的压缩比率和较完美的视频清晰度等特点，但是其最大的特点还是跨平台性，即不仅能支持MacOS，同样也能支持Windows系列。 
网络影像视频
●ASF格式：它的英文全称为Advanced Streaming format，它是微软为了和现在的Real Player竞争而推出的一种视频格式，用户可以直接使用Windows自带的Windows Media Player对其进行播放。由于它使用了MPEG-4的压缩算法，所以压缩率和图像的质量都很不错(高压缩率有利于视频流的传输，但图像质量肯定会的损失，所以有时候ASF格式的画面质量不如VCD是正常的)。 
●WMV格式：它的英文全称为Windows Media Video，也是微软推出的一种采用独立编码方式并且可以直接在网上实时观看视频节目的文件压缩格式。WMV格式的主要优点包括：本地或网络回放、可扩充的媒体类型、部件下载、可伸缩的媒体类型、流的优先级化、多语言支持、环境独立性、丰富的流间关系以及扩展性等。 
●RM格式：Real Networks公司所制定的音频视频压缩规范称为Real Media，用户可以使用RealPlayer或RealOne Player对符合RealMedia技术规范的网络音频/视频资源进行实况转播并且RealMedia可以根据不同的网络传输速率制定出不同的压缩比率，从而实现在低速率的网络上进行影像数据实时传送和播放。这种格式的另一个特点是用户使用RealPlayer或RealOne Player播放器可以在不下载音频/视频内容的条件下实现在线播放。另外，RM作为目前主流网络视频格式，它还可以通过其Real Server服务器将其它格式的视频转换成RM视频并由Real Server服务器负责对外发布和播放。RM和ASF格式可以说各有千秋，通常RM视频更柔和一些，而ASF视频则相对清晰一些。 
●RMVB格式：这是一种由RM视频格式升级延伸出的新视频格式，它的先进之处在于RMVB视频格式打破了原先RM格式那种平均压缩采样的方式，在保证平均压缩比的基础上合理利用比特率资源，就是说静止和动作场面少的画面场景采用较低的编码速率，这样可以留出更多的带宽空间，而这些带宽会在出现快速运动的画面场景时被利用。这样在保证了静止画面质量的前提下，大幅地提高了运动图像的画面质量，从而图像质量和文件大小之间就达到了微妙的平衡。另外，相对于DVDrip格式，RMVB视频也是有着较明显的优势，一部大小为700MB左右的DVD影片，如果将其转录成同样视听品质的RMVB格式，其个头最多也就400MB左右。不仅如此，这种视频格式还具有内置字幕和无需外挂插件支持等独特优点。要想播放这种视频格式，可以使用RealOne Player2.0或RealPlayer8.0加RealVideo9.0以上版本的解码器形式进行播放。 
●WAV格式是微软公司开发的一种声音文件格式，也叫波形声音文件，是最早的数字音频格式，被Windows平台及其应用程序广泛支持。WAV格式支持许多压缩算法，支持多种音频位数、采样频率和声道，采用44.1kHz的采样频率，16位量化位数，因此WAV的音质与CD相差无几，但WAV格式对存储空间需求太大不便于交流和传播。 
●WMA的全称是Windows Media Audio，是微软力推的一种音频格式。WMA格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的，其压缩率一般可以达到1:18，生成的文件大小只有相应MP3文件的一半。这对只装配32M的机型来说是相当重要的，支持了WMA和RA格式，意味着32M的空间在无形中扩大了2倍。此外，WMA还可以通过DRM（Digital Rights Management）方案加入防止拷贝，或者加入限制播放时间和播放次数，甚至是播放机器的限制，可有力地防止盗版。