AudioFilter
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
AudioFilter menyesuaikan konten frekuensi dari stream audio. Ini menyediakan satu Input
Contoh Kode
-- 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)
Rangkuman
Properti
Apakah aliran audio diberikan-lewati tanpa terpengaruh oleh efek ini.
Jenis kurva band yang diwakili oleh filter.
F frekuensi pusat yang dimana filter bertindak.
Untuk filter menghasilkan dan menyimpan, mengontrol volume meningkat atau menurun.
Untuk peaking, lowpass, highpass, bandpass, dan notch filter, mengontrol seleksivitas atau resonansi.
Metode
Mengembalikan Wires yang terhubung ke mengepinyang ditentukan.
Mengembalikan respons skala filter pada frekuensi yang diberikan.
Properti
Editor
FilterType
Jenis kurva respons frekuensi yang akan digunakan untuk menyaring sinyal audio. Setiap jenis kurva mempengaruhi konten frekuensi audio dengan cara yang berbeda.
Frequency
F frekuensi tengah dalam hertz dari kurva yang diwakili oleh filter. Umumnya, menyesuaikan nilai ini ke atas atau ke bawah sesuai dengan pergeser frekuensi horizontal dalam kurva frekuensi umum. Berjalan dari 20 hingga 22000.
Gain
Nilai gain dalam decibel yang digunakan untuk menentukan tingkat volume dari kurva yang diwakili oleh filter. Hanya berlaku ketika FilterType adalah Peak , LowShelf , atau 1>HighShelf1>. Berlaku dari -30 hingga 30.
Nilai kualitas yang digunakan untuk menentukan sloped atau resonansi dari kurva yang diwakili oleh filter. Hanya berlaku ketika FilterType adalah Peak, Lowpass[x]dB, 1> Highpass[x]d
Untuk nilai FilterType dari Lowpass12dB dan Highpass12dB, a 1>Q</
Metode
GetConnectedWires
Mengembalikan matriksi dari Wires yang terhubung ke mengepinyang ditentukan. AudioFilter memiliki satu pin "Input" dan satu mengepin"Output".
Parameter
Memberikan nilai
GetGainAt
Mengembalikan nilai tingkat kemenangan, dalam decibel, dari kurva respons frekuensi yang diwakili oleh filter di frekuensi yang diberikan, dalam hertz. Ini dapat digunakan untuk menyebarkan bentuk tepat dari filter di lokasi kunci atau sebagai keseluruhan.
Parameter
Frekuensi, dalam hertz, untuk sampel.
Memberikan nilai
Nilai gain, dalam decibel, pada frekuensi yang diberikan.