快捷鍵

torchaudio.functional.lfilter

torchaudio.functional.lfilter(waveform: Tensor, a_coeffs: Tensor, b_coeffs: Tensor, clamp: bool = True, batching: bool = True) Tensor[原始碼]

透過評估差分方程式來執行 IIR 濾波器,使用由 Yu et al. [Yu and Fazekas, 2023]Forgione et al. [Forgione and Piga, 2021] 獨立開發的可微分實作。

This feature supports the following devices: CPU, CUDA This API supports the following properties: Autograd, TorchScript

注意

為了避免數值問題,最好使用小濾波器階數。使用雙精度也可以最大限度地減少數值精度誤差。

參數:
  • waveform (Tensor) – 音訊波形,維度為 (…, time)。必須標準化為 -1 到 1。

  • a_coeffs (Tensor) – 差分方程式的分母係數,維度可以是 1D 形狀 (num_order + 1) 或 2D 形狀 (num_filters, num_order + 1)。較低延遲係數在前,例如 [a0, a1, a2, ...]。必須與 b_coeffs 大小相同(必要時用 0 填充)。

  • b_coeffs (Tensor) – 差分方程式的分子係數,維度可以是 1D 形狀 (num_order + 1) 或 2D 形狀 (num_filters, num_order + 1)。較低延遲係數在前,例如 [b0, b1, b2, ...]。必須與 a_coeffs 大小相同(必要時用 0 填充)。

  • clamp (bool, optional) – 如果 True,將輸出訊號鉗位在 [-1, 1] 範圍內 (預設: True)

  • batching (bool, optional) – 僅在係數為 2D 時有效。如果 True,則波形應至少為 2D,且從最後一個軸開始的第二個軸的大小應等於 num_filters。輸出可以表示為 output[..., i, :] = lfilter(waveform[..., i, :], a_coeffs[i], b_coeffs[i], clamp=clamp, batching=False)。 (預設: True)

返回:

波形,維度為 (…, num_filters, time) (如果 a_coeffsb_coeffs 是 2D Tensor),否則為 (…, time)

返回類型:

Tensor

文件

存取 PyTorch 的完整開發者文件

檢視文件

教學

取得初學者和進階開發者的深入教學

檢視教學

資源

尋找開發資源並獲得問題解答

檢視資源