AudioEqualizer

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

AudioEqualizer ses akışlarının frekans içeriğini ayarlar.Bir Giriş pini ve bir Çıkış pini sağlar, które tarafından/dan çıkarılabilir ve bağlanabilir.AudioEqualizer üç frekans bantına sahiptir ve kazanma değerleri kontrol edilebilir ve bandlar arasındaki geçiş noktaları hareket edilebilir.

Kod Örnekleri

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

Özet

Özellikler

  • Paralel oku

    Ses akışlarının bu etkiden etkilenmeden geçip geçmediği.

  • Çoğaltılmamış
    Roblox Betik Güvenliği
    Paralel oku
  • Paralel oku

    Eşitleyicinin en yüksek bandındaki frekans içeriğine uygulanacak değer kazanın.

  • Paralel oku

    Eşitleyicinin en düşük bandındaki frekans içeriğine uygulanacak değer kazanın.

  • Paralel oku

    Eşitleyicide orta bantın frekans içeriğine uygulanacak değer kazanın.

  • Bantı etkileyen frekans aralığı MidGain .

Etkinlikler

Özellikler

Bypass

Paralel oku

Eğer true , ses akışları bu etkiden etkilenmeden geçer.

Editor

Çoğaltılmamış
Roblox Betik Güvenliği
Paralel oku

HighGain

Paralel oku

Eşitleyicinin en yüksek bandındaki frekans içeriğine uygulanacak değer, desibellerde, kazanır. -80 ile 10 arasında değişir.

LowGain

Paralel oku

Eşitleyicinin en düşük bandındaki frekans içeriğine uygulanacak değer, desibellerde, kazanır. -80 ile 10 arasında değişir.

MidGain

Paralel oku

Eşitleyicinin orta bantın frekans içeriğine uygulanacak değer, desibellerde, kazanır. -80 ile 10 arasında değişir.

MidRange

Paralel oku

Bantı etkileyen frekans aralığının hertz'inde MidGain .Menzilin daha düşük değeri, düşük ve orta bantlar arasındaki geçiş frekansını belirler.Menzilin daha yüksek değeri, orta ve yüksek bantlar arasındaki geçiş frekansını belirler.Her iki geçiş frekansı 200 ila 20,000 arasında değişir.

Yöntemler

GetConnectedWires

Instances

Belirtilen sabitlebağlı bir dizi Wires döndürür. AudioEqualizer bir "Giriş" ve bir "Çıkış" sabitlesahiptir.

Parametreler

pin: string
Varsayılan değer: ""

Dönüşler

Instances

GetInputPins


Dönüşler

GetOutputPins


Dönüşler

Etkinlikler

WiringChanged

Bir bağlantı kurulduktan veya bağlantı kesildikten sonra ateşlenen olay, şimdi şu veya daha önce başka bir sabit parçaya ve bazı diğer kullanılabilir durumlara bağlandı veya bağlantı kesildi.

Parametreler

connected: boolean

Instans bağlandı veya bağlantı kesildi.

pin: string

Hedeflerin AudioEqualizer üzerindeki düğme. The pin on the that the Wire targets.

wire: Wire

Wire arasındaki AudioEqualizer ve diğer durumarasındaki.

instance: Instance

Wire aracılığıyla bağlantı kurulan diğer örnek.