OpenAL(Open Audio Library)是自由软件界的跨平台音效API,由Loki Software,使用在Windows、Linux 系统上,用在音效缓冲和收听中编码。OpenAL设计给多通道三维位置音效的特效表现。其 API 风格模仿自OpenGL。 历史
Loki 倒闭以后,这个专案由自由软件/开放源始码社群继续维护。不过现在最大的主导者(并大量发展)是创新科技,并得到来自 Apple 和自由软件/开放源代码爱好者的持续支援。OpenAL最初是由Loki Software于2000年开发,以帮助他们将Windows游戏移植到Linux。在Loki公司倒闭后,该项目一度由自由软件/开源社区维护,并在NVIDIA nForce声卡和主板上实现。直到2012年左右,该项目一直由创新科技(Creative Technology)托管(并大部分由其开发)。 结构功能
OpenAL 主要的功能是在来源物体、音效缓冲和收听者中编码。来源物体包含一个指向缓冲区的指标、声音的速度、位置和方向,以及声音强度。收听者物体包含收听者的速度、位置和方向,以及全部声音的整体增益。缓冲里包含 8 或 16 位元、单声道或立体声 PCM 格式的音效资料,表现引擎进行所有必要的计算,如距离衰减、多普勒效应等。OpenAL的单个监听器模型适用于单个人类用户,不适用于人工智能或机器人模拟,也不适用于多个人类参与者,如协作音乐表演。在这些情况下,需要多个监听器模型。 OpenAL也未考虑声音传播延迟(仅使用声音速度进行多普勒效应)。声源到听者的距离只会产生幅度效应(衰减),而不会产生延迟。因此,除非单独添加该功能,否则OpenAL不能用于到达时间差计算。