第2章数字声音及MID简介 水水水水*水水水水冰水水水水水水水水水水水客水水水水水水冰水水水水冰水水水水水水水水水水水水水冰水水水冰水水水水水水水水*水水冰水水水冰水 2.1.声音与听觉器官 2.2声音信号数字化 2.2.1从模拟过渡到数字 2.2.2模拟信号与数字信号 2.2.3声音信号数字化 2.2.4采样频率 2.2.5采样精度 2.2.6声音质量与数据率 2.3声音文件的存储格式 2.4声音工具 2.5声音质量的度量 2.6电子乐器数字接口QMD系统 2.6.1MIDI简介 2.6.2FM合成声音 2.6.3乐音样本合成声音 2.6.4MIDI系统 2.6.5MIDI消息 2.6.6MIDI音序器和标准MIDI文件 2.6.7合成器的多音调和多音色 2.6.8通用MIDI(GM) 练习与思考题 参考文献和站点 冰冰冰*冰水*冰水本冰水*冰水冰*水水水冰水冰水冰冰水冰*水*水水冰水水水*冰水*冰 声音是携带信息的极其重要的媒体,是多媒体技术研究中的一个重要内容。声音的种类 繁多,如人的话音、乐器声、动物发出的声音、机器产生的声音以及自然界的雷声、风声 雨声、闪电声等。这些声音有许多共同的特性,也有它们各自的特性。在用计算机处理这些 声音时,既要考虑它们的共性,又要利用它们的各自的特性。本章将介绍声音的基础知识, 重点掌握声音数字化的两个最基本的概念。此外,还介绍在上网浏览或者脱机工作时你会经 常遇到的声音文件存储格式和声音工具 2.1声音与听觉器官 声音是通过空气传播的一种连续的波,叫声波。声音的强弱体现在声波压力的大小上, 音调的高低体现在声音的频率上。声音用电表示时,声音信号在时间和幅度上都是连续的模 拟信号,如图2-01所示。声波具有普通波所具有的特性,例如反射( reflection)、折射 ( refraction)和衍射( diffraction)等
第2章 数字声音及MIDI简介 *************************************************************************** 2.1. 声音与听觉器官 2.2 声音信号数字化 2.2.1 从模拟过渡到数字 2.2.2 模拟信号与数字信号 2.2.3 声音信号数字化 2.2.4 采样频率 2.2.5 采样精度 2.2.6 声音质量与数据率 2.3 声音文件的存储格式 2.4 声音工具 2.5 声音质量的度量 2.6 电子乐器数字接口(MIDI)系统 2.6.1 MIDI简介 2.6.2 FM合成声音 2.6.3 乐音样本合成声音 2.6.4 MIDI 系统 2.6.5 MIDI消息 2.6.6 MIDI音序器和标准MIDI文件 2.6.7 合成器的多音调和多音色 2.6.8 通用MIDI(GM) 练习与思考题 参考文献和站点 *************************************************************************** 声音是携带信息的极其重要的媒体,是多媒体技术研究中的一个重要内容。声音的种类 繁多,如人的话音、乐器声、动物发出的声音、机器产生的声音以及自然界的雷声、风声、 雨声、闪电声等。这些声音有许多共同的特性,也有它们各自的特性。在用计算机处理这些 声音时,既要考虑它们的共性,又要利用它们的各自的特性。本章将介绍声音的基础知识, 重点掌握声音数字化的两个最基本的概念。此外,还介绍在上网浏览或者脱机工作时你会经 常遇到的声音文件存储格式和声音工具。 2.1 声音与听觉器官 声音是通过空气传播的一种连续的波,叫声波。声音的强弱体现在声波压力的大小上, 音调的高低体现在声音的频率上。声音用电表示时,声音信号在时间和幅度上都是连续的模 拟信号,如图2-01所示。声波具有普通波所具有的特性,例如反射 (reflection)、折射 (refraction)和衍射 (diffraction)等
第2章数字声音简介 图2-01声音是一种连续的波 对声音信号的分析表明,声音信号由许多频率不同的信号组成,这类信号称为复合信号, 而单一频率的信号称为分量信号。声音信号的一个重要参数就是带宽,它用来描述组成复合 信号的频率范围。如高保声音信号(high- fidelity audio)的频率范围为10Hz~20000Hz, 它的带宽约为20kHz,而视频信号的带宽是6MHz 声音信号的两个基本参数是频率和幅度。信号的频率是指信号每秒钟变化的次数,用Hz 表示。例如,大气压的变化周期很长,以小时或天数计算,一般人不容易感到这种气压信号 的变化,更听不到这种变化。对于频率为几Hz到20H的空气压力信号,人们也听不到,如 果它的强度足够大,也许可以感觉到。人们把频率小于20Hz的信号称为亚音信号,或称为 次音信号( subsonic):频率范围为20Hz~20kHz的信号称为音频( Audio)信号:虽然人的发 音器官发出的声音频率大约是80~3400Hz,但人说话的信号频率通常为300~3000Hz,人 们把在这种频率范围的信号称为话音( speech)信号:高于20kHz的信号称为超音频信号,或 称超声波( ultrasonic)信号。超音频信号具有很强的方向性,而且可以形成波束,在工业 上得到广泛的应用,如超声波探测仪,超声波焊接设备等就是利用这种信号。在多媒体技术 中,处理的信号主要是音频信号,它包括音乐、话音、风声、雨声、鸟叫声、机器声等 人们是否都能听到音频信号,这主要取决于各个人的年龄和耳朵的特性。一般来说,人 的听觉器官能感知的声音频率大约在20~20000H之间,在这种频率范围里感知的声音幅度 大约在0~120dB之间。除此之外,人的听觉器官对声音的感知还有一些重要特性,这些特 性将在第9章中介绍,它们在声音数据压缩中已经得到广泛的应用 2.2声音信号数字化 2.2.1从模拟过渡到数字 回顾历史,大多数电信号的处理一直是用模拟元部件(如晶体管、变压器、电阻、电容 等)对模拟信号进行处理。但是,开发一个具有相当精度、且几乎不受环境变化影响的模拟 信号处理元部件是相当困难的,而且成本也很高。 如果把模拟信号转变成数字信号,用数字来表示模拟量,对数字信号做计算,那末难点 就发生了转移,把开发模拟运算部件的问题转变成开发数字运算部件的问题,这就出现了数 字信号处理器( digital signal processor,DsP)。DSP与通用微处理器相比,除了它们的结 构不同外,其基本差别是,DSP有能力响应和处理采样模拟信号得到的数据流,如做乘法和 累加求和运算。 在数字域而不在模拟域中做信号处理的主要优点是:首先,数字信号计算是一种精确的 运算方法,它不受时间和环境变化的影响:其次,表示部件功能的数学运算不是物理上实现 的功能部件,而是仅用数学运算去模拟,其中的数学运算也相对容易实现:此外,可以对数 字运算部件进行编程,如欲改变算法或改变某些功能,还可对数字部件进行再编程 2.2.2模拟信号与数字信号 话音信号是典型的连续信号,不仅在时间上是连续的,而且在幅度上也是连续的。在时 间上“连续”是指在一个指定的时间范围里声音信号的幅值有无穷多个,在幅度上“连续 是指幅度的数值有无穷多个。我们把在时间和幅度上都是连续的信号称为模拟信号。 在某些特定的时刻对这种模拟信号进行测量叫做采样( sampling),由这些特定时刻采样 得到的信号称为离散时间信号。采样得到的幅值是无穷多个实数值中的一个,因此幅度还是 连续的。如果把信号幅度取值的数目加以限定,这种由有限个数值组成的信号就称为离散幅 度信号。例如,假设输入电压的范围是0.0V~0.7V,并假设它的取值只限定在0、0.1、0.2,…, 0.7共8个值。如果采样得到的幅度值是0.123V,它的取值就应算作0.1V,如果采样得到的幅
第2章 数字声音简介 2 图2-01 声音是一种连续的波 对声音信号的分析表明,声音信号由许多频率不同的信号组成,这类信号称为复合信号, 而单一频率的信号称为分量信号。声音信号的一个重要参数就是带宽,它用来描述组成复合 信号的频率范围。如高保声音信号(high-fidelity audio)的频率范围为10 Hz~20 000 Hz, 它的带宽约为20 kHz,而视频信号的带宽是6 MHz。 声音信号的两个基本参数是频率和幅度。信号的频率是指信号每秒钟变化的次数,用Hz 表示。例如,大气压的变化周期很长,以小时或天数计算,一般人不容易感到这种气压信号 的变化,更听不到这种变化。对于频率为几Hz到20 Hz的空气压力信号,人们也听不到,如 果它的强度足够大,也许可以感觉到。人们把频率小于20 Hz的信号称为亚音信号,或称为 次音信号(subsonic);频率范围为20 Hz~20 kHz的信号称为音频(Audio)信号;虽然人的发 音器官发出的声音频率大约是80~3400 Hz,但人说话的信号频率通常为300~3000 Hz,人 们把在这种频率范围的信号称为话音(speech)信号;高于20 kHz的信号称为超音频信号,或 称超声波 (ultrasonic) 信号。超音频信号具有很强的方向性,而且可以形成波束,在工业 上得到广泛的应用,如超声波探测仪,超声波焊接设备等就是利用这种信号。在多媒体技术 中,处理的信号主要是音频信号,它包括音乐、话音、风声、雨声、鸟叫声、机器声等。 人们是否都能听到音频信号,这主要取决于各个人的年龄和耳朵的特性。一般来说,人 的听觉器官能感知的声音频率大约在20~20000 Hz之间,在这种频率范围里感知的声音幅度 大约在0~120 dB之间。除此之外,人的听觉器官对声音的感知还有一些重要特性,这些特 性将在第9章中介绍,它们在声音数据压缩中已经得到广泛的应用。 2.2 声音信号数字化 2.2.1 从模拟过渡到数字 回顾历史,大多数电信号的处理一直是用模拟元部件(如晶体管、变压器、电阻、电容 等)对模拟信号进行处理。但是,开发一个具有相当精度、且几乎不受环境变化影响的模拟 信号处理元部件是相当困难的,而且成本也很高。 如果把模拟信号转变成数字信号,用数字来表示模拟量,对数字信号做计算,那末难点 就发生了转移,把开发模拟运算部件的问题转变成开发数字运算部件的问题,这就出现了数 字信号处理器(digital signal processor,DSP)。DSP与通用微处理器相比,除了它们的结 构不同外,其基本差别是,DSP有能力响应和处理采样模拟信号得到的数据流,如做乘法和 累加求和运算。 在数字域而不在模拟域中做信号处理的主要优点是:首先,数字信号计算是一种精确的 运算方法,它不受时间和环境变化的影响;其次,表示部件功能的数学运算不是物理上实现 的功能部件,而是仅用数学运算去模拟,其中的数学运算也相对容易实现;此外,可以对数 字运算部件进行编程,如欲改变算法或改变某些功能,还可对数字部件进行再编程。 2.2.2 模拟信号与数字信号 话音信号是典型的连续信号,不仅在时间上是连续的,而且在幅度上也是连续的。在时 间上“连续”是指在一个指定的时间范围里声音信号的幅值有无穷多个,在幅度上“连续” 是指幅度的数值有无穷多个。我们把在时间和幅度上都是连续的信号称为模拟信号。 在某些特定的时刻对这种模拟信号进行测量叫做采样(sampling),由这些特定时刻采样 得到的信号称为离散时间信号。采样得到的幅值是无穷多个实数值中的一个,因此幅度还是 连续的。如果把信号幅度取值的数目加以限定,这种由有限个数值组成的信号就称为离散幅 度信号。例如,假设输入电压的范围是0.0V~0.7V,并假设它的取值只限定在0、0.1、0.2,…, 0.7共8个值。如果采样得到的幅度值是0.123V,它的取值就应算作0.1V,如果采样得到的幅
第2章数字声音简介 度值是0.26V,它的取值就算作0.3,这种数值就称为离散数值。我们把时间和幅度都用离散 的数字表示的信号就称为数字信号 2.2.3声音信号数字化 声音进入计算机的第一步就是数字化,数字化实际上就是采样和量化。如前所述,连续 时间的离散化通过采样来实现,就是每隔相等的一小段时间采样一次,这种采样称为均匀采 样( uniform sampling):连续幅度的离散化通过量化( quantization)来实现,就是把信号的 强度划分成一小段一小段,如果幅度的划分是等间隔的,就称为线性量化,否则就称为非线 性量化。图2-02表示了声音数字化的概念。 0100 0010 0000 100l l010 1011 1100 图2-02声音的采样和量化 声音数字化需要回答两个问题:①每秒钟需要采集多少个声音样本,也就是采样频率(f) 是多少,②每个声音样本的位数( bit per sample,bps)应该是多少,也就是量化精度 2.2.4采样频率 采样频率的高低是根据奈奎斯特理论( Nyquist theory)和声音信号本身的最高频率决 定的。奈奎斯特理论指出,采样频率不应低于声音信号最高频率的两倍,这样就能把以数字 表达的声音还原成原来的声音,这叫做无损数字化( lossless digitization)。采样定律用 公式表示为 f≥2f或者T≤m/2 其中f为被采样信号的最高频率 你可以这样来理解奈奎斯特理论:声音信号可以看成由许许多多正弦波组成的,一个振 幅为A、频率为f正弦波至少需要两个采样样本表示,因此,如果一个信号中的最高频率为 ∫m,采样频率最低要选择2Jm。例如,电话话音的信号频率约为34kz,采样频率就 选为8kHz 2.2.5采样精度 样本大小是用每个声音样本的位数bit/s(即bps)表示的,它反映度量声音波形幅度的精 度。例如,每个声音样本用16位(2字节)表示,测得的声音样本值是在0 的范围里 它的精度就是输入信号的1/65536。样本位数的大小影响到声音的质量,位数越多,声音的 质量越高,而需要的存储空间也越多;位数越少,声音的质量越低,需要的存储空间越少 采样精度的另一种表示方法是信号噪声比,简称为信噪比( signal-to- noise ratio, SNR),并用下式计算: sNr= 10 lg [(sigmal)/(Voise)]=20 1g (Signal /Vnoise 其中,Vima表示信号电压,表示噪声电压:SNR的单位为分贝(db)
第2章 数字声音简介 3 度值是0.26V,它的取值就算作0.3,这种数值就称为离散数值。我们把时间和幅度都用离散 的数字表示的信号就称为数字信号。 2.2.3 声音信号数字化 声音进入计算机的第一步就是数字化,数字化实际上就是采样和量化。如前所述,连续 时间的离散化通过采样来实现,就是每隔相等的一小段时间采样一次,这种采样称为均匀采 样(uniform sampling);连续幅度的离散化通过量化(quantization)来实现,就是把信号的 强度划分成一小段一小段,如果幅度的划分是等间隔的,就称为线性量化,否则就称为非线 性量化。图2–02表示了声音数字化的概念。 图2-02 声音的采样和量化 声音数字化需要回答两个问题:①每秒钟需要采集多少个声音样本,也就是采样频率(fs) 是多少,②每个声音样本的位数(bit per sample,bps)应该是多少,也就是量化精度。 2.2.4 采样频率 采样频率的高低是根据奈奎斯特理论(Nyquist theory)和声音信号本身的最高频率决 定的。奈奎斯特理论指出,采样频率不应低于声音信号最高频率的两倍,这样就能把以数字 表达的声音还原成原来的声音,这叫做无损数字化(lossless digitization)。采样定律用 公式表示为 fs 2f 或者 Ts T/2 其中f为被采样信号的最高频率。 你可以这样来理解奈奎斯特理论:声音信号可以看成由许许多多正弦波组成的,一个振 幅为A、频率为f的正弦波至少需要两个采样样本表示,因此,如果一个信号中的最高频率为 max f ,采样频率最低要选择2 max f 。例如,电话话音的信号频率约为3.4 kHz,采样频率就 选为8 kHz。 2.2.5 采样精度 样本大小是用每个声音样本的位数bit/s(即bps)表示的,它反映度量声音波形幅度的精 度。例如,每个声音样本用16位(2字节)表示,测得的声音样本值是在0~65536的范围里, 它的精度就是输入信号的1/65536。样本位数的大小影响到声音的质量,位数越多,声音的 质量越高,而需要的存储空间也越多;位数越少,声音的质量越低,需要的存储空间越少。 采样精度的另一种表示方法是信号噪声比,简称为信噪比(signal-to-noise ratio, SNR),并用下式计算: SNR= 10 lg [(Vsignal) 2 / (Vnoise) 2 ]=20 lg (Vsignal / Vnoise) 其中,Vsignal表示信号电压,Vnoise表示噪声电压;SNR的单位为分贝(db)
第2章数字声音简介 例1:假设Vm=1,每个声音样本位数用1位表示时,Vm=2,它的信噪比SNR=6分 例2:假设mx=1,每个声音样本位数用16位表示时,Vm1=26,它的信噪比SNR=96 分贝 2.2.6声音质量与数据率 根据声音的频带,通常把声音的质量分成5个等级,由低到高分别是电话( telephone 调幅( amplitude modulation,AM)广播、调频( frequency modulation,FM广播、激光唱盘 ( CD-Audio)和数字录音带( digital audio tape,DAT)的声音。在这5个等级中,使用的采样 频率、样本精度、通道数和数据率列于表2-01。 表2-01声音质量和数据率 质量采样频率样本精度单道声/数据率(kB/s)频率范围 kHz)(bit/s)立体声(未压缩) 电话*8 单道声 64.0 200~3400Hz AM11.025 886 单道声 88.2 20~15000H FM22.050 立体声 705.6 50~7000H CD4.1 6立体声141.220~20000Hz 1536.0 0~20000H *电话使用μ律编码,动态范围为13位,而不是8位(详见第3章) 2.3声音文件的存储格式 如同存储文本文件一样,存储声音数据也需要有存储格式。在因特网上和各种机器上运 行的声音文件格式很多,但目前比较流行的有以wav( waveform),au( audio),aiff( Audio Interchangeable File format)和.snd( sound)为扩展名的文件格式。,wav格式主要用在PC 上,,au主要用在Unix工作站上,,aif和snd主要用在苹果机和美国视算科技有限公司 ( Silicon graphics,Inc.,SGI)的工作站上 用.wav为扩展名的文件格式称为波形文件格式( WAVE File format),它在多媒体编程接 口和数据规范1.0( Multimedia Programming Interface and Data Specifications1.0)文 档中有详细的描述。该文档是由IBM和微软公司于1991年8月联合开发的,它是一种为交换多 媒体资源而开发的资源交换文件格式( Resource Interchange File Format,RIFF) 波形文件格式支持存储各种采样频率和样本精度的声音数据,并支持声音数据的压缩。 波形文件有许多不同类型的文件构造块组成,其中最主要的两个文件构造块是 Format Chunk(格式块)和 Sound data chunk(声音数据块)。格式块包含有描述波形的重要参数,例 如采样频率和样本精度等,声音数据块则包含有实际的波形声音数据。RIFF中的其他文件块 是可选择的。它的简化结构如图2-03所示
第2章 数字声音简介 4 例1:假设Vnoise=1,每个声音样本位数用1位表示时,Vsignal=2 1,它的信噪比SNR=6分 贝。 例2:假设Vnoise=1,每个声音样本位数用16位表示时,Vsignal=2 16,它的信噪比SNR=96 分贝。 2.2.6 声音质量与数据率 根据声音的频带,通常把声音的质量分成5个等级,由低到高分别是电话(telephone)、 调幅(amplitude modulation,AM)广播、调频(frequency modulation,FM)广播、激光唱盘 (CD-Audio)和数字录音带(digital audio tape,DAT)的声音。在这5个等级中,使用的采样 频率、样本精度、通道数和数据率列于表2–01。 表2–01 声音质量和数据率 质量 采样频率 (kHz) 样本精度 (bit/s) 单道声/ 立体声 数据率(kB/s) (未压缩) 频率范围 电话* 8 8 单道声 64.0 200~3 400 Hz AM 11.025 8 单道声 88.2 20~15 000Hz FM 22.050 16 立体声 705.6 50~7 000Hz CD 44.1 16 立体声 1411.2 20~20 000 Hz DAT 48 16 立体声 1536.0 20~20 000 Hz * 电话使用律编码,动态范围为13位,而不是8位(详见第3章) 2.3 声音文件的存储格式 如同存储文本文件一样,存储声音数据也需要有存储格式。在因特网上和各种机器上运 行的声音文件格式很多,但目前比较流行的有以.wav (waveform),.au(audio),.aiff(Audio Interchangeable File Format)和.snd(sound)为扩展名的文件格式。.wav格式主要用在PC 上,.au主要用在Unix工作站上,.aiff和snd主要用在苹果机和美国视算科技有限公司 (Silicon Graphics,Inc.,SGI)的工作站上。 用.wav为扩展名的文件格式称为波形文件格式(WAVE File Format),它在多媒体编程接 口和数据规范1.0(Multimedia Programming Interface and Data Specifications 1.0)文 档中有详细的描述。该文档是由IBM和微软公司于1991年8月联合开发的,它是一种为交换多 媒体资源而开发的资源交换文件格式(Resource Interchange File Format,RIFF)。 波形文件格式支持存储各种采样频率和样本精度的声音数据,并支持声音数据的压缩。 波形文件有许多不同类型的文件构造块组成,其中最主要的两个文件构造块是Format Chunk(格式块)和Sound Data Chunk(声音数据块)。格式块包含有描述波形的重要参数,例 如采样频率和样本精度等,声音数据块则包含有实际的波形声音数据。RIFF中的其他文件块 是可选择的。它的简化结构如图2–03所示
第2章数字声音简介 goupID = RIFF riffType= WAVE Format chunk ckID=fmt Sound data Chunk ckID='dat 图2-03WAVE文件结构 如果读者需要非常深入和详细的文件格式的资料,请参看[2]。此外,为便于读者辨认 文件的属性,表2-02列出了部分声音文件的后缀 表2-02常见的声音文件扩展名 文件的扩展名 兑明 Sun和NeXT公司的声音文件存储格式(8位μ律编码或者16位线 性编码) aif( Audio interchange) Apple计算机上的声音文件存储格式 cmf(Creative Music声霸(SB)卡带的MID文件存储格式 Format MIDI文件存储格式 mff (MIDI Files Format)MID文件存储格式% 「nid(MLD)kno0s的MID文件存储格式 I, II MPEG Layer II mod (Module) MIDI文件存储格式 rm(RealMedia) Realnetworks公司的流放式声音文件格式 ra(RealAudio RealNetworks公司的流放式声音文件格式 Adlib声音卡文件存储格式 snd(sound) Aple计算机上的声音文件存储格式 MIDI文件存储格式 MDI文件存储格式 voc (Creative Voice) 声霸卡存储的声音文件存储格式 「wav( avefor*1nds.)的波形声音文件存储格式 wrk Cakewalk pro软件采用的MIDI文件存储格式 *支持PCM, ADPCM,u率和A率波形(详见第3章) 2.4声音工具 声音工具( audio tools)用来录放、编辑和分析声音文件。声音工具使用得相等普遍 但它们的功能相差很大。下面列出了比较常见的几种工具
第2章 数字声音简介 5 groupID = 'RIFF' riffType = 'WAVE' Format Chunk ckID = 'fmt ' Sound Data Chunk ckID = 'data' 图2–03 WAVE文件结构 如果读者需要非常深入和详细的文件格式的资料,请参看[2]。此外,为便于读者辨认 文件的属性,表2–02列出了部分声音文件的后缀。 表2-02 常见的声音文件扩展名 文件的扩展名 说明 au Sun和NeXT公司的声音文件存储格式(8位律编码或者16位线 性编码) aif(Audio Interchange) Apple计算机上的声音文件存储格式 cmf(Creative Music Format) 声霸(SB)卡带的MIDI文件存储格式 mct MIDI文件存储格式 mff(MIDI Files Format) MIDI文件存储格式½ mid(MIDI) Windows的MIDI文件存储格式 mp2 MPEG Layer I , II mp3 MPEG Layer III mod(Module) MIDI文件存储格式 rm(RealMedia) RealNetworks公司的流放式声音文件格式 ra(RealAudio) RealNetworks公司的流放式声音文件格式 rol Adlib声音卡文件存储格式 snd(sound) Apple计算机上的声音文件存储格式 seq MIDI文件存储格式 sng MIDI文件存储格式 voc(Creative Voice) 声霸卡存储的声音文件存储格式 wav(Waveform)* Windows采用的波形声音文件存储格式 wrk Cakewalk Pro软件采用的MIDI文件存储格式 *支持PCM,ADPCM,率和A率波形(详见第3章) 2.4 声音工具 声音工具(audio tools)用来录放、编辑和分析声音文件。声音工具使用得相等普遍, 但它们的功能相差很大。下面列出了比较常见的几种工具