文本阅读:
第14章个人计算机音频545
音频交换文件格式)文件。大多数芯片组都支持基于采样的波表合成,这就能通过软件进音乐与音响效果的合成和播放。通过波表合成,可以把一个具体的波形存储到ROM中,并对其进行循环播放,从而创建出一个持续不断的声音。一些音频芯片组支持基于物理建模的波导合成,这种方法使用了多种数学模型去仿真乐器的发声方式。从合成能力上说,一颗芯片可以通过使用板载RAM支持128种波表乐器以及很多变种声音和多套鼓音色。并且可以支持64个复音数,而且具备16通道的多音色能力。大多数芯片都有一个MD|接口用于连接外部M|D|硬件设备,比如键盘。芯片组也可能包含内置的3D立体声增强电路。这些专有的系统或多或少地都能扩展立体声声场的深度和广度,并拓宽"最佳听音区在此处听
者能够感受到声道分离。一些芯片组中包含一颗DSP芯片,能在录音和还音时进行硬件的数据缩减,其他一些芯片组则提供了固有的非实时软件数据缩减算法。此外,一些芯片还具备语音识别能力。这些内容将在下面进行更详细地讨论14.4.1音乐合成
从最开始使用FM合成的简单的M|D|合成器开始,计算机声音系统已经变得越来越复杂。
已经实现了各种各样的合成方法,最终生成出来的音乐品质也随着所安装的合成器硬件类型的不同而有着巨大的差异。很多合成器通过一个由多个音频样本构成的表格文件生成音频传统上,这些表格中存储的都是简单的基本波形,比如正弦波或三角波的单个周波。复杂的声音是通过使用更为复杂的算法对这些简单信号进行动态混合而产生的。这就是所谓的传统波表合成。在回放时,一个指针在表格中不断循环读取各个样本,并把它们发送给一个DA转换器。通过改变读取表格的速率来获得不同的音高。对于较高的音高,处理器会跳过些采样点。例如,为了让频率翻倍,需要每隔一个采样点读取通过略过几个采样点
并内插入一些新数值可以获得非整数的更高的音高。对于较低的音高,处理器需要在表格中现有的那些采样点中间内插入一些数值来加入采样点。在这两种情况中,D/A转换器的采样速率仍旧保持恒定。通过对不同的基础波形进行动态地混合或交叉淡入淡出,就能用较低的数据存储开销产生复杂的声音。一个波表在长度上可能只有采样点
基于采样的合成使用了各种乐器以及其他各种自然声音的多段简短录音作为基础波形不过,与每个波表只有512个采样点不同,这些合成器中的每个波表可能使用上千个采样点。
为音乐事件可能会持续几秒或更长的时间,所以需要数量相当可观的存储器。不过,大多数音乐事件都是这样构成的:先是一个起音瞬态信号,随后紧接着稳态的延音部分和
衰减部分。因此,只有瞬态部分和稳态部分中的一小段需要存储。创建声音时,要读取出瞬态部分,然后用类似于波表的方式对稳态部分进行循环读取