torchaudio.functional.add_noise¶
- torchaudio.functional.add_noise(waveform: Tensor, noise: Tensor, snr: Tensor, lengths: Optional[Tensor] = None) Tensor[原始碼]¶
根據信噪比縮放並向波形新增噪聲。
具體來說,對於每一對波形向量 \(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的教程