AudioFilter

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

AudioFilter ajusta el contenido de frecuencia de los flujos de audio.Proporciona un puerto de entrada y un puerto de salida que se pueden conectar a/desde por . AudioFilter utiliza sus propiedades FilterType , Gain y Q para determinar qué hacer alrededor de un corte particular Frequency .

Muestras de código

An AudioFilter can be used to change the frequency content of audio streams. In this example, an AudioFilter is used to make the AudioEmitter output more muffled when there's a wall between it and the AudioListener.

Emitter Filtering

-- This assumes the workspace contains a Part with an AudioEmitter and an AudioPlayer, and the camera has an AudioListener
local RunService = game:GetService("RunService")
local part: BasePart = workspace.Part
local camera: Camera = workspace.CurrentCamera
local audioPlayer: AudioPlayer = part.AudioPlayer
local audioEmitter: AudioEmitter = part.AudioEmitter
local audioListener: AudioListener = camera.AudioListener
local raycastParams = RaycastParams.new()
raycastParams.FilterDescendantsInstances = { audioEmitter.Parent }
raycastParams.FilterType = Enum.RaycastFilterType.Exclude
-- Create a new AudioFilter
local filter: AudioFilter = Instance.new("AudioFilter")
filter.FilterType = Enum.AudioFilterType.Lowpass12dB
filter.Frequency = 22000
filter.Q = math.sqrt(2) / 2 -- This Q value produces a flat lowpass for the 12dB slope type
filter.Parent = part
-- Put the AudioFilter between the player and the emitter
local function wireTo(source: Instance, target: Instance): Wire
local wire = Instance.new("Wire")
wire.SourceInstance = source
wire.TargetInstance = target
wire.Parent = target
end
wireTo(audioPlayer, filter)
wireTo(filter, audioEmitter)
-- Update the filter based on the positions of the emitter and listener
RunService.Heartbeat:Connect(function()
local emitterPos: Vector3 = part.Position
local listenerPos: Vector3 = camera.CFrame.Position
local raycastResult = workspace:Raycast(emitterPos, (listenerPos - emitterPos), raycastParams)
filter.Frequency = if raycastResult then 500 else 22000
end)

Resumen

Propiedades

  • Leer paralelo

    Si los flujos de audio se pasan a través sin verse afectados por este efecto.

  • No replicado
    Seguridad de scripts Roblox
    Leer paralelo
  • El tipo de curva de la banda representada por el filtro.

  • Leer paralelo

    La frecuencia central en torno a la cual actúa el filtro.

  • Leer paralelo

    Para filtros de pico y estante, los controles aumentan o reducen el volumen.

  • Leer paralelo

    Para picos, filtros de paso bajo, alto, banda y notch, controla la selectividad o la resonancia.

Métodos

Eventos

Propiedades

Bypass

Leer paralelo

Si true , los flujos de audio se transmiten sin afectar por este efecto.

Editor

No replicado
Seguridad de scripts Roblox
Leer paralelo
Leer paralelo

El tipo de curva de respuesta de frecuencia que se usará para filtrar la señal de audio.Cada tipo de curva afecta el contenido de frecuencia del audio de diferentes maneras.

Frequency

Leer paralelo

La frecuencia central en hercios de la curva representada por el filtro.En general, ajustar este valor hacia arriba o hacia abajo se corresponde con un desplazamiento horizontal en la curva de frecuencia general.Se extiende de 20 a 22000.

Gain

Leer paralelo

El valor de ganancia en decibelios utilizado para determinar el nivel de volumen de la curva representada por el filtro.Solo se aplica cuando el FilterType es Peak , LowShelf o HighShelf .Se extiende de -30 a 30.

Leer paralelo

El valor de calidad utilizado para determinar la pendiente o la resonancia de la curva representada por el filtro.Solo se aplica cuando el FilterType es Peak , Lowpass[x]dB , Highpass[x]dB , Bandpass , o Notch .Se extiende de 0.1 a 10.

Para FilterType valores de Lowpass12dB y Highpass12dB , un valor de Q de sqrt(2) / 2 o 0.707 corresponde a un filtro plano en una pendiente de 12dB/octava.

Métodos

GetConnectedWires

Instances

Devuelve un array de Wires que están conectados al anclarespecificado. AudioFilter tiene un puerto "Entrada" y un anclar"Salida".

Parámetros

pin: string
Valor predeterminado: ""

Devuelve

Instances

GetGainAt

Devuelve el valor de ganancia, en decibelios, de la curva de respuesta de frecuencia representada por el filtro a la frecuencia dada, en hercios.Esto se puede usar para probar la forma exacta del filtro en lugares clave o como un todo.

Parámetros

frequency: number

La frecuencia, en hercios, para muestrear.

Valor predeterminado: ""

Devuelve

El valor de ganancia, en decibelios, en la frecuencia dada.

GetInputPins


Devuelve

GetOutputPins


Devuelve

Eventos

WiringChanged

Evento que se activa después de que un Wire se conecte o se desconecte, y que Wire ahora está conectado o fue previamente conectado a un puerto en el AudioFilter y a alguna otra instancia inalámbrica.

Parámetros

connected: boolean

Si la instancia se conectó o se desconectó.

pin: string

El puerto en el AudioFilter que los objetivos Wire apuntan.

wire: Wire

El Wire entre la AudioFilter y la otra instancia.

instance: Instance

La otra instancia que está o estaba conectada a través del Wire .