AudioEqualizer

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

AudioEqualizer regola il contenuto di frequenza degli stream audio.Fornisce un Input pin e un Output pin che può essere collegato/da da Wires .AudioEqualizer ha 3 bande di frequenza i cui valori di guadagno possono essere controllati e i punti di croce tra le bande possono essere spostati.

Campioni di codice

An AudioEqualizer can be used to change the frequency content of audio streams. This can be done before emission, or after listening, and can be used to implement your own, custom RollOff logic! In this example, we use an AudioEqualizer to make an AudioPlayer's high frequencies more muffled as the AudioListener looks away from the AudioEmitter. We also reduce both the low and high frequencies as the listener gets further away.

Listener Equalization

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) -- ranges from [-1, 1]
look = rescale(look, NumberRange.new(-1, 1), NumberRange.new(-20, 0))
local distance = math.max(towardEmitter.Magnitude, 1)
local rolloff = 1 / distance -- ranges from [0, 1]
rolloff = rescale(rolloff, NumberRange.new(0, 1), NumberRange.new(-10, 10))
equalizer.HighGain = look + rolloff
equalizer.LowGain = rolloff
end
task.wait()
end

Sommario

Proprietà

  • Lettura Parallela

    Se gli stream audio vengono passati attraverso senza essere influenzati da questo effetto.

  • Non Replicato
    Sicurezza Script Roblox
    Lettura Parallela
  • Lettura Parallela

    Ottieni un valore da applicare al contenuto di frequenza della banda più alta nell'equalizzatore.

  • Lettura Parallela

    Ottieni un valore da applicare al contenuto di frequenza della banda più bassa nell'equalizzatore.

  • Lettura Parallela

    Ottieni un valore da applicare al contenuto di frequenza della banda centrale nell'equalizzatore.

  • Lettura Parallela

    La gamma di frequenza della banda influenzata da MidGain .

Eventi

Proprietà

Bypass

Lettura Parallela

Se true , gli stream audio vengono passati attraverso senza essere influenzati da questo effetto.

Editor

Non Replicato
Sicurezza Script Roblox
Lettura Parallela

HighGain

Lettura Parallela

Ottieni valore, in decibel, da applicare al contenuto di frequenza della banda più alta nell'equalizzatore. Varia da -80 a 10.

LowGain

Lettura Parallela

Ottieni un valore, in decibel, da applicare al contenuto di frequenza della banda più bassa nell'equalizzatore. Varia da -80 a 10.

MidGain

Lettura Parallela

Ottieni valore, in decibel, da applicare al contenuto di frequenza della banda centrale nell'equalizzatore. Varia da -80 a 10.

MidRange

Lettura Parallela

La gamma di frequenza in hertz della banda influenzata da MidGain .Il valore più basso della gamma determina la frequenza di sovrapposizione tra le band basse e medie.Il valore più alto della gamma determina la frequenza di sovrapposizione tra le band medie e alte.Entrambe le frequenze di crossover variano da 200 a 20.000.

Metodi

GetConnectedWires

Instances

Restituisce un array di Wires che sono connessi al pin specificato. AudioEqualizer ha un pin "Input" e un pin "Output".

Parametri

pin: string
Valore predefinito: ""

Restituzioni

Instances

GetInputPins


Restituzioni

GetOutputPins


Restituzioni

Eventi

WiringChanged

Evento che si attiva dopo che un Wire diventa connesso o disconnesso, e che Wire è ora o era precedentemente connesso a un pin sulla AudioEqualizer e a qualche altra esempiowirable.

Parametri

connected: boolean

Se l'istanza è stata connessa o disconnessa.

pin: string

Il pin sul AudioEqualizer che i bersagli Wire .

wire: Wire

Il Wire tra la AudioEqualizer e l'altra esempio.

instance: Instance

L'altra istanza che è o era connessa attraverso il Wire .