数字音频规范与程序设计 基于Visual C++开发PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:曹强编著
- 出 版 社:北京:中国水利水电出版社
- 出版年份:2012
- ISBN:9787508498195
- 页数:459 页
第1章 Windows音频体系与Visual C++开发基础 1
导读 1
1.1 认识声音与音频 1
1.2 Windows音频体系层次结构 2
1.2.1 用户模式与内核模式 2
1.2.2 关于声音的延迟问题及解决方法 3
1.3 Visual C++开发基础 5
1.3.1 区分C、C++和Visual C++三者的关系 5
1.3.2 事件驱动与消息处理 8
1.3.3 开发环境概述 11
1.3.4 MFC概述 12
1.3.5 利用向导创建一个简单的对话框程序 13
第2章 MCI与MMAPI多媒体编程接口 20
导读 20
2.1 MCI简介 20
2.1.1 MCI逻辑结构 21
2.1.2 MCI接口、函数与命令 21
2.1.3 MCI消息与宏定义 24
2.2 MCI编程步骤 24
2.3 MCI编程实例 27
2.3.1 播放CD 27
2.3.2 WAVE播放与录音 27
2.3.3 基于MCIWnd的多媒体播放器 28
2.4 MMAPI简介 28
2.4.1 四种多媒体文件I/O 29
2.4.2 波形音频处理 40
2.4.3 MIDI的流缓冲区与非流缓冲区处理 41
2.4.4 多媒体定时器 47
第3章 WAVE格式及播放与录制 49
导读 49
3.1 认识WAVE 49
3.2 WAV文件结构 50
3.3 采样点与采样帧的区别 51
3.4 WAVE中常用的一些块 53
3.4.1 格式块 53
3.4.2 数据块 54
3.4.3 提示块 55
3.4.4 播放列表块 55
3.4.5 关联数据块 56
3.4.6 采样块 57
3.5 多媒体波形音频函数 59
3.6 波形音频处理的回调机制 60
3.7 WAVE播放 61
3.7.1 WAVE播放基本流程 61
3.7.2 双缓冲播放机制 65
3.7.3 关于死锁的问题 66
3.8 WAVE录音 66
3.9 编程实例 70
3.9.1 WAV文件解析及分离与合并 70
3.9.2 WAVE播放器 71
3.9.3 WAVE录音机 71
第4章 MIDI相关标准与程序设计 73
导读 73
4.1 MIDI规范 73
4.1.1 什么是MIDI 73
4.1.2 MIDI信息 75
4.1.3 其他MIDI规范 94
4.1.4 GM、Gs与XG 96
4.1.5 GM2 99
4.2 MIDI文件解析 100
4.2.1 MIDI文件格式 100
4.2.2 MIDI文件示例 107
4.2.3 与MIDI相关的时间计算 108
4.2.4 程序实例 111
4.3 USB MIDI 123
4.3.1 USB MIDI概述 123
4.3.2 USB MIDI的实现机制 124
4.3.3 USB-MIDI功能器件 125
4.3.4 USB MIDI数据格式 129
4.3.5 USB MIDI操作模型 130
4.3.6 描述符 132
4.3.7 USB MIDI驱动设计 137
4.3.8 USB驱动程序 145
4.3.9 用户模式音频驱动几个上层接口的实现 154
第5章 数字音乐合成 159
导读 159
5.1 合成器概述 159
5.2 MIDI的发音原理 160
5.3 FM合成原理 161
5.4 波表合成 163
5.4.1 波表合成器工作原理 165
5.4.2 波表合成的关键技术 166
5.4.3 频率变换 167
5.4.4 循环(Loop) 168
5.4.5 波表合成器的衡量指标 168
5.5 软波表与硬波表 169
5.6 音色制作 170
5.6.1 样本准备与分配 170
5.6.2 样本参数调整 171
5.6.3 音色参数调整 171
5.6.4 设置效果参数 172
5.6.5 保存音色文件 172
第6章 音频混音器编程 173
导读 173
6.1 混音器原理 173
6.1.1 声卡硬件模型 174
6.1.2 音频线路 175
6.1.3 控件 177
6.2 混音器编程 179
6.2.1 Mixer API函数介绍 180
6.2.2 枚举系统中的混音器设备 180
6.2.3 打开混音器设备 181
6.2.4 枚举音频线路 182
6.2.5 获取线路信息 185
6.2.6 枚举线路的相关控件 185
6.2.7 获取与线路相关的所有控件信息 187
6.2.8 通过控件ID获取控件信息 188
6.2.9 通过控件类型获取控件信息 188
6.2.10 获取或设置控件的值 189
6.2.11 多声道控件 190
6.2.12 多条目控件 191
6.2.13 混音器专用消息 193
6.3 程序实例——混音器调节软件 193
第7章 音频插件设计 195
导读 195
7.1 普通音频插件 195
7.1.1 插件的实现原理 195
7.1.2 基于动态链接库的方法实现音频插件 196
7.1.3 实现支持三种插件类型的MiNi播放器 200
7.1.4 给Winamp编写一个MIDI键盘插件 209
7.1.5 基于ATL的方法实现COM插件 212
7.2 VST音频插件 212
7.2.1 VST插件概述 212
7.2.2 VST SDK与音频数据处理 214
7.2.3 创建一个最简单的VST插件 214
7.2.4 设计一个Stereo Delay效果的VST插件 218
7.2.5 VST XML文件 226
7.2.6 设计一个简单的FM合成器插件 226
7.2.7 VST GUI编程 242
7.2.8 实现一个自行设计界面的Ring Modulator插件 247
7.2.9 VST宿主程序设计 249
第8章 基音的时频域检测 253
导读 253
8.1 概述 253
8.2 音乐信号的前期处理 254
8.2.1 信号数字化 254
8.2.2 音框 255
8.2.3 静音与杂音处理 256
8.3 时域基频检测方法 259
8.3.1 自相关函数法 259
8.3.2 自相关函数法的程序实例 261
8.3.3 平均振幅差函数法 261
8.3.4 平均振幅差函数法的程序实例 262
8.4 频域检测方法 263
8.4.1 傅里叶变换的原理及其物理意义 263
8.4.2 快速傅里叶变换法 270
8.4.3 快速傅里叶变换法的程序实例 271
8.4.4 谐波积频谱法 272
8.4.5 谐波积频谱法的程序实例 273
8.4.6 倒谱法 274
8.4.7 极大似然法 275
8.5 时频域检测方法 276
8.5.1 小波变换法 276
8.5.2 ACF与AMDF结合法 276
8.5.3 ACF与AMDF结合法的程序实例 277
8.6 基频检测的后期处理 277
8.7 软件调音器的设计 278
第9章 ASIO音频驱动设计 280
导读 280
9.1 何为ASIO 280
9.2 用户层ASIO驱动设计 281
9.2.1 ASIO的有限状态机 282
9.2.2 音频数据流的传输 283
9.2.3 ASIO驱动接口 286
9.2.4 数据同步 289
9.2.5 四个重要的回调函数 289
9.2.6 几个重要的数据结构 290
9.2.7 输入输出延迟问题 293
9.3 用户层ASIO驱动的实现 295
9.3.1 准备工作 297
9.3.2 添加自注册功能 298
9.3.3 实现IASIO的所有接口 299
9.4 在音频软件中使用ASIO驱动 306
9.4.1 ASIO播放 307
9.4.2 ASIO录音 312
第10章 MP3格式与编解码 316
导读 316
10.1 MP3文件格式 316
10.1.1 MP3简介 316
10.1.2 MP3文件格式 320
10.1.3 程序实例——MP3文件分析 335
10.2 MP3编解码 336
10.2.1 MP3编码的相关概念 336
10.2.2 MP3编码过程 359
10.2.3 MP3解码过程 377
10.2.4 程序实例 390
第11章 DirectSound开发与应用 410
导读 410
11.1 DirectX概述 410
11.2 DirectSound简介 413
11.2.1 DirectSound的功能组成与组件对象 414
11.2.2 DirectSound的缓冲区 414
11.2.3 DirectSound的数据结构 415
11.3 DirectSound播放 415
11.3.1 Visual C++编译环境配置 415
11.3.2 DirectSound回放的基本流程 416
11.3.3 枚举系统输出声音设备 417
11.3.4 创建DirectSound对象 418
11.3.5 设置声音设备的协作等级 418
11.3.6 创建声音缓冲区对象 420
11.3.7 加载WAVE声音数据 422
11.3.8 声音缓冲区回放 422
11.3.9 声音缓冲区控制 428
11.3.10 混音 429
11.3.11 3D音效和声音效果 430
11.3.12 DirectSound 3D收听者 434
11.3.13 设置声音特效 434
11.4 DirectSound录音 435
11.4.1 枚举系统录音设备 436
11.4.2 创建设备对象 436
11.4.3 获取录音设备的性能 436
11.4.4 创建录音缓冲区 436
11.4.5 获取录音缓冲区信息 437
11.4.6 为录音缓冲区对象设置通知机制 438
11.4.7 开始录音 439
11.5 使用DirectSound中的效果 441
11.5.1 在缓冲区中设置效果 441
11.5.2 混响(Reverb) 442
11.5.3 合唱(Chorus) 443
11.5.4 回响(Echo) 444
11.5.5 镶边(Flanger) 445
11.5.6 参量均衡(Parametric EQ) 446
11.5.7 咕噜(Gargle) 447
11.5.8 失真(Distortion) 448
11.5.9 压缩(Compression) 449
11.6 扬声器配置 451
11.6.1 设置扬声器配置 451
11.6.2 获取扬声器配置 451
11.7 程序实例 452
11.7.1 DirectSound播放 452
11.7.2 DirectSound录音 452
11.7.3 DirectSound效果器 453
附录 MP3附表 454
参考文献 459
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《数字影视特效制作技法解析》王文瑞著 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《数字插画实战 人像创作30例》王鲁光著 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018