mirror of
https://github.com/RVC-Boss/GPT-SoVITS.git
synced 2025-10-07 23:48:48 +08:00
added restrictions on file extensions,
so now errors won't occur due to .DS_Store files.
This commit is contained in:
parent
a95e6c13b8
commit
e68d244bb0
@ -34,6 +34,19 @@ language_code_list = [
|
|||||||
"vi", "yi", "yo", "zh", "yue",
|
"vi", "yi", "yo", "zh", "yue",
|
||||||
"auto"]
|
"auto"]
|
||||||
|
|
||||||
|
AUDIO_EXTENSIONS = [
|
||||||
|
"mp3",
|
||||||
|
"wav",
|
||||||
|
"flac",
|
||||||
|
"ogg",
|
||||||
|
"m4a",
|
||||||
|
"wma",
|
||||||
|
"aac",
|
||||||
|
"aiff",
|
||||||
|
"aif",
|
||||||
|
"aifc",
|
||||||
|
]
|
||||||
|
|
||||||
def execute_asr(input_folder, output_folder, model_size, language, precision):
|
def execute_asr(input_folder, output_folder, model_size, language, precision):
|
||||||
if '-local' in model_size:
|
if '-local' in model_size:
|
||||||
model_size = model_size[:-6]
|
model_size = model_size[:-6]
|
||||||
@ -57,6 +70,8 @@ def execute_asr(input_folder, output_folder, model_size, language, precision):
|
|||||||
|
|
||||||
for file_name in tqdm(input_file_names):
|
for file_name in tqdm(input_file_names):
|
||||||
try:
|
try:
|
||||||
|
if file_name.split(".")[-1] not in AUDIO_EXTENSIONS:
|
||||||
|
continue
|
||||||
file_path = os.path.join(input_folder, file_name)
|
file_path = os.path.join(input_folder, file_name)
|
||||||
segments, info = model.transcribe(
|
segments, info = model.transcribe(
|
||||||
audio = file_path,
|
audio = file_path,
|
||||||
|
@ -23,6 +23,19 @@ model = AutoModel(
|
|||||||
punc_model_revision = "v2.0.4",
|
punc_model_revision = "v2.0.4",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
AUDIO_EXTENSIONS = [
|
||||||
|
"mp3",
|
||||||
|
"wav",
|
||||||
|
"flac",
|
||||||
|
"ogg",
|
||||||
|
"m4a",
|
||||||
|
"wma",
|
||||||
|
"aac",
|
||||||
|
"aiff",
|
||||||
|
"aif",
|
||||||
|
"aifc",
|
||||||
|
]
|
||||||
|
|
||||||
def only_asr(input_file):
|
def only_asr(input_file):
|
||||||
try:
|
try:
|
||||||
text = model.generate(input=input_file)[0]["text"]
|
text = model.generate(input=input_file)[0]["text"]
|
||||||
@ -40,6 +53,8 @@ def execute_asr(input_folder, output_folder, model_size, language):
|
|||||||
|
|
||||||
for file_name in tqdm(input_file_names):
|
for file_name in tqdm(input_file_names):
|
||||||
try:
|
try:
|
||||||
|
if file_name.split(".")[-1] not in AUDIO_EXTENSIONS:
|
||||||
|
continue
|
||||||
file_path = os.path.join(input_folder, file_name)
|
file_path = os.path.join(input_folder, file_name)
|
||||||
text = model.generate(input=file_path)[0]["text"]
|
text = model.generate(input=file_path)[0]["text"]
|
||||||
output.append(f"{file_path}|{output_file_name}|{language.upper()}|{text}")
|
output.append(f"{file_path}|{output_file_name}|{language.upper()}|{text}")
|
||||||
|
@ -4,6 +4,19 @@ from modelscope.pipelines import pipeline
|
|||||||
from modelscope.utils.constant import Tasks
|
from modelscope.utils.constant import Tasks
|
||||||
from tqdm import tqdm
|
from tqdm import tqdm
|
||||||
|
|
||||||
|
AUDIO_EXTENSIONS = [
|
||||||
|
"mp3",
|
||||||
|
"wav",
|
||||||
|
"flac",
|
||||||
|
"ogg",
|
||||||
|
"m4a",
|
||||||
|
"wma",
|
||||||
|
"aac",
|
||||||
|
"aiff",
|
||||||
|
"aif",
|
||||||
|
"aifc",
|
||||||
|
]
|
||||||
|
|
||||||
path_denoise = 'tools/denoise-model/speech_frcrn_ans_cirm_16k'
|
path_denoise = 'tools/denoise-model/speech_frcrn_ans_cirm_16k'
|
||||||
path_denoise = path_denoise if os.path.exists(path_denoise) else "damo/speech_frcrn_ans_cirm_16k"
|
path_denoise = path_denoise if os.path.exists(path_denoise) else "damo/speech_frcrn_ans_cirm_16k"
|
||||||
ans = pipeline(Tasks.acoustic_noise_suppression,model=path_denoise)
|
ans = pipeline(Tasks.acoustic_noise_suppression,model=path_denoise)
|
||||||
@ -12,6 +25,8 @@ def execute_denoise(input_folder,output_folder):
|
|||||||
# print(input_folder)
|
# print(input_folder)
|
||||||
# print(list(os.listdir(input_folder).sort()))
|
# print(list(os.listdir(input_folder).sort()))
|
||||||
for name in tqdm(os.listdir(input_folder)):
|
for name in tqdm(os.listdir(input_folder)):
|
||||||
|
if name.split(".")[-1] not in AUDIO_EXTENSIONS:
|
||||||
|
continue
|
||||||
ans("%s/%s"%(input_folder,name),output_path='%s/%s'%(output_folder,name))
|
ans("%s/%s"%(input_folder,name),output_path='%s/%s'%(output_folder,name))
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -6,6 +6,19 @@ from scipy.io import wavfile
|
|||||||
from my_utils import load_audio
|
from my_utils import load_audio
|
||||||
from slicer2 import Slicer
|
from slicer2 import Slicer
|
||||||
|
|
||||||
|
AUDIO_EXTENSIONS = [
|
||||||
|
"mp3",
|
||||||
|
"wav",
|
||||||
|
"flac",
|
||||||
|
"ogg",
|
||||||
|
"m4a",
|
||||||
|
"wma",
|
||||||
|
"aac",
|
||||||
|
"aiff",
|
||||||
|
"aif",
|
||||||
|
"aifc",
|
||||||
|
]
|
||||||
|
|
||||||
def slice(inp,opt_root,threshold,min_length,min_interval,hop_size,max_sil_kept,_max,alpha,i_part,all_part):
|
def slice(inp,opt_root,threshold,min_length,min_interval,hop_size,max_sil_kept,_max,alpha,i_part,all_part):
|
||||||
os.makedirs(opt_root,exist_ok=True)
|
os.makedirs(opt_root,exist_ok=True)
|
||||||
if os.path.isfile(inp):
|
if os.path.isfile(inp):
|
||||||
@ -28,6 +41,8 @@ def slice(inp,opt_root,threshold,min_length,min_interval,hop_size,max_sil_kept,_
|
|||||||
# print(inp_path)
|
# print(inp_path)
|
||||||
try:
|
try:
|
||||||
name = os.path.basename(inp_path)
|
name = os.path.basename(inp_path)
|
||||||
|
if name.split(".")[-1] not in AUDIO_EXTENSIONS:
|
||||||
|
continue
|
||||||
audio = load_audio(inp_path, 32000)
|
audio = load_audio(inp_path, 32000)
|
||||||
# print(audio.shape)
|
# print(audio.shape)
|
||||||
for chunk, start, end in slicer.slice(audio): # start和end是帧数
|
for chunk, start, end in slicer.slice(audio): # start和end是帧数
|
||||||
|
@ -23,15 +23,28 @@ is_half=eval(sys.argv[2])
|
|||||||
webui_port_uvr5=int(sys.argv[3])
|
webui_port_uvr5=int(sys.argv[3])
|
||||||
is_share=eval(sys.argv[4])
|
is_share=eval(sys.argv[4])
|
||||||
|
|
||||||
|
AUDIO_EXTENSIONS = [
|
||||||
|
"mp3",
|
||||||
|
"wav",
|
||||||
|
"flac",
|
||||||
|
"ogg",
|
||||||
|
"m4a",
|
||||||
|
"wma",
|
||||||
|
"aac",
|
||||||
|
"aiff",
|
||||||
|
"aif",
|
||||||
|
"aifc",
|
||||||
|
]
|
||||||
|
|
||||||
def uvr(model_name, inp_root, save_root_vocal, paths, save_root_ins, agg, format0):
|
def uvr(model_name, inp_root, save_root_vocal, paths, save_root_ins, agg, format0):
|
||||||
infos = []
|
infos = []
|
||||||
try:
|
try:
|
||||||
inp_root = inp_root.strip(" ").strip('"').strip("\n").strip('"').strip(" ")
|
inp_root = inp_root.strip(" ").strip('"').strip("\n").strip('"').strip(" ").strip("\u202a")
|
||||||
save_root_vocal = (
|
save_root_vocal = (
|
||||||
save_root_vocal.strip(" ").strip('"').strip("\n").strip('"').strip(" ")
|
save_root_vocal.strip(" ").strip('"').strip("\n").strip('"').strip(" ").strip("\u202a")
|
||||||
)
|
)
|
||||||
save_root_ins = (
|
save_root_ins = (
|
||||||
save_root_ins.strip(" ").strip('"').strip("\n").strip('"').strip(" ")
|
save_root_ins.strip(" ").strip('"').strip("\n").strip('"').strip(" ").strip("\u202a")
|
||||||
)
|
)
|
||||||
is_hp3 = "HP3" in model_name
|
is_hp3 = "HP3" in model_name
|
||||||
if model_name == "onnx_dereverb_By_FoxJoy":
|
if model_name == "onnx_dereverb_By_FoxJoy":
|
||||||
@ -49,6 +62,8 @@ def uvr(model_name, inp_root, save_root_vocal, paths, save_root_ins, agg, format
|
|||||||
else:
|
else:
|
||||||
paths = [path.name for path in paths]
|
paths = [path.name for path in paths]
|
||||||
for path in paths:
|
for path in paths:
|
||||||
|
if path.split(".")[-1] not in AUDIO_EXTENSIONS:
|
||||||
|
continue
|
||||||
inp_path = os.path.join(inp_root, path)
|
inp_path = os.path.join(inp_root, path)
|
||||||
if(os.path.isfile(inp_path)==False):continue
|
if(os.path.isfile(inp_path)==False):continue
|
||||||
need_reformat = 1
|
need_reformat = 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user