LFCC¶
- class torchaudio.transforms.LFCC(sample_rate: int = 16000, n_filter: int = 128, f_min: float = 0.0, f_max: Optional[float] = None, n_lfcc: int = 40, dct_type: int = 2, norm: str = 'ortho', log_lf: bool = False, speckwargs: Optional[dict] = None)[源代码]¶
从音频信号中创建线性频率倒谱系数。
默认情况下,此函数在 DB 缩放的线性滤波频谱图上计算 LFCC。这并非教科书上的实现,但在此处实现是为了与 librosa 保持一致。
此输出取决于输入频谱图中的最大值,因此可能返回不同的值,例如音频剪辑被拆分为片段与完整剪辑。
- 参数::
sample_rate (int, 可选) – 音频信号的采样率。 (默认值:
16000
)n_filter (int, 可选) – 要应用的线性滤波器数量。 (默认值:
128
)n_lfcc (int, 可选) – 要保留的 lfc 系数数量。 (默认值:
40
)f_min (float, 可选) – 最低频率。 (默认值:
0.
)f_max (float 或 None, 可选) – 最高频率。 (默认值:
None
)dct_type (int, 可选) – 要使用的 DCT(离散余弦变换)类型。 (默认值:
2
)norm (str, 可选) – 要使用的规范。 (默认值:
"ortho"
)log_lf (bool, 可选) – 是否使用对数 lf 频谱图而不是 db 缩放的频谱图。 (默认值:
False
)speckwargs (dict 或 None, 可选) – Spectrogram 的参数。 (默认值:
None
)
- 示例
>>> waveform, sample_rate = torchaudio.load("test.wav", normalize=True) >>> transform = transforms.LFCC( >>> sample_rate=sample_rate, >>> n_lfcc=13, >>> speckwargs={"n_fft": 400, "hop_length": 160, "center": False}, >>> ) >>> lfcc = transform(waveform)
另请参见
torchaudio.functional.linear_fbanks()
- 用于生成滤波器组的函数。- 使用
LFCC
的教程 - 音频特征提取