java.lang.Object
javax.sound.sampled.ReverbType
ReverbType
类提供了用于访问应用于音频信号的各种混响设置的方法。
混响模拟声音在房间的墙壁、天花板和地板上的反射。根据房间的大小以及房间表面的吸收或反射材料,声音可能会在消失之前反弹很长一段时间。
ReverbType
提供的混响参数包括早期反射的延迟时间和强度,晚期反射的延迟时间和强度,以及总体衰减时间。早期反射是房间内直接信号在表面上的初始低阶反射。晚期反射是表征房间混响的密集高阶反射。这两种反射类型的起始延迟时间给听众一种对房间形状和内容的整体大小和复杂性的感觉。房间越大,反射延迟时间越长。早期和晚期反射的强度定义了反射信号相对于直接信号的增益(以分贝为单位)。这些强度给听众一种对房间表面和物体的吸收性质的印象。衰减时间定义了混响需要多长时间才能指数衰减到不再可感知(“有效零”)。表面越大且吸收性越差,衰减时间越长。
此处定义的参数集可能不包括某些系统规定的混响的所有方面。例如,Midi制造商协会(MMA)有一个交互式音频特别兴趣小组(IASIG),该小组设有一个定义了2级规范(I3DL2)的3D工作组。I3DL2支持混响的滤波和混响密度的控制。这些属性未包含在JavaSound 1.0对混响控制的定义中。在这种情况下,实施系统应该扩展已定义的混响控制以包括额外的参数,或者以符合此处描述的模型的方式解释系统的额外功能。
如果在I3DL2兼容设备上实现JavaSound:
- 过滤被禁用(高频衰减设置为0.0 dB)
- 密度参数设置为最小值和最大值之间的中间值
以下表格显示了实现可能使用的代表性混响设置的参数值。
类型 | 衰减时间(毫秒) | 晚期强度(分贝) | 晚期延迟(毫秒) | 早期强度(分贝) | 早期延迟(毫秒) |
---|---|---|---|---|---|
洞穴 | 2250 | -2.0 | 41.3 | -1.4 | 10.3 |
地牢 | 1600 | -1.0 | 10.3 | -0.7 | 2.6 |
车库 | 900 | -6.0 | 14.7 | -4.0 | 3.9 |
声学实验室 | 280 | -3.0 | 8.0 | -2.0 | 2.0 |
壁橱 | 150 | -10.0 | 2.5 | -7.0 | 0.6 |
- 自版本:
- 1.3
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ReverbType
(String name, int earlyReflectionDelay, float earlyReflectionIntensity, int lateReflectionDelay, float lateReflectionIntensity, int decayTime) 构造具有指定混响参数值的新混响类型。 -
Method Summary
Modifier and TypeMethodDescriptionfinal boolean
指示指定对象是否等于此混响类型,如果对象相同则返回true
。final int
获取衰减时间,即晚期反射衰减到有效零的时间量。final int
返回早期反射延迟时间(微秒)。final float
返回早期反射强度(分贝)。final int
返回晚期反射延迟时间(微秒)。final float
返回晚期反射强度(分贝)。getName()
获取此混响类型的名称。final int
hashCode()
返回此混响类型的哈希码值。final String
toString()
返回混响类型的字符串表示,包括其名称和参数设置。
-
Constructor Details
-
ReverbType
protected ReverbType(String name, int earlyReflectionDelay, float earlyReflectionIntensity, int lateReflectionDelay, float lateReflectionIntensity, int decayTime) 构造具有指定混响参数值的新混响类型。- 参数:
-
name
- 新混响类型的名称,或长度为零的String
-
earlyReflectionDelay
- 新类型的早期反射延迟时间(微秒) -
earlyReflectionIntensity
- 新类型的早期反射强度(分贝) -
lateReflectionDelay
- 新类型的晚期反射延迟时间(微秒) -
lateReflectionIntensity
- 新类型的晚期反射强度(分贝) -
decayTime
- 新类型的衰减时间(微秒)
-
-
Method Details
-
getName
获取此混响类型的名称。- 返回:
- 此混响类型的名称
- 自版本:
- 1.5
-
getEarlyReflectionDelay
public final int getEarlyReflectionDelay()返回早期反射延迟时间(微秒)。这是直接信号被听到和第一个早期反射被听到之间的时间量。- 返回:
- 此混响类型的早期反射延迟时间,单位为微秒
-
getEarlyReflectionIntensity
public final float getEarlyReflectionIntensity()返回早期反射强度(分贝)。这是第一个早期反射相对于直接信号的幅度衰减。- 返回:
- 此混响类型的早期反射强度,单位为分贝
-
getLateReflectionDelay
public final int getLateReflectionDelay()返回晚期反射延迟时间(微秒)。这是第一个早期反射被听到和第一个晚期反射被听到之间的时间量。- 返回:
- 此混响类型的晚期反射延迟时间,单位为微秒
-
getLateReflectionIntensity
public final float getLateReflectionIntensity()返回晚期反射强度(分贝)。这是第一个晚期反射相对于直接信号的幅度衰减。- 返回:
- 此混响类型的晚期反射强度,单位为分贝
-
getDecayTime
public final int getDecayTime()获取衰减时间,即晚期反射衰减到有效零的时间量。有效零值取决于实现。- 返回:
- 晚期反射的衰减时间,单位为微秒
-
equals
指示指定对象是否等于此混响类型,如果对象相同则返回true
。 -
hashCode
public final int hashCode()返回此混响类型的哈希码值。 -
toString
返回混响类型的字符串表示,包括其名称和参数设置。字符串的确切内容可能因Java Sound的不同实现而异。
-