added restrictions on file extensions,

so now errors won't occur due to .DS_Store files.
This commit is contained in:
XXXXRT666 2024-05-04 22:42:37 +01:00
parent a95e6c13b8
commit e68d244bb0
5 changed files with 78 additions and 3 deletions

View File

@ -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,

View File

@ -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}")

View File

@ -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__':

View File

@ -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是帧数

View File

@ -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