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 |
修飾子 | コンストラクタと説明 |
---|---|
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()
レイト・リフレクション強度をデシベル単位で返します。
|
String |
getName()
このリバーブ・タイプの名前を取得します。
|
int |
hashCode()
ハッシュコード・メソッドをファイナライズします。
|
String |
toString()
名前とパラメータの設定を含むリバーブ・タイプの
String 表現を提供します。 |
protected ReverbType(String name, int earlyReflectionDelay, float earlyReflectionIntensity, int lateReflectionDelay, float lateReflectionIntensity, int decayTime)
name
- 新しいリバーブ・タイプの名前、または長さゼロのString
earlyReflectionDelay
- 新しいタイプのアーリー・リフレクション遅延時間(マイクロ秒単位)earlyReflectionIntensity
- 新しいタイプのアーリー・リフレクション強度(dB単位)lateReflectionDelay
- 新しいタイプのレイト・リフレクション遅延時間(マイクロ秒単位)lateReflectionIntensity
- 新しいタイプのレイト・リフレクション強度(dB単位)decayTime
- 新しいタイプの減衰時間(マイクロ秒単位)public String getName()
public final int getEarlyReflectionDelay()
public final float getEarlyReflectionIntensity()
public final int getLateReflectionDelay()
public final float getLateReflectionIntensity()
public final int getDecayTime()
public final boolean equals(Object obj)
true
を返します。equals
、クラス: Object
obj
- 比較対象の参照オブジェクトobj
と等しい場合はtrue
、そうでない場合はfalse
Object.hashCode()
、HashMap
public final int hashCode()
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.