3D Audio in Java

このサイトについて

Java言語を使って立体音響を作ってみているサイトです。

売り文句

  自分で作った頭部伝達関数を使えます。

機材があれば自分の頭部伝達関数を測定したデータを使えます。

 ピュアJavaです。

Javaだけで作っているので、他のライブラリが必要になることがありません。

(AIS3DMixerはJava3D用のライブラリなのでJava3Dのインストールが必要です。)

 Java3Dに対応しようとしています(作業中)。

Java3Dで作ったソフトの『SimpleUniverse.createAudioDevice();』を 『SimpleUniverse.getViewer().getView().getPhysicalEnvironment().setAudioDevice(new AIS3DDevice3DL2());』に書き換えるだけで使えます。

(現状ではConeSoundがPointSoundとして処理されます)

 オープンソースです。

MPL Tri-licenceです。

VSTプラグイン

Windows向けのVSTプラグインをGoogleCodeで公開しました

立体音響を作ることができる他のソフトウェア

自分で調べてみたところ、以下のようなものが見つかりました。

VSTプラグイン

  他にも、OUTPUTとい うサイトのイメージング/パンニング/3Dにそれっぽいものがありました。

Pure Data

Java

XNA

※)XNAの 3Dオーディオに関しては、どのような処理を行って立体化しているのかよく分かりませんでした

FAQ

トップページしか見ない人も多いと思うので、FAQをトップページに置いておきます。

■どうやって立体音響っぽくしてるの?

を計算してそれっぽくしています。

細かく書くと、

■用途は?

CPUの計算速度が十分であればゲームなどに使えると思います。

また、CSS2.1のAppendix AにAuralStyleSheetという音声用のスタイルシートが定義されており、elevationとazimuthという立体音響を意識したプロパティが用意されていますので、そういうブラウザで万が一役に立つ可能性がないとは言い切れません。

■ ライセンスは?

基本的にはMPL Tri-licenceです。

また、このサイト(sites.google.com/site/3daudioinjava/)に書かれたテキストはCreative Commons(表示-非営利-改変禁止 2.1 日本)Licenseです。

不明な点があればh.10x64@gmail.comへお問い合わせください。

■ 頭部インパルス応答のライセンスは?

MIT Media Lab.このページでKEMARダミーヘッドマイクロフォンを使った頭部インパルス応答のデータが配布されていますので、利用させていただきました。

データの利用条件を以下に引用します。

This data is Copyright 1994 by the MIT Media Laboratory. It is provided free with no restrictions on use, provided the authors are cited when the data is used in any research or commercial application.

(エキサイト訳:このデータはMITメディアラボによるCopyright1994です。 使用の制限のない無料でそれを提供します、データがどんな研究や市販のアプリケーションでも使用されるとき、作者が引用されるなら。)

 デフォルトで使用されるのはこのMIT製のデータです。

 AudioInputStream3DクラスでデフォルトのHRTFファイルを読み込むとコンソールにコピーライトが表示されるようになっています。

■ MIT以外の頭部インパルス応答はないの?

  IrcamLISTEN HRTF DATABASEというページには人間の頭部を利用して測定した多数のデータがダウンロード可能な状態で置いてあります。

ライセンスや利用条件を確認することができなかったため、ここのデータは使いませんでした。

ですが、配布されているzipデータを個人的に楽しむために利用する分にはおそらく問題ないのではないかと思います。

  また、HRTFのデータを保存するためのXMLを定義するスキーマを用意しましたので、自分で測定した頭部インパルス応答を利用することもできます。