快捷方式

torchaudio.functional.lfilter

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

透過評估差分方程執行 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,則波形 waveform 應該至少為 2D,並且倒數第二個軸的大小應等於 num_filters。輸出可以表示為 output[..., i, :] = lfilter(waveform[..., i, :], a_coeffs[i], b_coeffs[i], clamp=clamp, batching=False)。 (預設值: True)

返回值:

如果 a_coeffsb_coeffs 是 2D Tensors,則返回維度為 (…, num_filters, time) 的波形,否則返回維度為 (…, time) 的波形。

返回型別:

Tensor


© 版權所有 2024, Torchaudio 貢獻者。

使用 Sphinx 構建,主題由 Read the Docs 提供。

文件

訪問 PyTorch 完整的開發者文件

檢視文件

教程

獲取針對初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並解答疑問

檢視資源