OpenAL

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。（このテンプレートの使い方）
出典検索?: "OpenAL" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2020年12月)

|

OpenAL作者|  Loki Software

|

開発元|  クリエイティブテクノロジー
最新版|

2.1 / 2010年7月20日 (14年前) (2010-07-20)

プラットフォーム|  クロスプラットフォーム
サポート状況|  Ver.2.1.0.0はCreative X-fiカードのみ対応
種別|  サウンドライブラリ
ライセンス|  初期はBSDライセンス
1.1まではLGPL
それ以降はプロプライエタリ
公式サイト|  www.openal.org
テンプレートを表示
OpenAL Soft

最新版|

1.21.0 / 2020年11月4日 (4年前) (2020-11-04)

プログラミング
言語|  C
プラットフォーム|  クロスプラットフォーム
種別|  サウンドライブラリ
ライセンス|  LGPL
公式サイト|  openal-soft.org
テンプレートを表示

OpenAL (Open Audio Library) はクロスプラットフォームのオーディオAPIであるフリーソフト。マルチチャンネル3次元定位オーディオを効率よく表現するように設計された。APIのスタイルと慣習は意図的にOpenGLと似せてある。

## 歴史

[編集]

ロキソフトウェア (Loki Software) が商用のWindows用ゲームをLinuxに移植しやすくするためにOpenALを開発したのがオリジナルである。ロキが消滅してしばらくの間はフリーソフトウェア/オープンソースのコミュニティで保守され、NVIDIAのnForceサウンドカードやマザーボードに実装されていた。現在はAppleやフリーソフトウェア/オープンソースの開発者の支援を受けながら、クリエイティブテクノロジーが開発の大部分とホスティングを担っている。

OpenGLの「アーキテクチャレビュー委員会 (ARB)」を手本に、OpenALでもARBの存在が宣言されているが、そのような組織がこれまでに設立されたことはなく、OpenALの仕様は主にメーリングリストで取り扱われ議論されている。

1.1からクリエイティブテクノロジーは実装をプロプライエタリとした。最後のオープンソース版はSubversionのリポジトリから入手可能である。しかし、OpenAL Softがオープンソース版の代替として広く普及した。

## APIの構成と機能

[編集]

OpenALの主要機能はソースオブジェクト、オーディオバッファ、単一のリスナーで処理される。ソースオブジェクトは、バッファ、ベロシティ、ポジション、サウンドの方向、サウンドの強度などへのポインタである。リスナーオブジェクトはベロシティ、リスナーの位置と方向、全てのサウンドに対する全体の利得である。バッファは8または16ビットのモノラルまたはステレオのPCM形式のオーディオデータである。レンダリングエンジンは距離による衰弱やドップラー効果などの計算を処理する。

エンドユーザーの視点から見れば、適切に記述されたOpenALアプリケーションであれば、仮想世界の三次元空間をユーザーが移動したものとしてとても自然に聞こえる。プログラマーの視点で見れば、OpenGLベースの既存の3D映像アプリケーションにちょっとした追加をするだけでこれを実現できる。

OpenGLの仕様と異なり、OpenALの仕様はAPIに2つのサブセクションを含む。実際のOpenAL関数コールで構成されるコア部分と、クロスプラットフォームを実現するためのコンテキストのレンダリングやリソースの使用状況やそのロックを管理するALC APIである。それに加え、OpenGLのGLUTと同様に上位レベルの「便利な」機能を提供するALUTライブラリが用意されている。

将来的な機能拡張のため、OpenALはエクステンションのメカニズムを有する。これにより各ベンダーはプロプライエタリなハードウェアの追加機能を実装するために独自のエクステンションをOpenALのディストリビューションに含めることができる。エクステンションは互換性が維持のため、ARBに提出して標準化することができる。ARBエクステンションは一定期間経過後にコアAPIに追加されることが望まれる。

## 移植性

[編集]

このAPIは下記のプラットフォームで利用可能である。

* Android（OpenSL ES バックエンドなど）
* Amiga OS 3.x
* Bada
* BlackBerry Playbook
* BSD
* iOS (Core Audio)
* IRIX
* Linux（ALSA、OSS、PortAudio、PulseAudio バックエンド）
* Mac OS 8, 9
* OS X (Core Audio)
* Windows（DirectSound、Windows Multimedia API、Windows Multimedia Device API バックエンド）
* MorphOS
* Solaris
* PlayStation 2
* PlayStation 3
* PlayStation Portable
* Xbox
* Xbox 360
* ニンテンドー ゲームキューブ
* Wii

## アプリケーション

[編集]

ゲーム:

* Doom 3、Jedi Knight 2、Jedi Knight: Jedi Academy、Quake 4、Preyなどのid Software エンジンを利用したゲーム。
* Unreal 2、Unreal Tournament 2003、Unreal Tournament 2004、ポスタル²、America's ArmyなどのUnreal Technologyを利用したゲーム。
* バトルフィールド2, フリーダム・ファイターズ, ヒットマン and Psychonauts.
* 数多くのフリーソフトウェアやオープンソースのゲームでもOpenALが利用されている。WarsowやWarzone 2100がその例。

その他のアプリケーション:

* Blender \- 3Dモデリング・レンダリングツール。
* Unity \- 3Dゲームエンジン及びゲーム開発統合環境。
* ..Basic4gl \- コンパイラとプログラミングソフトウェア。

OpenALのウェブサイトにてより完璧なリストを確認できる。

## ラッパー

[編集]

* JogAmp \- OpenAL, OpenGL, OpenCL, OpenMAX の Java ラッパー
* LWJGL \- OpenAL, OpenGL, OpenCL などの Java ラッパー

## 関連項目

[編集]

ポータル コンピュータ

* Environmental audio extensions
* OpenGL
* GLUT
* OpenSL ES

## 外部リンク

[編集]

* 公式ウェブサイト
* DevMaster.net OpenAL Tutorials