AudioFilter
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
AudioFilter passt den Frequenzanteil von Audio-Streams an.Es bietet eine Eingabe -Pin und eine Ausgabe -Pin, die von Wires. AudioFilter verwendet seine FilterType , Gain und Q Eigenschaften, um zu bestimmen, was um einen bestimmten Schnitt Frequency herum zu tun ist.
Code-Beispiele
An AudioFilter can be used to change the frequency content of audio streams. In this example, an AudioFilter is used to make the AudioEmitter output more muffled when there's a wall between it and the AudioListener.
-- This assumes the workspace contains a Part with an AudioEmitter and an AudioPlayer, and the camera has an AudioListener
local RunService = game:GetService("RunService")
local part: BasePart = workspace.Part
local camera: Camera = workspace.CurrentCamera
local audioPlayer: AudioPlayer = part.AudioPlayer
local audioEmitter: AudioEmitter = part.AudioEmitter
local audioListener: AudioListener = camera.AudioListener
local raycastParams = RaycastParams.new()
raycastParams.FilterDescendantsInstances = { audioEmitter.Parent }
raycastParams.FilterType = Enum.RaycastFilterType.Exclude
-- Create a new AudioFilter
local filter: AudioFilter = Instance.new("AudioFilter")
filter.FilterType = Enum.AudioFilterType.Lowpass12dB
filter.Frequency = 22000
filter.Q = math.sqrt(2) / 2 -- This Q value produces a flat lowpass for the 12dB slope type
filter.Parent = part
-- Put the AudioFilter between the player and the emitter
local function wireTo(source: Instance, target: Instance): Wire
local wire = Instance.new("Wire")
wire.SourceInstance = source
wire.TargetInstance = target
wire.Parent = target
end
wireTo(audioPlayer, filter)
wireTo(filter, audioEmitter)
-- Update the filter based on the positions of the emitter and listener
RunService.Heartbeat:Connect(function()
local emitterPos: Vector3 = part.Position
local listenerPos: Vector3 = camera.CFrame.Position
local raycastResult = workspace:Raycast(emitterPos, (listenerPos - emitterPos), raycastParams)
filter.Frequency = if raycastResult then 500 else 22000
end)
Zusammenfassung
Eigenschaften
Ob Audio-Streams unberührt bleiben, wenn dieser Effekt durchläuft.
Der Kurventyp des Bandes, das vom Filter dargestellt wird.
Die zentrale Frequenz, um die der Filter agiert.
Für Spitzen- und Regalfilter steuert die Erhöhung oder Reduzierung der Lautstärke.
Für Peaking, Lowpass, Highpass, Bandpass und Notch-Filter steuert es die Selektivität oder Resonanz.
Methoden
Gibt eine Reihe von Wires, die mit dem angegebenen anheftenverbunden sind, zurück.
Gibt die Magnitätsantwort des Filters bei der angegebenen Frequenz zurück.
Ereignisse
Feuert, wenn eine andere Instanz über einen AudioFilter mit der Wire verbunden oder getrennt wird.
Eigenschaften
Bypass
Wenn true , werden Audiodateien unberührt durchlaufen, von diesem Effekt nicht betroffen.
Editor
FilterType
Die Art der Frequenzantwortkurve, die verwendet wird, um das Audiosignal zu filtern.Jede Art von Kurve wirkt sich auf die Frequenzinhalte des Audios auf unterschiedliche Weise aus.
Frequency
Die zentrale Frequenz in Hertz der Kurve, die vom Filter repräsentiert wird.Im Allgemeinen entspricht die Anpassung dieses Werts nach oben oder unten einer horizontalen Verschiebung in der Gesamtfrequenzkurve.Reicht von 20 bis 22000.
Gain
Der Gewinnwert in Dekibel, der verwendet wird, um die Lautstärke der Kurve zu bestimmen, die vom Filter dargestellt wird.Gilt nur, wenn das FilterType ist Peak , LowShelf oder HighShelf .Reicht von -30 bis 30.
Der Qualitätswert, der verwendet wird, um die Steigung oder Resonanz der Kurve zu bestimmen, die vom Filter repräsentiert wird.Gilt nur, wenn die FilterType ist Peak , Lowpass[x]dB , Highpass[x]dB , Bandpass oder Notch .Reicht von 0.1 bis 10.
Für FilterType Werte von Lowpass12dB und Highpass12dB entspricht ein Q -Wert von sqrt(2) / 2 oder 0.707 einem Flachfilter bei einem 12dB/Oktave-Schräggrad.
Methoden
GetConnectedWires
Gibt eine Reihe von Wires, die mit dem angegebenen anheftenverbunden sind. AudioFilter hat eine "Eingabe"-Pin und eine "Ausgabe"anheften.
Parameter
Rückgaben
GetGainAt
Gibt den Gewinnswert, in Dekibel, der Frequenzantwortkurve, die vom Filter bei der angegebenen Frequenz dargestellt wird, in Hertz zurück.Dies kann verwendet werden, um die genaue Form des Filters an wichtigen Stellen oder als Ganzes zu untersuchen.
Parameter
Die Frequenz, in Hertz, zum Sammeln.
Rückgaben
Der Gewinnwert, in Dekibel, bei der angegebenen Frequenz.
Ereignisse
WiringChanged
Ereignis, das nachdem abgefeuert wird, nachdem ein Wire verbunden oder getrennt wurde, und das Wire jetzt oder zuvor mit einem Pin auf der AudioFilter und mit einigen anderen verwendbaren Instanzen verbunden war.
Parameter
Ob die Instanz verbunden oder getrennt wurde.
Die Pins auf der AudioFilter, die die Wire Ziele sind.
Die Wire zwischen der AudioFilter und der anderen Instanz.