AudioFilter

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

AudioFilter ajuste le contenu fréquentiel des flux audio.Il fournit un entrée pin et un sortie pin qui peut être connecté à/de par Wires .AudioFilter utilise ses propriétés FilterType , Gain et Q pour déterminer ce qu'il faut faire autour d'une coupe spécifique Frequency .

Échantillons de code

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)

Résumé

Propriétés

  • Lecture parallèle

    Si les flux audio sont transmis sans être affectés par cet effet.

  • Non répliqué
    Sécurité des scripts Roblox
    Lecture parallèle
  • Le type de courbe du band représenté par le filtres.

  • Lecture parallèle

    La fréquence centrale autour de laquelle le filtre agit.

  • Lecture parallèle

    Pour les filtres de pointe et d'étagère, les contrôles augmentent ou réduisent le volume.

  • Lecture parallèle

    Pour les pics, les filtres passe-bas, haut-pass, bandpass et notch, contrôle la sélectivité ou la résonance.

Méthodes

Évènements

Propriétés

Bypass

Lecture parallèle

Si true , les flux audio sont transmis sans être affectés par cet effet.

Editor

Non répliqué
Sécurité des scripts Roblox
Lecture parallèle
Lecture parallèle

Le type de courbe de réponse fréquentielle qui sera utilisé pour filtrer le signal audio.Chaque type de courbe affecte le contenu fréquentiel de l'audio de manières différentes.

Frequency

Lecture parallèle

La fréquence centrale en hertz de la courbe représentée par le filtres.En général, ajuster cette valeur vers le haut ou le bas correspond à un déplacement horizontal de la courbe de fréquence globale.Va de 20 à 22000.

Gain

Lecture parallèle

La valeur de gain en décibels utilisée pour déterminer le niveau de volume de la courbe représentée par le filtres.S'applique uniquement lorsque le FilterType est Peak , LowShelf ou HighShelf .Va de -30 à 30.

Lecture parallèle

La valeur de qualité utilisée pour déterminer la pente ou la résonance de la courbe représentée par le filtres.S'applique uniquement lorsque le FilterType est Peak , Lowpass[x]dB , Highpass[x]dB , Bandpass , ou Notch .Va de 0,1 à 10.

Pour FilterType les valeurs de Lowpass12dB et Highpass12dB , une valeur Q de sqrt(2) / 2 ou 0.707 correspond à un filtre plat à un rapport de 12dB/octave.

Méthodes

GetConnectedWires

Instances

Retourne un tableau de Wires qui sont connectés au épinglerspécifié. AudioFilter a un pin « entrée » et un épingler« sortie ».

Paramètres

pin: string
Valeur par défaut : ""

Retours

Instances

GetGainAt

Renvoie la valeur de gain, en décibels, de la courbe de réponse de fréquence représentée par le filtre à la fréquence donnée, en hertz.Cela peut être utilisé pour échantillonner la forme exacte du filtre dans des endroits clés ou dans son ensemble.

Paramètres

frequency: number

La fréquence, en hertz, à échantillonner.

Valeur par défaut : ""

Retours

La valeur de gain, en décibels, à la fréquence donnée.

GetInputPins


Retours

GetOutputPins


Retours

Évènements

WiringChanged

Événement qui se déclenche après qu'un Wire devienne connecté ou déconnecté, et que Wire soit maintenant ou ait été précédemment connecté à un bouton sur le AudioFilter et à une autre instance wirable.

Paramètres

connected: boolean

Si l'instance s'est connectée ou déconnectée.

pin: string

L'épingle sur le AudioFilter que les cibles Wire .

wire: Wire

Le Wire entre la AudioFilter et l'autre instance.

instance: Instance

L'autre instance qui est ou était connectée via le Wire.