AudioEqualizer

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.

AudioEqualizer 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 .AudioEqualizer a 3 bandes de fréquence dont les valeurs de gain peuvent être contrôlées, et les points de croisement entre les bandes peuvent être déplacés.

Échantillons de code

Un égaliseur audio peut être utilisé pour modifier le contenu fréquentiel des flux audio.Cela peut être fait avant l'émission, ou après écoute, et peut être utilisé pour implémenter votre propre logique RollOff personnalisée ! Dans cet exemple, nous utilisons un égaliseur audio pour rendre les fréquences élevées d'un lecteur audio plus faibles lorsque l'écouteur audio se détourne du diffuseur audio.Nous réduisons également les fréquences basses et élevées à mesure que l'écouteur s'éloigne.

Égalisation du récepteur

local function wireUp(source: Instance, target: Instance): Wire
local wire = Instance.new("Wire")
wire.Parent = target
wire.SourceInstance = source
wire.TargetInstance = target
return wire
end
local function getCFrameFrom(inst: Instance): CFrame?
local parent = inst.Parent
if not parent then
return nil
elseif parent:IsA("Model") then
return parent.WorldPivot
elseif parent:IsA("BasePart") then
return parent.CFrame
elseif parent:IsA("Attachment") then
return parent.WorldCFrame
elseif parent:IsA("Camera") then
return parent.CFrame
else
return nil
end
end
local function rescale(value: number, oldRange: NumberRange, newRange: NumberRange): number
local clamped = math.clamp(value, oldRange.Min, oldRange.Max)
local normalized = clamped - oldRange.Min / (oldRange.Max - oldRange.Min)
return normalized * (newRange.Max - newRange.Min) + newRange.Min
end
local assetPlayer = Instance.new("AudioPlayer")
assetPlayer.AssetId = "rbxassetid://142376088"
assetPlayer.Parent = workspace
local equalizer = Instance.new("AudioEqualizer")
equalizer.MidRange = NumberRange.new(400, 3000)
equalizer.Parent = workspace
local emitterPart = Instance.new("Part")
emitterPart.Anchored = true
emitterPart.Position = Vector3.new(0, 5, 0)
emitterPart.Parent = workspace
local emitter = Instance.new("AudioEmitter")
emitter.Parent = emitterPart
local listener = Instance.new("AudioListener")
listener.Parent = workspace.CurrentCamera
local output = Instance.new("AudioDeviceOutput")
output.Parent = workspace
wireUp(assetPlayer, equalizer)
wireUp(equalizer, emitter)
wireUp(listener, output)
assetPlayer.Looping = true
assetPlayer:Play()
while true do
local emitterFrame = getCFrameFrom(emitter)
local listenerFrame = getCFrameFrom(listener)
if emitterFrame and listenerFrame then
local towardEmitter = emitterFrame.Position - listenerFrame.Position
local look = towardEmitter.Unit:Dot(listenerFrame.LookVector) -- va de [-1, 1]
look = rescale(look, NumberRange.new(-1, 1), NumberRange.new(-20, 0))
local distance = math.max(towardEmitter.Magnitude, 1)
local rolloff = 1 / distance -- va de [0, 1]
rolloff = rescale(rolloff, NumberRange.new(0, 1), NumberRange.new(-10, 10))
equalizer.HighGain = look + rolloff
equalizer.LowGain = rolloff
end
task.wait()
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
  • Lecture parallèle

    Gagnez de la valeur à appliquer au contenu de fréquence du spectre le plus élevé dans l'égaliseur.

  • Lecture parallèle

    Gain de valeur à appliquer au contenu de fréquence de la bande la plus basse dans l'égaliseur.

  • Lecture parallèle

    Gagnez de la valeur à appliquer au contenu de fréquence de la bande centrale dans l'égaliseur.

  • Lecture parallèle

    La plage de fréquence de la bande influencée par MidGain .

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

HighGain

Lecture parallèle

Gain de valeur, en décibels, à appliquer au contenu de fréquence du spectre le plus élevé dans l'égaliseur. De -80 à 10.

LowGain

Lecture parallèle

Gain de valeur, en décibels, à appliquer au contenu de fréquence du spectre le plus bas dans l'égaliseur. De -80 à 10.

MidGain

Lecture parallèle

Gain de valeur, en décibels, à appliquer au contenu de fréquence de la bande centrale dans l'égaliseur. De -80 à 10.

MidRange

Lecture parallèle

La plage de fréquence en hertz du band influencé par MidGain .La valeur inférieure de la plage détermine la fréquence de croisement entre les bandes basses et moyennes.La valeur plus élevée de la plage détermine la fréquence de croisement entre les bandes moyennes et élevées.Les fréquences de croisement varient de 200 à 20 000.

Méthodes

GetConnectedWires

Instances

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

Paramètres

pin: string
Valeur par défaut : ""

Retours

Instances

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 AudioEqualizer 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 AudioEqualizer que les cibles Wire .

wire: Wire

Le Wire entre la AudioEqualizer et l'autre instance.

instance: Instance

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