モジュール java.desktop
パッケージ 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適合デバイスに実装する場合、次のようにします。

    • フィルタ処理は使用不可(高周波減衰を0.0 dBに設定)
    • 密度パラメータを最大と最小の中間に設定

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

    タイプとパラメータ: 減衰時間、遅延強度、遅延遅延、初期強度、および初期遅延
    タイプ 減衰時間(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()
      レイト・リフレクション強度をデシベル単位で返します。
      String getName()
      このリバーブ・タイプの名前を取得します。
      int hashCode()
      このタイプのハッシュ・コード値を返します。
      String toString()
      名前とパラメータの設定を含むリバーブ・タイプのString表現を提供します。
    • コンストラクタの詳細

      • ReverbType

        protected ReverbType​(String name,
                             int earlyReflectionDelay,
                             float earlyReflectionIntensity,
                             int lateReflectionDelay,
                             float lateReflectionIntensity,
                             int decayTime)
        指定されたリバーブ・パラメータを持つリバーブ・タイプを新しく構築します。
        パラメータ:
        name - 新しいリバーブ・タイプの名前、または長さゼロのString
        earlyReflectionDelay - 新しいタイプのアーリー・リフレクション遅延時間(マイクロ秒単位)
        earlyReflectionIntensity - 新しいタイプのアーリー・リフレクション強度(dB単位)
        lateReflectionDelay - 新しいタイプのレイト・リフレクション遅延時間(マイクロ秒単位)
        lateReflectionIntensity - 新しいタイプのレイト・リフレクション強度(dB単位)
        decayTime - 新しいタイプの減衰時間(マイクロ秒単位)
    • メソッドの詳細

      • getName

        public String getName()
        このリバーブ・タイプの名前を取得します。
        戻り値:
        このリバーブ・タイプの名前
        導入されたバージョン:
        1.5
      • getEarlyReflectionDelay

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

        public final float getEarlyReflectionIntensity()
        アーリー・リフレクション強度をデシベル単位で返します。 直接信号に対する最初のアーリー・リフレクションの振幅減衰を示します。
        戻り値:
        このリバーブ・タイプのアーリー・リフレクション強度(dB単位)
      • getLateReflectionDelay

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

        public final float getLateReflectionIntensity()
        レイト・リフレクション強度をデシベル単位で返します。 直接信号に対する最初のレイト・リフレクションの振幅減衰を示します。
        戻り値:
        このリバーブ・タイプのレイト・リフレクション強度(dB単位)
      • getDecayTime

        public final int getDecayTime()
        レイト・リフレクション減衰が事実上のゼロになるまでの時間である減衰時間を取得します。 事実上のゼロの値は実装によって異なります。
        戻り値:
        レイト・リフレクションの減衰時間(マイクロ秒単位)
      • equals

        public final boolean equals​(Object obj)
        指定されたオブジェクトがこのタイプと等しいかどうかを示し、オブジェクトが同じ場合はtrueを返します。
        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        obj - 比較対象の参照オブジェクト
        戻り値:
        指定されたオブジェクトがこのタイプと等しい場合はtruefalseそうでなければ
        関連項目:
        Object.hashCode()HashMap
      • toString

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