AudioEqualizer

Hiển Thị Bản Đã Lỗi Thời

*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 suất của dòng audio.Nó cung cấp một đầu nối Nhập và một đầu nối Xuất có thể kết nối với/từ bởi Wires .AudioEqualizer có 3 băng tần có giá trị tăng có thể được kiểm soát, và các điểm chồng lấp giữa các băng có thể được di chuyển.

Mẫu mã

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

Tóm Tắt

Thuộc Tính

  • Đọc Song Song

    Liệu dòng âm thanh có bị ảnh hưởng bởi hiệu ứng này hay không.

  • Không Sao Chép
    Bảo Mật Kịch Bản Roblox
    Đọc Song Song
  • Đọc Song Song

    Nhận giá trị để áp dụng cho nội dung tần số của dải cao nhất trong equalizer.

  • Đọc Song Song

    Nhận giá trị để áp dụng cho nội dung tần số của dải thấp nhất trong equalizer.

  • Đọc Song Song

    Nhận giá trị để áp dụng cho nội dung tần số của dải giữa trong equalizer.

  • Đọc Song Song

    Phạm vi tần số của dải ảnh hưởng bởi MidGain .

Phương Pháp

Sự Kiện

Thuộc Tính

Bypass

Đọc Song Song

Nếu true , dòng âm thanh được truyền qua không bị ảnh hưởng bởi hiệu ứng này.

Editor

Không Sao Chép
Bảo Mật Kịch Bản Roblox
Đọc Song Song

HighGain

Đọc Song Song

Nhận giá trị, bằng decibel, để áp dụng cho nội dung tần số của băng tần cao nhất trong equalizer. Phạm vi từ -80 đến 10.

LowGain

Đọc Song Song

Nhận giá trị, bằng decibel, để áp dụng cho nội dung tần số của dải thấp nhất trong equalizer. Phạm vi từ -80 đến 10.

MidGain

Đọc Song Song

Nhận giá trị, bằng decibel, để áp dụng cho nội dung tần số của dải giữa trong equalizer. Phạm vi từ -80 đến 10.

MidRange

Đọc Song Song

Phạm vi tần số trong hertz của dải ảnh hưởng bởi MidGain .Giá trị thấp hơn của phạm vi xác định tần suất chồng lấp giữa các dải thấp và trung bình.Giá trị cao hơn của phạm vi xác định tần suất chồng lấp giữa các dải trung và cao.Cả hai phạm vi tần số chồng lấp dao động từ 200 đến 20,000.

Phương Pháp

GetConnectedWires

Instances

Trả về một array của Wires được kết nối với ghimđược chỉ định. AudioEqualizer có một chân "Nhập" và một ghim"Xuất".

Tham Số

pin: string
Giá Trị Mặc Định: ""

Lợi Nhuận

Instances

GetInputPins


Lợi Nhuận

GetOutputPins


Lợi Nhuận

Sự Kiện

WiringChanged

Sự kiện xảy ra sau khi một Wire được kết nối hoặc mất kết nối, và sự kiện Wire bây giờ hoặc đã từng kết nối với một chốt trên AudioEqualizer và một số ví ví dụ / trường hợpkhác có thể kết nối được.

Tham Số

connected: boolean

Whether ví dụ đã kết nối hay mất kết nối.

pin: string

Chốt trên AudioEqualizer mà mục tiêu Wire nhắm.

wire: Wire

Các Wire giữa AudioEqualizer và ví dụ / trường hợpkhác.

instance: Instance

Các ví dụ khác được kết nối thông qua Wire .