Класс ReverbType
public class ReverbType extends Object
ReverbType предоставляет методы для доступа к различным настройкам реверберации, применяемым к аудиосигналу. Реверберация имитирует отражение звука от стен, потолка и пола помещения. В зависимости от размера помещения и от того, насколько звукопоглощающими или отражающими являются материалы его поверхностей, звук может долго отражаться, прежде чем затихнет.
Параметры реверберации, предоставляемые ReverbType, состоят из времени задержки и интенсивности ранних отражений, времени задержки и интенсивности поздних отражений, а также общего времени затухания. Ранние отражения — это начальные отдельные отражения низкого порядка прямого сигнала от поверхностей помещения. Поздние отражения — это плотные отражения высокого порядка, характеризующие реверберацию помещения. Время задержки до начала этих двух типов отражений позволяет слушателю оценить общий размер и сложность формы и наполнения помещения. Чем больше помещение, тем дольше задержка отражений. Интенсивность ранних и поздних отражений определяет усиление (в децибелах) отражённых сигналов по сравнению с прямым сигналом. Эта интенсивность позволяет слушателю составить представление о звукопоглощающих свойствах поверхностей и предметов в помещении. Время затухания определяет, как долго реверберация экспоненциально затухает, пока не перестанет восприниматься («эффективный ноль»). Чем больше поверхности и чем хуже они поглощают звук, тем дольше время затухания.
Определённый здесь набор параметров может не включать все аспекты реверберации, предусмотренные некоторыми системами. Например, Ассоциация производителей MIDI (MMA) включает Группу особых интересов по интерактивному аудио (IASIG), в составе которой действует Рабочая группа по трёхмерному звуку, определившая спецификацию уровня 2 (I3DL2). I3DL2 поддерживает фильтрацию реверберации и управление плотностью реверберации. Эти свойства не включены в определение регулятора реверберации JavaSound 1.0. В таком случае реализующая система должна либо расширить определённый регулятор реверберации, включив в него дополнительные параметры, либо интерпретировать дополнительные возможности системы таким образом, чтобы они соответствовали описанной здесь модели.
При реализации JavaSound на устройстве, совместимом с I3DL2:
- Фильтрация отключена (ослабление высоких частот установлено на 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
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт новый тип реверберации с указанными значениями параметров реверберации. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final boolean |
equals |
Указывает, равен ли указанный объект этому типу реверберации; возвращает true, если объекты совпадают. |
final int |
getDecayTime() |
Возвращает время затухания — период, за который поздние отражения ослабевают до эффективного нуля. |
final int |
getEarlyReflectionDelay() |
Возвращает время задержки ранних отражений в микросекундах. |
final float |
getEarlyReflectionIntensity() |
Возвращает интенсивность ранних отражений в децибелах. |
final int |
getLateReflectionDelay() |
Возвращает время задержки поздних отражений в микросекундах. |
final float |
getLateReflectionIntensity() |
Возвращает интенсивность поздних отражений в децибелах. |
String |
getName() |
Возвращает имя этого типа реверберации. |
final int |
hashCode() |
Возвращает значение хеш-кода для этого типа реверберации. |
final String |
toString() |
Возвращает строковое представление типа реверберации, включая его имя и настройки параметров. |
Подробное описание конструкторов
ReverbType
protected ReverbType(String name, int earlyReflectionDelay, float earlyReflectionIntensity, int lateReflectionDelay, float lateReflectionIntensity, int decayTime)
- Параметры:
-
name— имя нового типа реверберации или строка нулевой длиныString -
earlyReflectionDelay— время задержки ранних отражений нового типа в микросекундах -
earlyReflectionIntensity— интенсивность ранних отражений нового типа в дБ -
lateReflectionDelay— время задержки поздних отражений нового типа в микросекундах -
lateReflectionIntensity— интенсивность поздних отражений нового типа в дБ -
decayTime— время затухания нового типа в микросекундах
Подробное описание методов
getName
public String 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
public final boolean equals(Object obj)
true, если объекты совпадают.hashCode
toString
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/sound/sampled/ReverbType.html