| from speechbrain.pretrained import SpectralMaskEnhancement | |
| import torchaudio | |
| import os | |
| import torch | |
| model = SpectralMaskEnhancement.from_hparams( | |
| source="speechbrain/metricgan-plus-voicebank", savedir="tmp/denoiser" | |
| ) | |
| def remove_noise(input_path, output_path): | |
| noisy_audio, sr = torchaudio.load(input_path) | |
| lengths = torch.tensor([noisy_audio.shape[1]]) / noisy_audio.shape[1] | |
| denoised = model.enhance_batch(noisy_audio, lengths) | |
| torchaudio.save(output_path, denoised.cpu(), sr) | |