AudioFilter
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
AudioFilter regola il contenuto di frequenza degli stream audio.Fornisce un Input pin e un Output pin che può essere collegato/da da Wires .AudioFilter utilizza le sue FilterType , Gain e Q proprietà per determinare cosa fare intorno a un particolare taglio Frequency .
Campioni di codice
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)
Sommario
Proprietà
Se gli stream audio vengono passati attraverso senza essere influenzati da questo effetto.
Il tipo di curva della banda rappresentata dal filtro.
La frequenza centrale attorno alla quale il filtro agisce.
Per i filtri di picco e di scaffale, i controlli aumentano o riducono il volume.
Per il picco, il filtro lowpass, highpass, bandpass e notch, controlla la selettività o la risonanza.
Metodi
Restituisce un array di Wires che sono connessi al pin specificato.
Restituisce la risposta di magnitudine del filtro alla frequenza data.
Eventi
Si accende quando un'altra istanza è connessa o disconnessa dal AudioFilter attraverso un Wire .
Proprietà
Bypass
Se true , gli stream audio vengono passati attraverso senza essere influenzati da questo effetto.
Editor
FilterType
Il tipo di curva di risposta della frequenza che verrà utilizzata per filtrare il segnale audio.Ogni tipo di curva influisce sul contenuto di frequenza dell'audio in modi diversi.
Frequency
La frequenza centrale in hertz della curva rappresentata dal filtro.Generalmente, regolare questo valore su o giù corrisponde a uno spostamento orizzontale nella curva di frequenza generale.Varia da 20 a 22000.
Gain
Il valore di guadagno in decibel utilizzato per determinare il livello di volume della curva rappresentata dal filtro.Si applica solo quando il FilterType è Peak , LowShelf , o HighShelf .Varia da -30 a 30.
Il valore di qualità utilizzato per determinare la pendenza o la risonanza della curva rappresentata dal filtro.Si applica solo quando il FilterType è Peak , Lowpass[x]dB , Highpass[x]dB , Bandpass , o Notch .Varia da 0.1 a 10.
Per FilterType valori di Lowpass12dB e Highpass12dB , un valore di Q di sqrt(2) / 2 o 0.707 corrisponde a un filtro piatto a una pendenza di 12dB/ottava.
Metodi
GetConnectedWires
Restituisce un array di Wires che sono connessi al pin specificato. AudioFilter ha un pin "Input" e un pin "Output".
Parametri
Restituzioni
GetGainAt
Restituisce il valore di guadagno, in decibel, della curva di risposta della frequenza rappresentata dal filtro alla frequenza data, in hertz.Questo può essere utilizzato per campionare la forma esatta del filtro in luoghi chiave o in blocco.
Parametri
La frequenza, in hertz, da campionare.
Restituzioni
Il valore di guadagno, in decibel, alla frequenza data.
Eventi
WiringChanged
Evento che si attiva dopo che un Wire diventa connesso o disconnesso, e che Wire è ora o era precedentemente connesso a un pin sulla AudioFilter e a qualche altra istanza wirable.
Parametri
Se l'istanza è stata connessa o disconnessa.
Il pin sul AudioFilter che i bersagli Wire .
Il Wire tra la AudioFilter e l'altra istanza.