AudioEqualizer

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

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

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

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

สามารถใช้ตัวเทียบเท่าเสียงเพื่อเปลี่ยนเนื้อหาความถี่ของสตรีมเสียงสิ่งนี้สามารถทำได้ก่อนที่จะปล่อย หรือหลังจากฟังแล้ว และสามารถใช้เพื่อใช้โลจิกส์ RollOff เฉพาะของคุณได้! ในตัวอย่างนี้เราใช้ AudioEqualizer เพื่อทำให้ความถี่สูงของผู้เล่นเสียงเบาลงเมื่อ AudioListener มองไปทางอื่นจาก AudioEmitterนอกจากนี้เรายังลดทั้งความถี่ต่ำและสูงเมื่อผู้ฟังได้รับไกลออกไป

การแก้ไขความเท่าเทียมของผู้ฟัง

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) -- ช่วงตั้งแต่ [-1, 1]
look = rescale(look, NumberRange.new(-1, 1), NumberRange.new(-20, 0))
local distance = math.max(towardEmitter.Magnitude, 1)
local rolloff = 1 / distance -- ช่วงตั้งแต่ [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 หรือไม่