Merge remote-tracking branch 'origin/main'
This commit is contained in:
+17
-17
@@ -1,18 +1,18 @@
|
||||
import os
|
||||
import torchaudio
|
||||
raw_audio_dir = "./raw_audio/"
|
||||
denoise_audio_dir = "./denoised_audio/"
|
||||
filelist = list(os.walk(raw_audio_dir))[0][2]
|
||||
|
||||
for file in filelist:
|
||||
if file.endswith(".wav"):
|
||||
os.system(f"demucs --two-stems=vocals {raw_audio_dir}{file}")
|
||||
for file in filelist:
|
||||
file = file.replace(".wav", "")
|
||||
wav, sr = torchaudio.load(f"./separated/htdemucs/{file}/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)
|
||||
import os
|
||||
import torchaudio
|
||||
raw_audio_dir = "./raw_audio/"
|
||||
denoise_audio_dir = "./denoised_audio/"
|
||||
filelist = list(os.walk(raw_audio_dir))[0][2]
|
||||
|
||||
for file in filelist:
|
||||
if file.endswith(".wav"):
|
||||
os.system(f"demucs --two-stems=vocals {raw_audio_dir}{file}")
|
||||
for file in filelist:
|
||||
file = file.replace(".wav", "")
|
||||
wav, sr = torchaudio.load(f"./separated/htdemucs/{file}/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(denoise_audio_dir + file + ".wav", wav, 22050, channels_first=True)
|
||||
+32
-18
@@ -1,23 +1,37 @@
|
||||
from google.colab import files
|
||||
import shutil
|
||||
import os
|
||||
import random
|
||||
import shutil
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
from google.colab import files
|
||||
|
||||
basepath = os.getcwd()
|
||||
uploaded = files.upload() # 上传文件
|
||||
uploaded = files.upload() # 上传文件
|
||||
for filename in uploaded.keys():
|
||||
assert(filename.endswith(".txt")), "speaker-videolink info could only be .txt file!"
|
||||
assert (filename.endswith(".txt")), "speaker-videolink info could only be .txt file!"
|
||||
shutil.move(os.path.join(basepath, filename), os.path.join("./speaker_links.txt"))
|
||||
|
||||
with open("./speaker_links.txt", 'r', encoding='utf-8') as f:
|
||||
lines = f.readlines()
|
||||
speakers = []
|
||||
for line in lines:
|
||||
line = line.replace("\n", "").replace(" ", "")
|
||||
if line == "":
|
||||
continue
|
||||
speaker, link = line.split("|")
|
||||
if speaker not in speakers:
|
||||
speakers.append(speaker)
|
||||
# download link
|
||||
import random
|
||||
filename = speaker + "_" + str(random.randint(0, 1000000))
|
||||
os.system(f"youtube-dl -f 0 {link} -o ./video_data/{filename}.mp4")
|
||||
|
||||
def generate_infos():
|
||||
infos = []
|
||||
with open("./speaker_links.txt", 'r', encoding='utf-8') as f:
|
||||
lines = f.readlines()
|
||||
for line in lines:
|
||||
line = line.replace("\n", "").replace(" ", "")
|
||||
if line == "":
|
||||
continue
|
||||
speaker, link = line.split("|")
|
||||
filename = speaker + "_" + str(random.randint(0, 1000000))
|
||||
infos.append({"link": link, "filename": filename})
|
||||
return infos
|
||||
|
||||
|
||||
def download_video(info):
|
||||
link = info["link"]
|
||||
filename = info["filename"]
|
||||
os.system(f"youtube-dl -f 0 {link} -o ./video_data/{filename}.mp4")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
infos = generate_infos()
|
||||
with ThreadPoolExecutor(max_workers=os.cpu_count()) as executor:
|
||||
executor.map(download_video, infos)
|
||||
|
||||
+22
-5
@@ -1,10 +1,27 @@
|
||||
from moviepy.editor import AudioFileClip
|
||||
import os
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
|
||||
from moviepy.editor import AudioFileClip
|
||||
|
||||
video_dir = "./video_data/"
|
||||
audio_dir = "./raw_audio/"
|
||||
filelist = list(os.walk(video_dir))[0][2]
|
||||
for file in filelist:
|
||||
if file.endswith(".mp4"):
|
||||
my_audio_clip = AudioFileClip(video_dir + file)
|
||||
my_audio_clip.write_audiofile(audio_dir + file.rstrip(".mp4") + ".wav")
|
||||
|
||||
|
||||
def generate_infos():
|
||||
videos = []
|
||||
for file in filelist:
|
||||
if file.endswith(".mp4"):
|
||||
videos.append(file)
|
||||
return videos
|
||||
|
||||
|
||||
def clip_file(file):
|
||||
my_audio_clip = AudioFileClip(video_dir + file)
|
||||
my_audio_clip.write_audiofile(audio_dir + file.rstrip(".mp4") + ".wav")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
infos = generate_infos()
|
||||
with ThreadPoolExecutor(max_workers=os.cpu_count()) as executor:
|
||||
executor.map(clip_file, infos)
|
||||
|
||||
Reference in New Issue
Block a user