From ecc17ff58ff3cca415a1cd4a4590385d07a11000 Mon Sep 17 00:00:00 2001 From: Plachta Date: Mon, 13 Feb 2023 14:59:49 +0800 Subject: [PATCH] upload files --- demucs_denoise.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 demucs_denoise.py diff --git a/demucs_denoise.py b/demucs_denoise.py new file mode 100644 index 0000000..33ef76e --- /dev/null +++ b/demucs_denoise.py @@ -0,0 +1,23 @@ +import os +import torch +import torchaudio + +audio_dir = "./user_voice/" +wavfiles = [] +for filename in list(os.walk(audio_dir))[0][2]: + if filename.endswith(".wav"): + wavfiles.append(filename) + +# denoise with demucs +for i, wavfile in enumerate(wavfiles): + os.system(f"demucs --two-stems=vocals {audio_dir}{wavfile}") + +# read & store the denoised vocals back +for wavfile in wavfiles: + i = wavfile.strip(".wav") + wav, sr = torchaudio.load(f"./separated/htdemucs/{i}/vocals.wav", frame_offset=0, num_frames=-1, normalize=True, channels_first=True) + # merge two channels into one + wav = wav.mean(dim=0).unsqueeze(0) + if sr != 22050: + wav = torchaudio.transforms.Resample(orig_freq=sr, new_freq=22050)(wav) + torchaudio.save(f"./user_voice/{i}.wav", wav, 22050, channels_first=True) \ No newline at end of file