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

Un filtre audio peut être utilisé pour modifier le contenu fréquentiel des flux audio.Dans cet exemple, un filtre audio est utilisé pour rendre la sortie de l'émetteur audio plus faible lorsqu'il y a un mur entre lui et l'écouteur audio.

Filtrage des émetteurs

-- Cela suppose que l'espace de travail contient une partie avec un émetteur audio et un lecteur audio, et que la caméra a un écouteur audio
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
-- Créer un nouveau filtre audio
local filter: AudioFilter = Instance.new("AudioFilter")
filter.FilterType = Enum.AudioFilterType.Lowpass12dB
filter.Frequency = 22000
filter.Q = math.sqrt(2) / 2 -- Cette valeur Q produit un passe-bas plat pour le type de pente de 12 dB
filter.Parent = part
-- Placez le filtre audio entre le joueur et l'émetteur
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)
-- Mise à jour du filtre en fonction des positions de l'émetteur et du récepteur
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.