AudioEqualizer
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
AudioEqualizer ajusta o conteúdo de frequência de streams de áudio.Ele fornece um pino de entrada e um pino de saída que pode ser conectado a/de Wires.AudioEqualizer tem 3 bandas de frequência cujos valores de ganho podem ser controlados e os pontos de crossover entre as bandas podem ser movidos.
Amostras de código
Um equalizador de áudio pode ser usado para alterar o conteúdo de frequência de streams de áudio.Isso pode ser feito antes da emissão, ou após a escuta, e pode ser usado para implementar sua própria lógica personalizada RollOff! Neste exemplo, usamos um equalizador de áudio para tornar as frequências altas de um Reprodutor de Áudio mais suaves enquanto o ouvinte se afasta do emissor de áudio.Também reduzimos as frequências baixas e altas à medida que o ouvinte se afasta.
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) -- varia de [-1, 1]
look = rescale(look, NumberRange.new(-1, 1), NumberRange.new(-20, 0))
local distance = math.max(towardEmitter.Magnitude, 1)
local rolloff = 1 / distance -- varia 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
Resumo
Propriedades
Se os fluxos de áudio são transmitidos sem serem afetados por esse efeito.
Ganhe valor a ser aplicado ao conteúdo de frequência da banda mais alta no equalizador.
Ganhe valor a ser aplicado ao conteúdo de frequência da banda mais baixa no equalizador.
Ganhe valor a ser aplicado ao conteúdo de frequência da banda média no equalizador.
A faixa de frequência da banda influenciada por MidGain .
Métodos
Retorna um array de Wires que estão conectados ao marcarespecificado.
Eventos
Incêndios quando outra instância está conectada ou desconectada do AudioEqualizer através de um Wire .
Propriedades
Editor
HighGain
Ganhe valor, em decibéis, para ser aplicado ao conteúdo de frequência da banda mais alta no equalizador. Varia de -80 a 10.
LowGain
Ganhe valor, em decibéis, para ser aplicado ao conteúdo de frequência da banda mais baixa no equalizador. Varia de -80 a 10.
MidGain
Ganhe valor, em decibéis, para ser aplicado ao conteúdo de frequência da banda média no equalizador. Varia de -80 a 10.
MidRange
A faixa de frequência em hertz da banda influenciada por MidGain .O valor mais baixo do alcance determina a frequência de sobreposição entre as bandas baixas e médias.O valor mais alto do alcance determina a frequência de sobreposição entre as bandas média e alta.Ambas as frequências de sobreposição variam de 200 a 20.000.
Métodos
Eventos
WiringChanged
Evento que dispara depois que um Wire se conecta ou se desconecta, e que Wire está agora conectado ou foi previamente conectado a um pino no AudioEqualizer e a alguma outra instância viável.
Parâmetros
Se a instância se conectou ou desconectou.
O pino no AudioEqualizer que os alvos Wire alvo.
O Wire entre a AudioEqualizer e a outra instância.