目录

torchaudio.transforms

torchaudio.transforms模块包含常见的音频处理和特征提取。下图显示了一些可用转换之间的关系。

https://download.pytorch.org/torchaudio/tutorial-assets/torchaudio_feature_extractions.png

转换是使用 实现的。构建处理管道的常见方法是定义自定义 Module 类或使用 将 Module 链接在一起,然后将其移动到目标设备和数据类型。

# Define custom feature extraction pipeline.
#
# 1. Resample audio
# 2. Convert to power spectrogram
# 3. Apply augmentations
# 4. Convert to mel-scale
#
class MyPipeline(torch.nn.Module):
    def __init__(
        self,
        input_freq=16000,
        resample_freq=8000,
        n_fft=1024,
        n_mel=256,
        stretch_factor=0.8,
    ):
        super().__init__()
        self.resample = Resample(orig_freq=input_freq, new_freq=resample_freq)

        self.spec = Spectrogram(n_fft=n_fft, power=2)

        self.spec_aug = torch.nn.Sequential(
            TimeStretch(stretch_factor, fixed_rate=True),
            FrequencyMasking(freq_mask_param=80),
            TimeMasking(time_mask_param=80),
        )

        self.mel_scale = MelScale(
            n_mels=n_mel, sample_rate=resample_freq, n_stft=n_fft // 2 + 1)

    def forward(self, waveform: torch.Tensor) -> torch.Tensor:
        # Resample the input
        resampled = self.resample(waveform)

        # Convert to power spectrogram
        spec = self.spec(resampled)

        # Apply SpecAugment
        spec = self.spec_aug(spec)

        # Convert to mel-scale
        mel = self.mel_scale(spec)

        return mel
# Instantiate a pipeline
pipeline = MyPipeline()

# Move the computation graph to CUDA
pipeline.to(device=torch.device("cuda"), dtype=torch.float32)

# Perform the transform
features = pipeline(waveform)

请查看涵盖 trasform 深入使用的教程。

音频特征提取

音频特征提取

音频特征提取

效用

AmplitudeToDB

将张量从幂/振幅刻度转换为分贝刻度。

MuLaw编码

基于 mu-law 压缩扩展对信号进行编码。

MuLaw解码

解码 mu-law 编码信号。

重新采样

将信号从一个频率重新采样到另一个频率。

褪色

向波形添加淡入和/或淡出。

调整波形的音量。

响度

根据 ITU-R BS.1770-4 建议标准测量音频响度。

添加杂色

根据信噪比对波形进行缩放和添加噪声。

盘旋

使用 direct 方法沿输入的最后一个维度卷积输入。

FFTConvolve

使用 FFT 沿输入的最后一个维度对输入进行卷积。

速度

调整波形速度。

SpeedPerturbation (速度扰动)

应用音频增强中引入的速度扰动增强进行语音识别 [Ko et al., 2015]。

去加重

沿波形的最后一个维度取消强调。

预加重

沿其最后一个维度预先强调波形。

特征提取

光谱图

从音频信号创建频谱图。

逆频谱图

创建逆向频谱图以从频谱图中恢复音频信号。

梅尔斯卡尔

将普通 STFT 转换为带有三角滤波器组的 mel 频率 STFT。

InverseMelScale

从 mel 频域估计正常频域中的 STFT。

MelSpectrogram 梅尔频谱图

为原始音频信号创建 MelSpectrogram。

格里芬林

使用 Griffin-Lim 变换从线性尺度幅度频谱图计算波形。

MFCC

从音频信号创建 Mel 频率倒谱系数。

LFCC 公司

从音频信号创建线性频率倒谱系数。

计算增量

计算张量的 delta 系数,通常是频谱图。

音高偏移

逐步移动波形的音高。n_steps

滑动窗口 Cmn

对每个话语应用滑动窗口倒谱均值(和可选的方差)归一化。

SpectralCentroid (光谱中心)

计算沿时间轴的每个通道的频谱质心。

瓦德

语音活动检测器。

增强

以下转换实现了流行的增强技术,称为 SpecAugment [Park等人,2019 年]。

频率掩码

将掩码应用于频域中的频谱图。

时间掩码

在时域中对频谱图应用掩码。

时间拉伸

在时间上拉伸 stft,而不修改给定速率的音高。

损失

RNNTLoss

使用循环神经网络计算序列转导的 RNN 换能器损失 [Graves,2012]。

多通道

PSD

计算跨通道功率谱密度 (PSD) 矩阵。

MVDR

最小方差无失真响应 (MVDR) 模块,使用时频模板执行 MVDR 波束成形。

RTFMVDR

最小方差无失真响应 (MVDR [Capon, 1969]) 模块基于噪声的相对传递函数 (RTF) 和功率谱密度 (PSD) 矩阵。

SoudenMVDR

最小方差无失真响应 (MVDR [Capon, 1969]) 模块基于 Souden 等人提出的方法。 [Souden 等人,2009 年]。

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并解答您的问题

查看资源