AudioEqualizer

แสดงที่เลิกใช้งานแล้ว

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

AudioEqualizer ปรับเนื้อหาความถี่ของสตรีมเสียงมันให้พินอินพุตหนึ่ง **** และพินออก **** หนึ่งพินซึ่งสามารถเชื่อมต่อกับ/จากโดย Wires``Class.AudioEqualizer มี 3 ย่านความถี่ที่มีค่าการได้รับสามารถควบคุมได้ และจุดข้ามระหว่างแบนด์สามารถย้ายได้

ตัวอย่างโค้ด

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

สรุป

คุณสมบัติ

  • อ่านพร้อมๆ กัน

    ว่าสตรีมเสียงจะผ่านไปโดยไม่ได้รับผลกระทบจากเอฟเฟกต์นี้หรือไม่

  • ไม่ซ้ำ
    การรักษาความปลอดภัยของสคริปต์ Roblox
    อ่านพร้อมๆ กัน
  • อ่านพร้อมๆ กัน

    ได้รับมูลค่าที่จะนำไปใช้กับเนื้อหาความถี่สูงสุดในตัวกรองความถี่

  • อ่านพร้อมๆ กัน

    ได้รับมูลค่าที่จะนำไปใช้กับเนื้อหาความถี่ของแถบต่ำสุดในเครื่องกระจายเสียง

  • อ่านพร้อมๆ กัน

    ได้รับมูลค่าที่จะนำไปใช้กับเนื้อหาความถี่ของแถบกลางในเครื่องกระจายเสียง

  • อ่านพร้อมๆ กัน

    ช่วงความถี่ของแบนด์ที่ได้รับอิทธิพลจาก MidGain

อีเวนต์

คุณสมบัติ

Bypass

อ่านพร้อมๆ กัน

หาก true สตรีมเสียงจะผ่านไปโดยไม่ได้รับผลกระทบจากเอฟเฟกต์นี้

Editor

ไม่ซ้ำ
การรักษาความปลอดภัยของสคริปต์ Roblox
อ่านพร้อมๆ กัน

HighGain

อ่านพร้อมๆ กัน

ได้รับมูลค่าในเดซิเบลที่จะนำไปใช้กับเนื้อหาความถี่ของแถบที่สูงที่สุดในตัวกรองความถี่ ช่วงตั้งแต่ -80 ถึง 10

LowGain

อ่านพร้อมๆ กัน

ได้รับมูลค่าในเดซิเบลที่จะใช้กับเนื้อหาความถี่ของแถบต่ำสุดในเครื่องกระจายความถี่ ช่วงตั้งแต่ -80 ถึง 10

MidGain

อ่านพร้อมๆ กัน

ได้รับมูลค่าในเดซิเบลที่จะใช้กับเนื้อหาความถี่ของแถบกลางในเครื่องกระจายเสียง ช่วงตั้งแต่ -80 ถึง 10

MidRange

อ่านพร้อมๆ กัน

ช่วงความถี่ในเฮิร์ตซ์ของวงที่ได้รับอิทธิพลจาก MidGainมูลค่าต่ำสุดของช่วงกำหนดความถี่การแยกระหว่างแถบต่ำและกลางมูลค่าสูงสุดของช่วงกำหนดความถี่การแยกระหว่างแถบกลางและสูงทั้งสองความถี่ในการข้ามจาก 200 ถึง 20,000

วิธีการ

GetConnectedWires

Instances

ส่งคืนคอลเลกชันของ Wires ปักหมุดAudioEqualizer มีพิน "Input" และพิน "Output" หนึ่งอัน

พารามิเตอร์

pin: string
ค่าเริ่มต้น: ""

ส่งค่ากลับ

Instances

GetInputPins


ส่งค่ากลับ

GetOutputPins


ส่งค่ากลับ

อีเวนต์

WiringChanged

อีเวนต์ที่จะยิงหลังจากที่ Wire เชื่อมต่อหรือถูกตัดการเชื่อมต่อและ Wire ตอนนี้หรือเคยเชื่อมต่อกับพินบน AudioEqualizer อินสแตนซ์

พารามิเตอร์

connected: boolean

ว่าตัวอย่างได้เชื่อมต่อหรือถูกตัดการเชื่อมต่อ

pin: string

เข็มบน AudioEqualizer ที่เป้าหมาย Wire

wire: Wire

The Wire ระหว่าง AudioEqualizer และตัวอย่างอื่น

instance: Instance

ตัวอย่างอื่นที่เชื่อมต่อผ่าน Wire หรือไม่