Module  java.desktop
软件包  javax.sound.sampled

Class ReverbType



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

    混响模拟了房间墙壁,天花板和地板上的声音反射。 根据房间的大小,以及房间表面材料的吸收或反射程度,声音可能在很久以前就会弹起,才能消失。

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

    这里定义的一组参数可能不包括某些系统指定的混响的所有方面。 例如,Midi制造商协会(MMA)有一个交互式音频特别兴趣小组(IASIG),它有一个3维工作组,定义了2级规格(I3DL2)。 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
        重写:
        equalsObject
        参数
        obj - 与之比较的参考对象
        结果
        true如果这个混响类型与obj相同; 否则为false
        另请参见:
        Object.hashCode()HashMap
      • toString

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