AudioEqualizer

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

AudioEqualizer 오디오 스트림의 주파수 콘텐츠를 조정합니다.그것은 하나의 입력 핀과 하나의 출력 핀을 제공하며, Wires 연결할 수 있습니다.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 는 "입력" 핀과 "출력" 핀하다하나씩 있습니다.

매개 변수

pin: string
기본값: ""

반환

Instances

GetInputPins


반환

GetOutputPins


반환

이벤트

WiringChanged

연결되거나 연결 해제된 Wire 후 발생하는 이벤트로, Wire 는 현재 또는 이전에 AudioEqualizer 및 다른 연결 가능한 인스턴스에 고정되었거나 고정되었습니다.

매개 변수

connected: boolean

인스턴스가 연결되었거나 연결 해제되었는지 여부.

pin: string

타겟 AudioEqualizer 에 있는 핀은 다음과 같습니다.The pin on the that the Wire targets.

wire: Wire

Wire 와 다른 인스턴스 사이의 AudioEqualizer.

instance: Instance

Wire를 통해 연결된 다른 인스턴스.