SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
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に同梱されているので、
    使用方法などは比較的つかみやすい。
以上
御清聴、ありがとうございました。

Mais conteúdo relacionado

Mais procurados

情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...Shinji Takao
 
k-匿名化が誘発する濡れ衣:解決編
k-匿名化が誘発する濡れ衣:解決編k-匿名化が誘発する濡れ衣:解決編
k-匿名化が誘発する濡れ衣:解決編Hiroshi Nakagawa
 
【Unity道場】物理シミュレーション完全マスター
【Unity道場】物理シミュレーション完全マスター【Unity道場】物理シミュレーション完全マスター
【Unity道場】物理シミュレーション完全マスターUnity Technologies Japan K.K.
 
チケット管理システム大決戦 JIRA vs Redmine vs Trac ユーザーが語る、なぜ私はこのツールを使うのか
チケット管理システム大決戦 JIRA vs Redmine vs Trac ユーザーが語る、なぜ私はこのツールを使うのかチケット管理システム大決戦 JIRA vs Redmine vs Trac ユーザーが語る、なぜ私はこのツールを使うのか
チケット管理システム大決戦 JIRA vs Redmine vs Trac ユーザーが語る、なぜ私はこのツールを使うのかShunsuke (Sean) Osawa
 
【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihood
【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihood【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihood
【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihoodDeep Learning JP
 
ISACA名古屋支部_2023年7月SR分科会_フィッシング詐欺.pdf
ISACA名古屋支部_2023年7月SR分科会_フィッシング詐欺.pdfISACA名古屋支部_2023年7月SR分科会_フィッシング詐欺.pdf
ISACA名古屋支部_2023年7月SR分科会_フィッシング詐欺.pdfTatsuya Hasegawa
 
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べSwift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べTaketo Sano
 
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic DatasetsDeep Learning JP
 
データサイエンティスト協会スキル委員会4thシンポジウム講演資料
データサイエンティスト協会スキル委員会4thシンポジウム講演資料データサイエンティスト協会スキル委員会4thシンポジウム講演資料
データサイエンティスト協会スキル委員会4thシンポジウム講演資料The Japan DataScientist Society
 
Cesiumを動かしてみよう
Cesiumを動かしてみようCesiumを動かしてみよう
Cesiumを動かしてみようKazutaka ishizaki
 
深層強化学習の self-playで、複雑な行動を機械に学習させたい!
深層強化学習の self-playで、複雑な行動を機械に学習させたい!深層強化学習の self-playで、複雑な行動を機械に学習させたい!
深層強化学習の self-playで、複雑な行動を機械に学習させたい!Junichiro Katsuta
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用Yasunori Ozaki
 
Unity PackageManagerを使う話。
Unity PackageManagerを使う話。Unity PackageManagerを使う話。
Unity PackageManagerを使う話。TakayoshiOgawa
 
SIG-Audio#11 効果音サウンドデザイン制作の実践TIPS つまみ食い
SIG-Audio#11 効果音サウンドデザイン制作の実践TIPS つまみ食いSIG-Audio#11 効果音サウンドデザイン制作の実践TIPS つまみ食い
SIG-Audio#11 効果音サウンドデザイン制作の実践TIPS つまみ食いIGDA Japan SIG-Audio
 
『天空の城ラピュタ』のエピソード構成表
『天空の城ラピュタ』のエピソード構成表『天空の城ラピュタ』のエピソード構成表
『天空の城ラピュタ』のエピソード構成表小林 信行
 

Mais procurados (20)

情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
情報システム障害解析のための知識グラフ構築の試み / Constructing a knowledge graph for information sys...
 
イエラエセキュリティMeet up 20210820
イエラエセキュリティMeet up 20210820イエラエセキュリティMeet up 20210820
イエラエセキュリティMeet up 20210820
 
k-匿名化が誘発する濡れ衣:解決編
k-匿名化が誘発する濡れ衣:解決編k-匿名化が誘発する濡れ衣:解決編
k-匿名化が誘発する濡れ衣:解決編
 
【Unity道場】物理シミュレーション完全マスター
【Unity道場】物理シミュレーション完全マスター【Unity道場】物理シミュレーション完全マスター
【Unity道場】物理シミュレーション完全マスター
 
チケット管理システム大決戦 JIRA vs Redmine vs Trac ユーザーが語る、なぜ私はこのツールを使うのか
チケット管理システム大決戦 JIRA vs Redmine vs Trac ユーザーが語る、なぜ私はこのツールを使うのかチケット管理システム大決戦 JIRA vs Redmine vs Trac ユーザーが語る、なぜ私はこのツールを使うのか
チケット管理システム大決戦 JIRA vs Redmine vs Trac ユーザーが語る、なぜ私はこのツールを使うのか
 
【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihood
【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihood【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihood
【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihood
 
ISACA名古屋支部_2023年7月SR分科会_フィッシング詐欺.pdf
ISACA名古屋支部_2023年7月SR分科会_フィッシング詐欺.pdfISACA名古屋支部_2023年7月SR分科会_フィッシング詐欺.pdf
ISACA名古屋支部_2023年7月SR分科会_フィッシング詐欺.pdf
 
SIGMOD 2019 参加報告
SIGMOD 2019 参加報告SIGMOD 2019 参加報告
SIGMOD 2019 参加報告
 
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べSwift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
 
DLL読み込みの問題を読み解く
DLL読み込みの問題を読み解くDLL読み込みの問題を読み解く
DLL読み込みの問題を読み解く
 
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
 
データサイエンティスト協会スキル委員会4thシンポジウム講演資料
データサイエンティスト協会スキル委員会4thシンポジウム講演資料データサイエンティスト協会スキル委員会4thシンポジウム講演資料
データサイエンティスト協会スキル委員会4thシンポジウム講演資料
 
Cesiumを動かしてみよう
Cesiumを動かしてみようCesiumを動かしてみよう
Cesiumを動かしてみよう
 
Dll Injection
Dll InjectionDll Injection
Dll Injection
 
深層強化学習の self-playで、複雑な行動を機械に学習させたい!
深層強化学習の self-playで、複雑な行動を機械に学習させたい!深層強化学習の self-playで、複雑な行動を機械に学習させたい!
深層強化学習の self-playで、複雑な行動を機械に学習させたい!
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用
 
Unity PackageManagerを使う話。
Unity PackageManagerを使う話。Unity PackageManagerを使う話。
Unity PackageManagerを使う話。
 
研究効率化Tips Ver.2
研究効率化Tips Ver.2研究効率化Tips Ver.2
研究効率化Tips Ver.2
 
SIG-Audio#11 効果音サウンドデザイン制作の実践TIPS つまみ食い
SIG-Audio#11 効果音サウンドデザイン制作の実践TIPS つまみ食いSIG-Audio#11 効果音サウンドデザイン制作の実践TIPS つまみ食い
SIG-Audio#11 効果音サウンドデザイン制作の実践TIPS つまみ食い
 
『天空の城ラピュタ』のエピソード構成表
『天空の城ラピュタ』のエピソード構成表『天空の城ラピュタ』のエピソード構成表
『天空の城ラピュタ』のエピソード構成表
 

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