- java.lang.Object
-
- javax.sound.sampled.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
-
-
构造方法摘要
构造方法 变量 构造器 描述 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
- 要与之比较的引用对象 - 结果
-
true
如果指定的对象等于此混响类型; 否则为false
- 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public final int hashCode()
返回此混响类型的哈希码值。- 重写:
-
hashCode
,类Object
- 结果
- 此混响类型的哈希码值
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-