JavaTM 2
Platform
Std. Ed. v1.4.0

javax.sound.sampled
クラス ReverbType

java.lang.Object
  |
  +--javax.sound.sampled.ReverbType

public class ReverbType
extends Object

ReverbType クラスは、オーディオ信号に適用されるさまざまなリバーブ設定にアクセスするためのメソッドを提供します。

リバーブは、部屋の壁、天井、および床の音の反射をシミュレーションします。部屋の大きさや、部屋の表面の素材がサウンドを吸収または反射する度合によって、サウンドは消滅するまでに長時間跳ね返ることがあります。

ReverbType によって提供されるリバーブパラメータは、アーリーリフレクションの遅延時間と強度、レイトリフレクションの遅延時間と強度、および全体的な減衰時間から構成されています。アーリーリフレクションは、部屋の表面から離れた直接信号の、最初の個々の下位リフレクションです。レイトリフレクションは密度の高い、上位リフレクションで、部屋のリバーブの特徴となります。これら 2 つのリフレクションタイプの開始の遅延時間により、部屋の形状や中身の全体的な大きさと複雑さをリスナーに与えます。部屋が大きくなるほど、リフレクション遅延時間も長くなります。アーリーリフレクションおよびレイトリフレクションの強度が直接信号と比較され、反射された信号のゲイン (デシベル単位) が定義されます。これらの強度はリスナーに、部屋の表面と物体がどんな吸収性を持っているかを示します。減衰時間は、リバーブが知覚できなくなる (「実際のゼロ」) まで指数的に減衰するのにかかる時間を定義します。表面が大きくなり吸収性が低くなるほど、遅延時間は長くなります。

ここで定義されるパラメータのセットは、システムが指定するリバーブの側面を全部は含んでいない場合があります。たとえば、Midi Manufacturer's Association (MMA) には Interactive Audio Special Interest Group (IASIG) があり、このグループの 3-D Working Group は Level 2 Spec (I3DL2) を定義しています。I3DL2 はリバーブのフィルタ処理とリバーブ密度のコントロールをサポートします。これらのプロパティは JavaSound 1.0 のリバーブコントロールの定義には含まれていません。このような場合、実装システムは定義されたリバーブコントロールを拡張してパラメータを追加するか、あるいはシステムの追加機能をここに述べるモデルに適合するように解釈します。

JavaSound を I3DL2 適合デバイスに実装する場合、次のようにします。

次の表は、実装がリバーブ設定の表示セットに使用するパラメータ値を示しています。

リバーブタイプとパラメータ

タイプ 減衰時間 (ms) レイト強度 (dB) レイト遅延 (ms) アーリー強度 (dB) アーリー遅延 (ms)
Cavern 2250 -2.0 41.3 -1.4 10.3
Dungeon 1600 -1.0 10.3 -0.7 2.6
Garage 900 -6.0 14.7 -4.0 3.9
Acoustic Lab 280 -3.0 8.0 -2.0 2.0
Closet 150 -10.0 2.5 -7.0 0.6

導入されたバージョン:
1.3

コンストラクタの概要
protected ReverbType(String name, int earlyReflectionDelay, float earlyReflectionIntensity, int lateReflectionDelay, float lateReflectionIntensity, int decayTime)
          指定されたリバーブパラメータを持つリバーブタイプを新しく構築します。
 
メソッドの概要
 boolean equals(Object obj)
          指定されたオブジェクトがこのリバーブタイプに等しいかどうかを示し、オブジェクトが同一である場合は true を返します。
 int getDecayTime()
          レイトリフレクション減衰が実際のゼロになるまでの時間である減衰時間を取得します。
 int getEarlyReflectionDelay()
          アーリーリフレクション遅延時間をマイクロ秒単位で返します。
 float getEarlyReflectionIntensity()
          アーリーリフレクション強度をマイクロ秒単位で返します。
 int getLateReflectionDelay()
          レイトリフレクション遅延時間をマイクロ秒単位で返します。
 float getLateReflectionIntensity()
          レイトリフレクション強度をマイクロ秒単位で返します。
 int hashCode()
          ハッシュコードメソッドをファイナライズします。
 String toString()
          名前とパラメータの設定を含むリバーブタイプの String 表現を提供します。
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

ReverbType

protected ReverbType(String name,
                     int earlyReflectionDelay,
                     float earlyReflectionIntensity,
                     int lateReflectionDelay,
                     float lateReflectionIntensity,
                     int decayTime)
指定されたリバーブパラメータを持つリバーブタイプを新しく構築します。

パラメータ:
name - 新しいリバーブタイプの名前、または長さゼロの String
earlyReflectionDelay - マイクロ秒単位の新しいタイプのアーリーリフレクション遅延時間
earlyReflectionIntensity - dB 単位の新しいタイプのアーリーリフレクション強度
lateReflectionDelay - マイクロ秒単位の新しいタイプのレイトリフレクション遅延時間
lateReflectionIntensity - dB 単位の新しいタイプのレイトリフレクション強度
decayTime - マイクロ秒単位の新しいタイプの減衰時間
メソッドの詳細

getEarlyReflectionDelay

public final int getEarlyReflectionDelay()
アーリーリフレクション遅延時間をマイクロ秒単位で返します。直接信号が聞こえたときから最初のアーリーリフレクションが聞こえたときまでの時間を示します。

戻り値:
このリバーブタイプのアーリーリフレクション遅延時間、マイクロ秒単位

getEarlyReflectionIntensity

public final float getEarlyReflectionIntensity()
アーリーリフレクション強度をマイクロ秒単位で返します。直接信号に比例する最初のアーリーリフレクションの振幅減衰を示します。

戻り値:
このリバーブタイプのアーリーリフレクション強度、マイクロ秒単位

getLateReflectionDelay

public final int getLateReflectionDelay()
レイトリフレクション遅延時間をマイクロ秒単位で返します。最初のアーリーリフレクションが聞こえたときから最初のレイトリフレクションが聞こえたときまでの時間を示します。

戻り値:
このリバーブタイプのレイトリフレクション遅延時間、マイクロ秒単位

getLateReflectionIntensity

public final float getLateReflectionIntensity()
レイトリフレクション強度をマイクロ秒単位で返します。直接信号に比例する最初のレイトリフレクションの振幅減衰を示します。

戻り値:
このリバーブタイプのレイトリフレクション強度、マイクロ秒単位

getDecayTime

public final int getDecayTime()
レイトリフレクション減衰が実際のゼロになるまでの時間である減衰時間を取得します。実際のゼロ値は実装によって異なります。

戻り値:
レイトリフレクションの減衰時間、マイクロ秒単位

equals

public final boolean equals(Object obj)
指定されたオブジェクトがこのリバーブタイプに等しいかどうかを示し、オブジェクトが同一である場合は true を返します。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - 比較対象の参照オブジェクト
戻り値:
このリバーブタイプが obj と等しい場合は true、そうでない場合は false
関連項目:
Object.hashCode(), Hashtable

hashCode

public final int hashCode()
ハッシュコードメソッドをファイナライズします。

オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

toString

public final String toString()
名前とパラメータの設定を含むリバーブタイプの String 表現を提供します。実際の文字列の内容は Java Sound の実装によって異なります。

オーバーライド:
クラス Object 内の toString
戻り値:
リバーブタイプの名前と説明

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.