AudioFilter
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
AudioFilter ses akışlarının frekans içeriğini ayarlar.Bir Giriş pini ve bir Çıkış pini sağlar, które tarafından/dan çıkarılabilir ve bağlanabilir.AudioFilter kullanır FilterType , Gain ve Q özelliklerini belirli bir kesinti etrafında ne yapacağını belirlemek için kullanır Frequency .
Kod Örnekleri
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.
-- 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)
Özet
Özellikler
Ses akışlarının bu etkiden etkilenmeden geçip geçmediği.
filtretarafından temsil edilen bantın eğilim türü.
Filtrenin etrafında hareket ettiği merkezi frekans.
Zirvelenme ve raflama filtreleri için, kontrol ses artışı veya azalışını artırır.
Zirvelenme, düşük geçiş, yüksek geçiş, band geçişi ve not filtreleri için, seçiciliği veya rezonansı kontrol eder.
Yöntemler
Belirtilen sabitlebağlı bir dizi Wires döndürür, ki bu pine bağlıdır.
Verilen frekansda filtrenin büyüklük yanıtını döndürür.
Etkinlikler
Başka bir örnek AudioFilter üzerinden bir Wire aracılığıyla bağlanır veya bağlantı kesilirse ateş eder.
Özellikler
Editor
FilterType
Ses sinyalini filtrelemek için kullanılacak frekans yanıtı türü.Her bir eğilim türü, sesin frekans içeriğini farklı şekillerde etkiler.
Frequency
filtretarafından temsil edilen eğrinin merkezi frekansı.Genel olarak, bu değeri yukarı veya aşağı ayarlamak, genel frekans eğrisindeki yatay bir kaymaya karşılık gelir.20 ile 22000 arasında değişir.
Gain
Filtre tarafından temsil edilen eğrinin hacim seviyesini belirlemek için kullanılan desibel değeri.Sadece FilterType , Peak veya LowShelf , veya HighShelf olduğunda uygulanır.30'dan -30'a kadar menziller.
filtretarafından temsil edilen eğilimin veya rezonansın pürüzlüğünü belirlemek için kullanılan kalite değeri.Sadece FilterType , Peak , Lowpass[x]dB , Highpass[x]dB , Bandpass veya Notch durumunda uygulanır.0.1'den 10'a kadar menziller.
For FilterType değerleri için Lowpass12dB ve Highpass12dB , bir Q değeri ile sqrt(2) / 2 veya 0.707 , bir 12dB/oktav eğiminde düz bir filtreye karşılır.
Yöntemler
GetConnectedWires
Belirtilen sabitlebağlı bir dizi Wires döndürür. AudioFilter bir "Giriş" ve bir "Çıkış" sabitlesahiptir.
Parametreler
Dönüşler
GetGainAt
Filtre tarafından temsil edilen frekans yanıtının, desibellerde, kazanma değerini, verilen frekansda, hertz olarak döndürür.Bunu, anahtar yerlerde veya bütün olarak filtrenin kesin şeklini örneklemek için kullanabilirsiniz.
Parametreler
Örneklem için frekans, hertz, içinde.
Dönüşler
Verilen frekansta, desibellerde, kazanç değeri.
Etkinlikler
WiringChanged
Bir bağlantı kurulduktan veya bağlantı kesildikten sonra ateşlenen olay, şimdi şu veya daha önce başka bir sabit parçaya ve bazı diğer kullanılabilir durumlara bağlandı veya bağlantı kesildi.
Parametreler
Instans bağlandı veya bağlantı kesildi.
Hedeflerin AudioFilter üzerindeki düğme. The pin on the that the Wire targets.
Wire arasındaki AudioFilter ve diğer durumarasındaki.