AudioEqualizer
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
AudioEqualizer điều chỉnh nội dung tần số của các dòng audio. Nó cung cấp một Input thẻ và một Output thẻ có thể được kết nối/thoát bởi 0> Class.Wire
Mẫu mã
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
Tóm Tắt
Thuộc Tính
Whether audio streams are passed-through unaffected by this effect.
Nhận giá trị để được áp dụng vào nội dung tần số cao nhất trong equalizer.
Nhận giá trị để được áp dụng vào nội dung tần số của band thấp nhất trong equalizer.
Nhận giá trị để được áp dụng vào nội dung tần số của băng giữa trong equalizer.
Phạm vi tần số của band ảnh hưởng bởi MidGain .
Phương Pháp
Điều khiển trả về một loạt các Wires được kết nối với một mắt ghimđặc định.
Thuộc Tính
Bypass
Nếu true, dòng âm thanh được vượt qua bởi dòng chảy này không bị ảnh hưởng bởi hiệu ứng này.
Editor
HighGain
Nhận giá trị, trong decibel, để được áp dụng vào nội dung tần số của band cao nhất trong equalizer. Từ -80 đến 10.
LowGain
Nhận giá trị, trong decibel, để được áp dụng vào nội dung tần số của band thấp nhất trong equalizer. Từ -80 đến 10.
MidGain
Nhận giá trị, trong decibel, để được áp dụng vào nội dung tần số của băng giữa trong equalizer. Khoảng từ -80 đến 10.
MidRange
Tần số phổ độ trong hertz của băng ảnh hưởng bởi MidGain . Giá trị thấp nhất của tần số phổ độ xác định tần số crossover giữa các dải thấp và trung bình. Giá trị cao nhất của tần s
Phương Pháp
GetConnectedWires
Điều khiển trả lại một loạt các Wires được kết nối với ghimđược xác định. AudioEqualizer có một pin "Input" và một ghim"Output".