AudioEqualizer

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í.

AudioEqualizer 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 .AudioEqualizer tiene 3 bandas de frecuencia cuyos valores de ganancia se pueden controlar y los puntos de cruce entre bandas se pueden mover.

Muestras de código

Se puede utilizar un ecualizador de audio para cambiar el contenido de frecuencia de los flujos de audio.Esto se puede hacer antes de la emisión, o después de escuchar, y se puede usar para implementar tu propia lógica personalizada de RollOff! En este ejemplo, usamos un Equilibrador de audio para hacer que las frecuencias altas de un reproductor de audio sean más opacas cuando el receptor de audio se aleja del emisor de audio.También reducimos las frecuencias bajas y altas a medida que el oyente se aleja más.

Equilibrio de oyentes

local function wireUp(source: Instance, target: Instance): Wire
local wire = Instance.new("Wire")
wire.Parent = target
wire.SourceInstance = source
wire.TargetInstance = target
return wire
end
local function getCFrameFrom(inst: Instance): CFrame?
local parent = inst.Parent
if not parent then
return nil
elseif parent:IsA("Model") then
return parent.WorldPivot
elseif parent:IsA("BasePart") then
return parent.CFrame
elseif parent:IsA("Attachment") then
return parent.WorldCFrame
elseif parent:IsA("Camera") then
return parent.CFrame
else
return nil
end
end
local function rescale(value: number, oldRange: NumberRange, newRange: NumberRange): number
local clamped = math.clamp(value, oldRange.Min, oldRange.Max)
local normalized = clamped - oldRange.Min / (oldRange.Max - oldRange.Min)
return normalized * (newRange.Max - newRange.Min) + newRange.Min
end
local assetPlayer = Instance.new("AudioPlayer")
assetPlayer.AssetId = "rbxassetid://142376088"
assetPlayer.Parent = workspace
local equalizer = Instance.new("AudioEqualizer")
equalizer.MidRange = NumberRange.new(400, 3000)
equalizer.Parent = workspace
local emitterPart = Instance.new("Part")
emitterPart.Anchored = true
emitterPart.Position = Vector3.new(0, 5, 0)
emitterPart.Parent = workspace
local emitter = Instance.new("AudioEmitter")
emitter.Parent = emitterPart
local listener = Instance.new("AudioListener")
listener.Parent = workspace.CurrentCamera
local output = Instance.new("AudioDeviceOutput")
output.Parent = workspace
wireUp(assetPlayer, equalizer)
wireUp(equalizer, emitter)
wireUp(listener, output)
assetPlayer.Looping = true
assetPlayer:Play()
while true do
local emitterFrame = getCFrameFrom(emitter)
local listenerFrame = getCFrameFrom(listener)
if emitterFrame and listenerFrame then
local towardEmitter = emitterFrame.Position - listenerFrame.Position
local look = towardEmitter.Unit:Dot(listenerFrame.LookVector) -- varía desde [-1, 1]
look = rescale(look, NumberRange.new(-1, 1), NumberRange.new(-20, 0))
local distance = math.max(towardEmitter.Magnitude, 1)
local rolloff = 1 / distance -- varía de [0, 1]
rolloff = rescale(rolloff, NumberRange.new(0, 1), NumberRange.new(-10, 10))
equalizer.HighGain = look + rolloff
equalizer.LowGain = rolloff
end
task.wait()
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
  • Leer paralelo

    Gana valor para aplicar al contenido de frecuencia de la banda más alta en el ecualizador.

  • Leer paralelo

    Gana valor para aplicar al contenido de frecuencia de la banda más baja en el ecualizador.

  • Leer paralelo

    Gana valor para aplicar al contenido de frecuencia de la banda media en el ecualizador.

  • Leer paralelo

    El rango de frecuencia de la banda influenciada por MidGain .

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

HighGain

Leer paralelo

Gana valor, en decibelios, para aplicar al contenido de frecuencia de la banda más alta en el ecualizador. Se encuentra en el rango de -80 a 10.

LowGain

Leer paralelo

Gana valor, en decibelios, para aplicar al contenido de frecuencia de la banda más baja en el ecualizador. Se encuentra en el rango de -80 a 10.

MidGain

Leer paralelo

Gana valor, en decibelios, para aplicar al contenido de frecuencia de la banda media en el ecualizador. Se encuentra en el rango de -80 a 10.

MidRange

Leer paralelo

El rango de frecuencia en hercios de la banda influenciada por MidGain .El valor más bajo del rango determina la frecuencia de cruce entre las bandas bajas y medias.El valor más alto del rango determina la frecuencia de cruce entre las bandas medias y altas.Ambas frecuencias de cruce van de 200 a 20,000.

Métodos

GetConnectedWires

Instances

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

Parámetros

pin: string
Valor predeterminado: ""

Devuelve

Instances

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 AudioEqualizer 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 AudioEqualizer que los objetivos Wire apuntan.

wire: Wire

El Wire entre la AudioEqualizer y la otra instancia.

instance: Instance

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