OpenALの紹介
- 2. HN:Moneto (Twitter:@Moneto)
所属:KCLC(開成学園コンピュータ部)
学年:中2(新中3)
プログラミング歴:1年9か月
使用言語:Object Pascal, C++, C#(, BASIC)
開発環境:Visual C++/C# Express Edition SP1
Delphi5(, Delphi6)
製作物:STGが中心(1作品を除き、全てSTG)
- 3. OpenALのことを知らない人
3次元的な音の表現に興味がある人
Vistaユーザー(後述)
- 4. 簡単に言うと3DオーディオAPI。
Wav、ogg等、PCM形式のオーディオデータを再生
できる。ストリーミング再生にも対応。
音源・リスナを3次元空間上に配置することで、音が
立体的に聞こえるようにすることが可能。
マルチプラットフォームなので、Windows環境だけ
でなくLinux環境でも勿論使用可能。
- 5. DirectX(Windows環境のみ)とは違い、Linuxなど
多くのOSに対応している。
Windows Vistaからのオーディオアーキテクチャ
の変更による影響を受けない。
DirectSound3D(同様に3Dオーディオ機能を有
す)の場合、この影響を受けてVista上でのサポー
トが無くなってしまい、そのままでは従来通りの
再生が不可能になってしまっている。
- 6. 名前だけでなく、APIのスタイルもOpenGLに似
せて作ってあるので、OpenGLを用いた3Dゲー
ムと相性が良い。(特に、移動する物体に合わせ
て音を動かしていく必要のあるもの=VS系ゲー
ム等に向いている)
⇒例えば、上空を飛行する戦闘機の音・陸上を走行
する戦車の音の(聞こえる方向の)違いなど、3
次元的に音を表現したい場合には有効である。
- 7. 実演1.音源の距離(遠近での音の大きさの違
い)
実演2.音源の方向(上下・前後・左右の聞こえ
方)
実演3.音のピッチの調節
全てC#(DLL読み込み)を用いて製作しています。
- 8. リスナ座標…(X, Y, Z)=(0, 0, 0)の際の、
①音源座標(X, Y, Z)=(0, 0, 0)
②音源座標(X, Y, Z)=(0, 10, 0)
③音源座標(X, Y, Z)=(0, 20, 0)
での音の聞こえ方の違い。
- 9. リスナ座標…(X, Y, Z)=(0, 0, 0)の際の、
①音源座標(X, Y, Z)=(10, 0, 0)
②音源座標(X, Y, Z)=(-10, 0, 0)(左右)
③音源座標(X, Y, Z)=(0, 10, 0)
④音源座標(X, Y, Z)=(0, -10, 0)(前後)
⑤音源座標(X, Y, Z)=(0, 0, 10)
⑥音源座標(X, Y, Z)=(0, 0, -10)(上下)
での音の聞こえ方の違い。
- 10. ①ピッチ1.0倍(デフォルト)
②ピッチ0.6倍
③ピッチ1.4倍
での、音の高低・および再生速度の違い。
使用音楽データ:「華のさかづき大江山(東方地霊殿)」
- 11. ①ゲインの調節による音の大きさの調節
⇒音の大小を0.0~1.0の数値で表す。ゲインが
0.0の場合、実質的なミュートになる。
②ドップラー効果の再現
③音声のキャプチャ
注)①のみ実演します。
- 12. 日本語の資料はまだまだ少ない。
和訳されたリファレンスマニュアルは存在する。
(ただし公式なものではない)
ある程度のサンプルはSDKに同梱されているので、
使用方法などは比較的つかみやすい。