Spec-Zone.ru › OpenJDK 8

Класс 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

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

Модификатор Конструктор и описание
protected ReverbType(String name, int earlyReflectionDelay, float earlyReflectionIntensity, int lateReflectionDelay, float lateReflectionIntensity, int decayTime)

Создаёт новый тип реверберации с указанными значениями параметров реверберации.

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

Модификатор и тип Метод и описание
boolean equals(Object obj)

Указывает, равен ли указанный объект этому типу реверберации, возвращая true, если объекты идентичны.

int getDecayTime()

Получает время затухания, которое представляет собой период времени, в течение которого поздние отражения затухают до эффективного нуля.

int getEarlyReflectionDelay()

Возвращает время задержки ранних отражений в микросекундах.

float getEarlyReflectionIntensity()

Возвращает интенсивность ранних отражений в децибелах.

int getLateReflectionDelay()

Возвращает время задержки поздних отражений в микросекундах.

float getLateReflectionIntensity()

Возвращает интенсивность поздних отражений в децибелах.

String getName()

Получает имя этого типа реверберации.

int hashCode()

Окончательно определяет метод hashcode.

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 если этот тип реверберации такой же, как obj; false в противном случае
См. также:
Object.hashCode(), HashMap

hashCode

public final int hashCode()

Окончательно определяет метод hashcode.

Переопределяет:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого объекта.
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

toString

public final String toString()

Предоставляет строковое представление типа реверберации, включая его имя и параметры настроек. Точное содержимое строки может отличаться в различных реализациях Java Sound.

Переопределяет:
toString в классе Object
Возвращает:
имя и описание типа реверберации

© 1993, 2020, 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.

Spec-Zone.ru

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