第1章 计算机音乐概论 1
1.1 计算机音乐的内涵 1
1.2 计算机音乐的历史回顾 1
1.3 MIDI的由来与发展 3
1.4 数字音频的广泛应用 5
1.4.1 模拟音频与数字音频 5
1.4.2 数字音频的主要格式 6
1.4.3 基于数字音频技术的音乐制作方法 9
1.5 计算机音乐前景光明 11
1.6 乐理基础 13
1.6.1 乐音的要素 13
1.6.2 基础音乐知识一览 13
1.6.3 结语 16
第2章 MIDI技术详解 17
2.1 MIDI简介 17
2.2 MIDI硬件规范 18
2.3 MIDI合成器原理 20
2.3.1 FM合成器 20
2.3.2 波形表合成器 22
2.4 MIDI信息标准 22
2.4.1 通用MIDI的音色、音阶编号及通道分配 22
2.4.2 MIDI指令格式及举例 28
2.4.3 M1DI控制信息与系统信息 32
2.5 MIDI文件 35
2.5.1 MIDI文件的组成格式 35
2.5.2 头块(Header Chunk) 36
2.5.3 音轨块(Track Chunk) 37
2.6 MIIDI文件举例 42
2.7 MIDI设备的同步 44
2.7.1 SMPTE时间码 45
2.7.2 MTC时间码 46
2.8 MIDI应用系统举例 47
第3章 常用MIDI工具软件 50
3.1 音序器软件Cakewalk Pro Audio 50
3.1.1 Cakewalk 9.0的安装和运行 50
3.1.2 Cakewalk 9.0的菜单介绍 53
3.1.3 Cakewalk SONAR简介 65
3.2 文本编辑软件UltraEdit简介 66
3.2.1 UltraEdit-32的安装和运行 66
3.2.2 UltraEdit-32的菜单 66
3.3 仿真软件WAVE简介 69
第4章 Windows平台下的MIDI开发方法 76
4.1 MIDI API函数的应用 76
4.1.1 MIDI API函数介绍 76
4.1.2 调用API函数的一般方法 79
4.1.3 API函数调用举例 80
4.2 用MCI开发MIDI 84
4.2.1 MCI指令详解 84
4.2.2 用MCI播放MIDI音乐的例子 88
4.3 DirectMusic开发 90
4.3.1 DirectMusic的对象 91
4.3.2 播放MIDI文件示例 91
第5章 基于单片机的MIDI播放器的设计 100
5.1 MIDI播放器的组成 100
5.2 MIDI数据文件的产生方法 101
5.3 播放器主要芯片简介 103
5.3.1 单片机芯片简介 103
5.3.2 音源芯片QS6400 104
5.4 系统硬件设计和软件设计 112
5.4.1 硬件设计 112
5.4.2 软件设计 115
5.4.3 MIDI播放器程序代码 124
第6章 基于VB的MIDI播放编辑器的设计 131
6.1 ADO Data控件和DataGrid控件简介 131
6.1.1 ADO Data控件 131
6.1.2 DataGrid控件 134
6.2 多媒体Time函数 135
6.3 MIDI播放编辑器的原理 139
6.4 MIDI播放编辑器的软件设计 140
6.4.1 MIDI播放编辑器的软件界面 140
6.4.2 MIDI播放编辑器的软件流程 142
6.4.3 MIDI播放编辑器的程序代码 142
第7章 软件MIDI电子琴 149
7.1 MIDI电子琴面板设计 149
7.2 MIDI电子琴的软件设计 153
7.2.1 软件设计流程图 153
7.2.2 MIDI电子琴程序代码 154
第8章 硬件MIDI电子琴 169
8.1 MIDI电子琴电路原理 169
8.2 MIDI电子琴软件设计 171
8.3 完整的程序代码 175
第9章 声控电子乐器与MIDI 184
9.1 声控电子乐器的由来与发展 184
9.1.1 歌唱与音乐伴奏 184
9.1.2 人声与乐器声的特点 185
9.1.3 人声向乐器声的转化 187
9.2 实现自动伴奏的方法 188
9.3 歌声的基频检测技术 192
9.3.1 基频检测方法概述 192
9.3.2 “有效转变点”硬件基频检测方法 194
9.4 声控电子乐器实例 197
9.5 MIDI技术在声控电子乐器中的应用 201
9.5.1 MIDI音源 201
9.5.2 声控电子乐器中采用MIDI音源 202
9.6 声控电子乐器的现状与展望 209
附录1 音频信号的数字化与音质 211
附录2 MIDI技术英文词汇速查 215
参考文献 217