Класс ReverbType
public class ReverbType extends Object
ReverbType предоставляет методы для доступа к различным параметрам реверберации, которые применяются к аудиосигналу. Реверберация имитирует отражение звука от стен, потолка и пола комнаты. В зависимости от размера комнаты и поглощающих или отражающих свойств материалов поверхностей в комнате, звук может долго отражаться, прежде чем затихнет.
Параметры реверберации, предоставляемые классом ReverbType, включают время задержки и интенсивность ранних отражений, время задержки и интенсивность поздних отражений и общее время затухания. Ранние отражения представляют собой первоначальные индивидуальные отражения низкого порядка от поверхностей в комнате. Поздние отражения — это плотные отражения высокого порядка, которые характеризуют реверберацию комнаты. Временные задержки начала этих двух типов отражений дают слушателю представление о общем размере и сложности формы и содержимого комнаты. Чем больше комната, тем длиннее временные задержки отражения. Интенсивности ранних и поздних отражений определяют усиление (в децибелах) отражённых сигналов по сравнению с прямым сигналом. Эти интенсивности дают слушателю представление о поглощающей природе поверхностей и объектов в комнате. Время затухания определяет, как долго реверберация затухает экспоненциально до тех пор, пока она не станет больше не восприниматься («эффективное нулевое значение»). Чем больше и менее поглощающие поверхности, тем дольше время затухания.
Набор параметров, определённых здесь, может не включать все аспекты реверберации, как определено в некоторых системах. Например, Ассоциация производителей MIDI (MMA) имеет рабочую группу по взаимодействию с аудио (IASIG), которая имеет рабочую группу по 3D, которая определила спецификацию уровня 2 (I3DL2). I3DL2 поддерживает фильтрацию реверберации и управление плотностью реверберации. Эти свойства не включены в определение управления реверберацией в JavaSound 1.0. В таком случае реализующая система должна либо расширить определённое управление реверберацией, включив дополнительные параметры, либо интерпретировать дополнительные возможности системы таким образом, чтобы она соответствовала описанной здесь модели.
При реализации JavaSound на устройстве, совместимом с I3DL2:
- Фильтрация отключена (понижение высоких частот установлено на 0,0 дБ)
- Параметры плотности устанавливаются посередине между минимальным и максимальным значениями
В следующей таблице показано, какие значения параметров может использовать реализация для набора репрезентативных настроек реверберации.
| Тип | Время затухания (мс) | Интенсивность поздних отражений (дБ) | Задержка поздних отражений (мс) | Интенсивность ранних отражений (дБ) | Задержка ранних отражений (мс) |
|---|---|---|---|---|---|
| Пещера | 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/sound/sampled/ReverbType.html