再次点击ply_music按钮就可以听到一段优美的音乐。同时利用matlab中sound函数也可以直接播放音频文件。二者的声音效果听起来应当是一致的。注意在使用sound函数时,需要将sound(x,fs)中的fs设置为wav音频文件式中相同的采样频率。
3.5 open al在3D音效中的使用
三维音效实际上是利用声源与听众在空间三维坐标中的位置、状态而形成的一种特殊的声音效果。比如有人在你前面对着你说话和在你后面背着你说话,或者另一人站着不动和你说话和在一个高速运行的轿车中和你说话,效果是明显不同的。而open al所提供的API就提供了一组丰富的声源、听众位置参数设置API以及速度方向控制API,可以很方便的实现音频的3D效果。
下面就一些常用的open al的API做简单的介绍:
ALfloat SourcePos[] = { 0.0, 0.0, 0.0 }; 主要用于设置声源位置
ALfloat SourceVel[] = { 0.0, 0.0, 0.0 }; 主要用于设置声源速度
ALfloat ListenerPos[] = { 0.0, 0.0, 0.0 }; 主要用于设置听者的位置
ALfloat ListenerVel[] = { 0.0, 0.0, 0.0 }; 主要用于设置听者的速度
ALfloat ListenerOri[] = { 0.0, 0.0, -1.0, 0.0, 1.0, 0.0 }; 主要用于设置听者的运动方向。… …
可见实现一个3d的音频效果我们主要关注以下几个参数:声源的位置,听着的位置。声源的速度,听着的速度。主义这里都是采用三维坐标来描述的。通过声源、听众、位置、速度的几种组合方式,可以模拟出在不同方向,不同距离上的三位立体声音效果。而速度信息,以及听着的方向,主要用来实现在相对运动的过程中实现的多普勒频移等一些特殊的音效处理。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-28346-5.html
别再浪费国家资源
每个企业应主动送检
这是我的老公们