Forensic-Noise-Classifier / utils /noise_removal.py
Knight-coderr's picture
Upload noise_removal.py
a4517bd verified
raw
history blame contribute delete
513 Bytes
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)