PyTorch torch.stft 函数
torch.stft 是 PyTorch 中用于短时傅里叶变换(Short-Time Fourier Transform)的函数。它将时域信号转换为频域表示,常用于音频处理和信号分析领域。
函数定义
torch.stft(input, n_fft, hop_length=None, win_length=None, window=None, center=True, pad_mode='reflect', normalized=False, onesided=True, return_complex=None)
使用示例
实例
import torch
# 创建示例信号
x = torch.randn(1, 16000)
# 短时傅里叶变换
# n_fft: FFT点数, hop_length: 帧移
result = torch.stft(x, n_fft=512, hop_length=160, win_length=512, window=torch.hann_window(512))
print("STFT结果形状:", result.shape)
# 输出: STFT结果形状: torch.Size([1, 257, 101, 2])
# 创建示例信号
x = torch.randn(1, 16000)
# 短时傅里叶变换
# n_fft: FFT点数, hop_length: 帧移
result = torch.stft(x, n_fft=512, hop_length=160, win_length=512, window=torch.hann_window(512))
print("STFT结果形状:", result.shape)
# 输出: STFT结果形状: torch.Size([1, 257, 101, 2])

Pytorch torch 参考手册