SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
2009/03/22, Moneto
   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)
   OpenALのことを知らない人

   3次元的な音の表現に興味がある人

   Vistaユーザー(後述)
   簡単に言うと3DオーディオAPI。

   Wav、ogg等、PCM形式のオーディオデータを再生
    できる。ストリーミング再生にも対応。

   音源・リスナを3次元空間上に配置することで、音が
    立体的に聞こえるようにすることが可能。

   マルチプラットフォームなので、Windows環境だけ
    でなくLinux環境でも勿論使用可能。
   DirectX(Windows環境のみ)とは違い、Linuxなど
    多くのOSに対応している。

   Windows Vistaからのオーディオアーキテクチャ
    の変更による影響を受けない。

   DirectSound3D(同様に3Dオーディオ機能を有
    す)の場合、この影響を受けてVista上でのサポー
    トが無くなってしまい、そのままでは従来通りの
    再生が不可能になってしまっている。
   名前だけでなく、APIのスタイルもOpenGLに似
    せて作ってあるので、OpenGLを用いた3Dゲー
    ムと相性が良い。(特に、移動する物体に合わせ
    て音を動かしていく必要のあるもの=VS系ゲー
    ム等に向いている)

⇒例えば、上空を飛行する戦闘機の音・陸上を走行
 する戦車の音の(聞こえる方向の)違いなど、3
 次元的に音を表現したい場合には有効である。
   実演1.音源の距離(遠近での音の大きさの違
    い)

   実演2.音源の方向(上下・前後・左右の聞こえ
    方)

   実演3.音のピッチの調節

   全てC#(DLL読み込み)を用いて製作しています。
リスナ座標…(X, Y, Z)=(0, 0, 0)の際の、

   ①音源座標(X, Y, Z)=(0, 0, 0)

   ②音源座標(X, Y, Z)=(0, 10, 0)

   ③音源座標(X, Y, Z)=(0, 20, 0)

での音の聞こえ方の違い。
リスナ座標…(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)(上下)

での音の聞こえ方の違い。
   ①ピッチ1.0倍(デフォルト)
   ②ピッチ0.6倍
   ③ピッチ1.4倍

での、音の高低・および再生速度の違い。

使用音楽データ:「華のさかづき大江山(東方地霊殿)」
   ①ゲインの調節による音の大きさの調節
    ⇒音の大小を0.0~1.0の数値で表す。ゲインが
      0.0の場合、実質的なミュートになる。

   ②ドップラー効果の再現

   ③音声のキャプチャ

注)①のみ実演します。
   日本語の資料はまだまだ少ない。

   和訳されたリファレンスマニュアルは存在する。
    (ただし公式なものではない)

   ある程度のサンプルはSDKに同梱されているので、
    使用方法などは比較的つかみやすい。
以上
御清聴、ありがとうございました。

Más contenido relacionado

La actualidad más candente

shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
DADA246
 
パターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムパターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズム
Miyoshi Yuya
 
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Genya Murakami
 

La actualidad más candente (20)

ChatGPTで面白い物語は作れるのか?
ChatGPTで面白い物語は作れるのか?ChatGPTで面白い物語は作れるのか?
ChatGPTで面白い物語は作れるのか?
 
Unityネイティブプラグインの勧め
Unityネイティブプラグインの勧めUnityネイティブプラグインの勧め
Unityネイティブプラグインの勧め
 
120901fp key
120901fp key120901fp key
120901fp key
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
 
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプC++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプ
 
【早稲田大学向け】ソフトウェア開発に必要な職種
【早稲田大学向け】ソフトウェア開発に必要な職種【早稲田大学向け】ソフトウェア開発に必要な職種
【早稲田大学向け】ソフトウェア開発に必要な職種
 
パターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムパターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズム
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
「var禁止」禁止
「var禁止」禁止「var禁止」禁止
「var禁止」禁止
 
CuPy解説
CuPy解説CuPy解説
CuPy解説
 
Pythonでカスタム状態空間モデル
Pythonでカスタム状態空間モデルPythonでカスタム状態空間モデル
Pythonでカスタム状態空間モデル
 
20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code
 
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNTx86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNT
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
ランク6の俺がパズドラについて語る
ランク6の俺がパズドラについて語るランク6の俺がパズドラについて語る
ランク6の俺がパズドラについて語る
 
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
 
自然言語処理に基づく商品情報の整理および構造化
自然言語処理に基づく商品情報の整理および構造化自然言語処理に基づく商品情報の整理および構造化
自然言語処理に基づく商品情報の整理および構造化
 
ChatGPT Impact - その社会的/ビジネス価値を考える -
ChatGPT Impact - その社会的/ビジネス価値を考える -ChatGPT Impact - その社会的/ビジネス価値を考える -
ChatGPT Impact - その社会的/ビジネス価値を考える -
 
研究効率化Tips Ver.2
研究効率化Tips Ver.2研究効率化Tips Ver.2
研究効率化Tips Ver.2
 

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に同梱されているので、 使用方法などは比較的つかみやすい。