Spec-Zone.ru › OpenJDK 17

Класс ReverbType

java.lang.Object
javax.sound.sampled.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

Краткое описание конструкторов

ReverbType(String name, int earlyReflectionDelay, float earlyReflectionIntensity, int lateReflectionDelay, float lateReflectionIntensity, int decayTime)
Модификатор Конструктор Описание
protected
Создаёт новый тип реверберации с указанными значениями параметров реверберации.

Краткое описание методов

Модификатор и тип Метод Описание
final boolean equals(Object obj)
Указывает, равен ли указанный объект этому типу реверберации, возвращая true, если объекты одинаковые.
final int getDecayTime()
Получает время затухания, которое представляет собой период времени, в течение которого поздние отражения затухают до эффективного нуля.
final int getEarlyReflectionDelay()
Возвращает время задержки ранних отражений в микросекундах.
final float getEarlyReflectionIntensity()
Возвращает интенсивность ранних отражений в децибелах.
final int getLateReflectionDelay()
Возвращает время задержки поздних отражений в микросекундах.
final float getLateReflectionIntensity()
Возвращает интенсивность поздних отражений в децибелах.
String getName()
Получает имя этого типа реверберации.
final int hashCode()
Возвращает код хэша для этого типа реверберации.
final String toString()
Возвращает строковое представление типа реверберации, включая его имя и параметры.

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

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, если объекты идентичны.
Переопределяет:
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)

toString

public final String toString()
Возвращает строковое представление типа реверберации, включающее его имя и параметры настроек. Точное содержимое строки может отличаться в разных реализациях Java Sound.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление типа реверберации

© 1993, 2021, 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/17/docs/api/java.desktop/javax/sound/sampled/ReverbType.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API