AudioFilter

Veraltete anzeigen

*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.

Emitter Filtering

-- 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

  • Parallel lesen

    Ob Audio-Streams unberührt bleiben, wenn dieser Effekt durchläuft.

  • Nicht repliziert
    Roblox-Skript-Sicherheit
    Parallel lesen
  • Der Kurventyp des Bandes, das vom Filter dargestellt wird.

  • Parallel lesen

    Die zentrale Frequenz, um die der Filter agiert.

  • Parallel lesen

    Für Spitzen- und Regalfilter steuert die Erhöhung oder Reduzierung der Lautstärke.

  • Parallel lesen

    Für Peaking, Lowpass, Highpass, Bandpass und Notch-Filter steuert es die Selektivität oder Resonanz.

Methoden

Ereignisse

Eigenschaften

Bypass

Parallel lesen

Wenn true , werden Audiodateien unberührt durchlaufen, von diesem Effekt nicht betroffen.

Editor

Nicht repliziert
Roblox-Skript-Sicherheit
Parallel lesen
Parallel lesen

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

Parallel lesen

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

Parallel lesen

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.

Parallel lesen

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

Instances

Gibt eine Reihe von Wires, die mit dem angegebenen anheftenverbunden sind. AudioFilter hat eine "Eingabe"-Pin und eine "Ausgabe"anheften.

Parameter

pin: string
Standardwert: ""

Rückgaben

Instances

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

frequency: number

Die Frequenz, in Hertz, zum Sammeln.

Standardwert: ""

Rückgaben

Der Gewinnwert, in Dekibel, bei der angegebenen Frequenz.

GetInputPins


Rückgaben

GetOutputPins


Rückgaben

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

connected: boolean

Ob die Instanz verbunden oder getrennt wurde.

pin: string

Die Pins auf der AudioFilter, die die Wire Ziele sind.

wire: Wire

Die Wire zwischen der AudioFilter und der anderen Instanz.

instance: Instance

Die andere Instanz, die über die Wire verbunden ist oder war.