BarkScale¶
- class torchaudio.prototype.transforms.BarkScale(n_barks: int = 128, sample_rate: int = 16000, f_min: float = 0.0, f_max: Optional[float] = None, n_stft: int = 201, bark_scale: str = 'traunmuller')[原始碼]¶
使用三角濾波器組將正常的 STFT 轉換為 Bark 頻率 STFT。
- 引數:
n_barks (int, 可選的) – Bark 濾波器組的數量。(預設值:
128)sample_rate (int, 可選的) – 音訊訊號的取樣率。(預設值:
16000)f_min (float, 可選的) – 最低頻率。(預設值:
0.)f_max (float 或 None, 可選的) – 最高頻率。(預設值:
sample_rate // 2)n_stft (int, 可選的) – STFT 中的頻點數。參見
Spectrogram中的n_fft。(預設值:201)norm (str 或 None, 可選的) – 如果為
"slaney",則將三角 Bark 權重除以 Bark 頻帶的寬度(面積歸一化)。(預設值:None)bark_scale (str, 可選的) – 使用的刻度:
traunmuller、schroeder或wang。(預設值:traunmuller)
- 示例
>>> waveform, sample_rate = torchaudio.load("test.wav", normalize=True) >>> spectrogram_transform = transforms.Spectrogram(n_fft=1024) >>> spectrogram = spectrogram_transform(waveform) >>> barkscale_transform = transforms.BarkScale(sample_rate=sample_rate, n_stft=1024 // 2 + 1) >>> barkscale_spectrogram = barkscale_transform(spectrogram)
另請參閱
torchaudio.prototype.functional.barkscale_fbanks()- 用於生成濾波器組的函式。- forward(specgram: Tensor) Tensor¶
- 引數:
specgram (torch.Tensor) – 維度為 (…, 頻率, 時間) 的 STFT 譜圖。
- 返回:
大小為 (…,
n_barks, 時間) 的 Bark 頻率譜圖。- 返回型別: