模块  java.desktop
软件包  javax.sound.sampled

Class ReverbType


  • public class ReverbType
    extends Object
    ReverbType类提供了用于访问要应用于音频信号的各种混响设置的方法。

    混响模拟房间墙壁,天花板和地板的声音反射。 根据房间的大小,以及房间表面材料的吸收性或反射性,声音可能会在消失之前长时间反弹。

    ReverbType提供的混响参数包括延迟时间和早期反射强度,延迟时间和后期反射强度以及整体衰减时间。 早期反射是房间表面直接信号的初始单独低阶反射。 后期反射是密集的高阶反射,是房间混响的特征。 这两种反射类型的开始延迟时间使听众感觉到房间的形状和内容的整体尺寸和复杂性。 房间越大,反射延迟时间越长。 与直接信号相比,早期和晚期反射的强度定义了反射信号的增益(以分贝为单位)。 这些强度使听众对房间中的表面和物体的吸收性质印象深刻。 衰减时间定义了混响所需的指数衰减时间,直到它不再可感知(“有效零”)。 表面越大,吸收性越差,衰减时间越长。

    此处定义的参数集可能不包括某些系统指定的混响的所有方面。 例如,Midi制造商协会(MMA)有一个交互式音频特别兴趣小组(IASIG),它有一个定义了2级规范(I3DL2)的3-D工作组。 I3DL2支持混响滤波和混响密度控制。 这些属性不包含在混响控件的JavaSound 1.0定义中。 在这种情况下,实现系统应该扩展定义的混响控制以包括附加参数,或者以适合此处描述的模型的方式解释系统的附加功能。

    如果在符合I3DL2的设备上实现JavaSound:

    • 禁用滤波(高频衰减设置为0.0 dB)
    • 密度参数设置为最小值和最大值之间的中间值

    下表显示了实现可用于一组代表性混响设置的参数值。

    Reverb types and params: decay time, late intensity, late delay, early intensity, and early delay Type Decay Time (ms) Late Intensity (dB) Late Delay (ms) Early Intensity (dB) Early Delay(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
    • 构造方法详细信息

      • 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 - 要与之比较的引用对象
        结果
        true如果指定的对象等于此混响类型; 否则为false
        另请参见:
        Object.hashCode()HashMap
      • toString

        public final String toString()
        提供混响类型的String表示,包括其名称和参数设置。 字符串的确切内容可能因Java Sound的实现而异。
        重写:
        toString在类 Object
        结果
        混响类型名称和描述