public class ReverbType extends Object
ReverbType
类提供了访问各种混响设置以应用于音频信号的方法。
混响模拟了房间墙壁,天花板和地板上的声音反射。 根据房间的大小,以及房间表面材料的吸收或反射程度,声音可能在很久以前就会弹起,才能消失。
ReverbType提供的ReverbType
包括早期反射的延迟时间和强度,后期反射的延迟时间和强度以及整体衰减时间。 早期反射是从房间表面的直接信号的初始个体低阶反射。 晚期反思是房间混响特征的密集,高阶反射。 这两种反射类型开始的延迟时间使听众感觉到房间的形状和内容的整体尺寸和复杂性。 房间越大,反射延迟时间越长。 早期和晚期反射强度定义了与直接信号相比的反射信号的增益(分贝)。 这些强度使听众对房间表面和物体的吸收性质的印象。 衰减时间定义了混响在指数衰减中所需的时间,直到它不再可察觉(“有效零”)。 表面越大越小,衰减时间越长。
这里定义的一组参数可能不包括某些系统指定的混响的所有方面。 例如,Midi制造商协会(MMA)有一个交互式音频特别兴趣小组(IASIG),它有一个3维工作组,定义了2级规格(I3DL2)。 I3DL2支持混响混响的过滤和混响密度的控制。 这些属性不包括在混响控件的JavaSound 1.0定义中。 在这种情况下,实施系统应该将定义的混响控制扩展为包括附加参数,或者以符合此处描述的模型的方式来解释系统的附加功能。
如果在符合I3DL2标准的设备上实现JavaSound:
下表显示了一个实现可能用于代表性混响设置的参数值。
混响类型和参数
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.6Modifier | Constructor and Description |
---|---|
protected |
ReverbType(String name, int earlyReflectionDelay, float earlyReflectionIntensity, int lateReflectionDelay, float lateReflectionIntensity, int decayTime)
构造具有指定混响参数值的新混响类型。
|
Modifier and Type | Method and Description |
---|---|
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
- 与之比较的参考对象
true
如果这个混响类型与obj
相同;
false
否则
Object.hashCode()
, HashMap
public final int hashCode()
hashCode
在类别
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)