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, 2013, Oracle and/or its affiliates. All rights reserved.