torchaudio.functional.add_noise¶
- torchaudio.functional.add_noise(waveform: Tensor, noise: Tensor, snr: Tensor, lengths: Optional[Tensor] = None) Tensor [source]¶
根据信噪比缩放并向波形添加噪声。
具体来说,对于每对波形向量 \(x \in \mathbb{R}^L\) 和噪声向量 \(n \in \mathbb{R}^L\),该函数计算输出 \(y\) 为
\[y = x + a n \, \text{,} \]其中
\[a = \sqrt{ \frac{ ||x||_{2}^{2} }{ ||n||_{2}^{2} } \cdot 10^{-\frac{\text{SNR}}{10}} } \, \text{,} \]\(\text{SNR}\) 为 \(x\) 和 \(n\) 之间所需的信噪比,单位为 dB。
请注意,此函数以与上述公式和 PyTorch 的广播语义一致的方式广播其输入中的单例前导维度。
- 参数:
waveform (torch.Tensor) – 输入波形,形状为 (…, L)。
noise (torch.Tensor) – 噪声,形状为 (…, L)(与
waveform
形状相同)。snr (torch.Tensor) – 以 dB 为单位的信噪比,形状为 (…,)。
lengths (torch.Tensor 或 None, 可选) –
waveform
和noise
中信号的有效长度,形状为 (…,)(前导维度必须与waveform
的前导维度匹配)。如果为None
,则waveform
和noise
中的所有元素都被视为有效。(默认值:None
)
- 返回:
将
noise
缩放并添加到waveform
的结果,形状为 (…, L)(与waveform
形状相同)。- 返回类型:
- 使用
add_noise
的教程 Torchaudio-Squim:Torchaudio 中的非侵入式语音评估
Torchaudio-Squim:Torchaudio 中的非侵入式语音评估音频数据增强