AudioFilter

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

AudioFilter dostosowuje częstotliwość zawartości audio strumieni.Zapewnia jeden Wejściowy przewód i jeden Wyjściowy przewód, które mogą być podłączone do/od Wires .AudioFilter używa swoich właściwości FilterType , Gain i Q , aby określić, co zrobić wokół określonego cięcia Frequency .

Przykłady kodu

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)

Podsumowanie

Właściwości

  • Odczyt równoległy

    Czy strumienie audio są przekazywane bez wpływu na ten efekt.

  • Bez replikacji
    Zabezpieczenia skryptów Roblox
    Odczyt równoległy
  • Odczyt równoległy

    Typ krzywej reprezentowanej przez filtr przez pasma.

  • Odczyt równoległy

    Częstotliwość centralna, wokół której działa filtr.

  • Odczyt równoległy

    Dla filtrów szczytowych i półkowych kontroluje wzrost lub zmniejszenie głośności.

  • Odczyt równoległy

    Dla szczytów, filtrów niskoprzepustowych, wysokoprzepustowych, pasowych i notchowych kontroluje selektywność lub rezonans.

Metody

Zdarzenia

Właściwości

Bypass

Odczyt równoległy

Jeśli true, strumienie audio są przekazywane bez wpływu na ten efekt.

Editor

Bez replikacji
Zabezpieczenia skryptów Roblox
Odczyt równoległy
Odczyt równoległy

Typ krzywej odpowiedzi częstotliwości, która zostanie użyta do filtrowania sygnału audio.Każdy rodzaj zakrzywienia wpływa na zawartość częstotliwości audio w różny sposób.

Frequency

Odczyt równoległy

Częstotliwość centralna w hercach krzywej reprezentowanej przez filtr.Ogólnie rzecz biorąc, dostosowanie tej wartości w górę lub w dół odpowiada poziomemu przesunięciu w ogólnej krzywej częstotliwości.Zakres od 20 do 22000.

Gain

Odczyt równoległy

Wartość zysku w decybelach używana do określenia poziomu głośności krzywej reprezentowanej przez filtr.Dotyczy tylko wtedy, gdy FilterType jest Peak, LowShelf lub HighShelf.Zakres od -30 do 30.

Odczyt równoległy

Wartość jakości używana do określenia nachylenia lub rezonansu krzywej reprezentowanej przez filtr.Dotyczy tylko wtedy, gdy FilterType jest Peak, Lowpass[x]dB, Highpass[x]dB, Bandpass lub Notch.Zakres od 0,1 do 10.

Dla FilterType wartości Lowpass12dB i Highpass12dB , wartość Q dla sqrt(2) / 2 lub 0.707 odpowiada płaskiemu filtrowi o nachyleniu 12dB/octave.

Metody

GetConnectedWires

Instances

Zwraca tablicę Wires, która jest połączona z określonym przypinać. AudioFilter ma jedną przypinkę "Wejście" i jedną przypinać"Wyjście".

Parametry

pin: string
Wartość domyślna: ""

Zwroty

Instances

GetGainAt

Zwraca wartość zysku, w decybelach, krzywej odpowiedzi częstotliwości reprezentowanej przez filtr na danym częstotliwości, w hercach.Można go użyć do przetestowania dokładnego kształtu filtra w kluczowych miejscach lub jako całości.

Parametry

frequency: number

Częstotliwość, w hercach, do próbowania.

Wartość domyślna: ""

Zwroty

Wartość zysku, w decybelach, przy danej częstotliwości.

GetInputPins


Zwroty

GetOutputPins


Zwroty

Zdarzenia

WiringChanged

Wydarzenie, które wystrzeliwuje po tym, jak Wire łączy się lub odłącza się, a które Wire jest teraz połączone lub było wcześniej połączone z przypinką na AudioFilter i z niektórymi innymi dostępnymi instancjami.

Parametry

connected: boolean

Czy instancja została połączona czy odłączona.

pin: string

Przypinka na AudioFilter , która jest przeznaczona dla celów Wire.

wire: Wire

The Wire pomiędzy AudioFilter i inną instancja.

instance: Instance

Inna instancja, która jest lub była połączona za pośrednictwem Wire.