AudioEqualizer
非推奨を表示
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
AudioEqualizer は、オーディオストリームの周波数コンテンツを調整します。 入力 ピンを 1 個 および 出力 ピンを 1 個提供します。これらは Class.Wire|Wires に接続/から接続できる/から接続できる 3つの周波
コードサンプル
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
概要
プロパティ
オーディオストリームがこのエフェクトによってパススルーされるかどうか。
同等化器の最高バンドのフェイバーコンテンツに適用する値を取得します。
同等化器の最下のバンドのフェイビューコンテンツに適用する値を獲得します。
同等化器の中央バンドのフェイバーコンテンツに適用する値を取得します。
バンドの影響を受けた MidGain の周波数範囲。
方法
指定されたピンに接続された Wires のアレピン留めを返します。
プロパティ
Editor
MidRange
帯に影響を与える MidGain の周波数の範囲。低い値の範囲は、低帯とミッド帯の間のクロスオーバー周波数を決定します。高い値の範囲は、ミッド帯とハイ帯の間のクロスオーバー周波数を決定します。両方のク
方法
GetConnectedWires
Instances
指定されたピピン留めに接続された Wires のアレイを返します。AudioEqualizer には、1つの「入力」ピンと1つの「出力」ピン留めがあります。
パラメータ
戻り値
Instances