提前进行输入路径检查,路径拼接换成 os.path.join

This commit is contained in:
xmimu 2024-01-22 00:53:18 +08:00
parent 3e93ad228d
commit 6575ef30c4
3 changed files with 12 additions and 4 deletions

View File

@ -1,3 +1,4 @@
import platform
import ffmpeg
import numpy as np
@ -7,9 +8,7 @@ def load_audio(file, sr):
# https://github.com/openai/whisper/blob/main/whisper/audio.py#L26
# This launches a subprocess to decode audio while down-mixing and resampling as necessary.
# Requires the ffmpeg CLI and `ffmpeg-python` package to be installed.
file = (
file.strip(" ").strip('"').strip("\n").strip('"').strip(" ")
) # 防止小白拷路径头尾带了空格和"和回车
file = clean_path(file) # 防止小白拷路径头尾带了空格和"和回车
out, _ = (
ffmpeg.input(file, threads=0)
.output("-", format="f32le", acodec="pcm_f32le", ac=1, ar=sr)
@ -19,3 +18,9 @@ def load_audio(file, sr):
raise RuntimeError(f"Failed to load audio: {e}")
return np.frombuffer(out, np.float32).flatten()
def clean_path(path_str):
if platform.system() == 'Windows':
path_str = path_str.replace('/', '\\')
return path_str.strip(" ").strip('"').strip("\n").strip('"').strip(" ")

View File

@ -11,7 +11,7 @@ def slice(inp,opt_root,threshold,min_length,min_interval,hop_size,max_sil_kept,_
if os.path.isfile(inp):
input=[inp]
elif os.path.isdir(inp):
input=["%s/%s"%(inp,name)for name in sorted(list(os.listdir(inp)))]
input=[os.path.join(inp, name) for name in sorted(list(os.listdir(inp)))]
else:
return "输入路径存在但既不是文件也不是文件夹"
slicer = Slicer(

View File

@ -3,6 +3,7 @@ import platform
import psutil
import os
import signal
from tools import my_utils
warnings.filterwarnings("ignore")
torch.manual_seed(233333)
@ -267,6 +268,8 @@ def close1Bb():
ps_slice=[]
def open_slice(inp,opt_root,threshold,min_length,min_interval,hop_size,max_sil_kept,_max,alpha,n_parts):
global ps_slice
inp = my_utils.clean_path(inp)
opt_root = my_utils.clean_path(opt_root)
if(os.path.exists(inp)==False):
yield "输入路径不存在",{"__type__":"update","visible":True},{"__type__":"update","visible":False}
return