当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch Spectrogram用法及代码示例


本文简要介绍python语言中 torchaudio.transforms.Spectrogram 的用法。

用法:

class torchaudio.transforms.Spectrogram(n_fft: int = 400, win_length: Optional[int] = None, hop_length: Optional[int] = None, pad: int = 0, window_fn: Callable[[...], torch.Tensor] = <built-in method hann_window of type object>, power: Optional[float] = 2.0, normalized: bool = False, wkwargs: Optional[dict] = None, center: bool = True, pad_mode: str = 'reflect', onesided: bool = True, return_complex: bool = True)

参数

  • n_fft(int,可选的) -FFT 的大小,创建n_fft // 2 + 1 bins。 (默认:400)

  • win_length(int或者None,可选的) -窗口大小。 (默认:n_fft)

  • hop_length(int或者None,可选的) -STFT 窗口之间的跳跃长度。 (默认:win_length // 2)

  • pad(int,可选的) -信号的两侧填充。 (默认:0)

  • window_fn(可调用[..,Tensor],可选的) - 创建一个窗口张量的函数,该窗口张量应用于/乘以每个帧/窗口。 (默认:torch.hann_window)

  • power(float或者None,可选的) -幅度谱图的 index ,(必须 > 0)例如,1 表示能量,2 表示功率,等等。如果没有,则返回复数谱。 (默认:2)

  • normalized(bool,可选的) -stft 之后是否按幅度归一化。 (默认:False)

  • wkwargs(dict或者None,可选的) -窗口函数的参数。 (默认:None)

  • center(bool,可选的) -是否在两侧填充waveform,以便第 帧在时间 居中。 (默认:True)

  • pad_mode(string,可选的) -控制 centerTrue 时使用的填充方法。 (默认:"reflect")

  • onesided(bool,可选的) -控制是否返回一半结果以避免冗余(默认值:True)

  • return_complex(bool,可选的) -指示生成的 complex-valued 张量是否应使用本机复数 dtype 表示,例如 torch.cfloattorch.cdouble ,或使用实部和虚部的额外维度模拟复数的真实 dtype。 (另见 torch.view_as_real 。)此参数仅在 power=None 时有效。对于 power 是数字的情况,它会被忽略,因为在这些情况下,返回的张量是功率谱图,它是一个实值张量。

从音频信号创建频谱图。

示例
>>> waveform, sample_rate = torchaudio.load('test.wav', normalize=True)
>>> transform = torchaudio.transforms.Spectrogram(n_fft=800)
>>> spectrogram = transform(waveform)

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torchaudio.transforms.Spectrogram。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。