AudioFilter

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

AudioFilter ajusta o conteúdo de frequência de streams de áudio.Ele fornece um pino de entrada e um pino de saída que podem ser conectados a/de .AudioFilter usa suas propriedades FilterType , Gain e Q para determinar o que fazer em torno de um corte específico Frequency .

Amostras de código

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)

Resumo

Propriedades

  • Ler Parallel

    Se os fluxos de áudio são transmitidos sem serem afetados por esse efeito.

  • Não replicado
    Segurança do script Roblox
    Ler Parallel
  • O tipo de curva da banda representada pelo filtro.

  • Ler Parallel

    A frequência central em que o filtro atua ao redor.

  • Ler Parallel

    Para filtros de pico e estante, os controles aumentam ou reduzem o volume.

  • Ler Parallel

    Para picos, baixos, altos, bandpass e filtros de notch, controla a selecionalidade ou ressonância.

Métodos

Eventos

Propriedades

Bypass

Ler Parallel

Se true , os fluxos de áudio são transmitidos sem ser afetados por esse efeito.

Editor

Não replicado
Segurança do script Roblox
Ler Parallel
Ler Parallel

O tipo de curva de resposta de frequência que será usada para filtrar o sinal de áudio.Cada tipo de curva afeta o conteúdo de frequência do áudio de maneiras diferentes.

Frequency

Ler Parallel

A frequência central em hertz da curva representada pelo filtro.Em geral, ajustar esse valor para cima ou para baixo corresponde a um deslocamento horizontal na curva de frequência geral.Vários de 20 a 22000.

Gain

Ler Parallel

O ganho em decibéis usado para determinar o nível de volume da curva representada pelo filtro.Aplica-se somente quando o FilterType é Peak, LowShelf ou HighShelf.Vários de -30 a 30.

Ler Parallel

O valor de qualidade usado para determinar a inclinação ou a ressonância da curva representada pelo filtro.Aplica-se somente quando o FilterType é Peak , Lowpass[x]dB , Highpass[x]dB , Bandpass ou Notch .Vários de 0.1 a 10.

Para FilterType valores de Lowpass12dB e Highpass12dB , um valor de Q de sqrt(2) / 2 ou 0.707 corresponde a um filtro plano em um declive de 12dB/octava.

Métodos

GetConnectedWires

Instances

Retorna um array de Wires que estão conectados ao marcarespecificado. AudioFilter tem um pino "Entrada" e um marcar"Saída".

Parâmetros

pin: string
Valor Padrão: ""

Devolução

Instances

GetGainAt

Retorna o valor de ganho, em decibéis, da curva de resposta de frequência representada pelo filtro na frequência dada, em hertz.Isso pode ser usado para amostrar a forma exata do filtro em locais-chave ou como um todo.

Parâmetros

frequency: number

A frequência, em hertz, para amostrar.

Valor Padrão: ""

Devolução

O ganho de valor, em decibéis, na frequência dada.

GetInputPins


Devolução

GetOutputPins


Devolução

Eventos

WiringChanged

Evento que dispara depois que um Wire se conecta ou se desconecta, e que Wire está agora conectado ou foi previamente conectado a um pino no AudioFilter e a alguma outra instância viável.

Parâmetros

connected: boolean

Se a instância se conectou ou desconectou.

pin: string

O pino no AudioFilter que os alvos Wire alvo.

wire: Wire

O Wire entre a AudioFilter e a outra instância.

instance: Instance

A outra instância que está ou esteve conectada através do Wire .