mirror of
https://github.com/RVC-Boss/GPT-SoVITS.git
synced 2025-04-26 19:46:37 +08:00
提前进行输入路径检查,路径拼接换成 os.path.join
This commit is contained in:
parent
3e93ad228d
commit
6575ef30c4
@ -1,3 +1,4 @@
|
|||||||
|
import platform
|
||||||
import ffmpeg
|
import ffmpeg
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
@ -7,9 +8,7 @@ def load_audio(file, sr):
|
|||||||
# https://github.com/openai/whisper/blob/main/whisper/audio.py#L26
|
# 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.
|
# 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.
|
# Requires the ffmpeg CLI and `ffmpeg-python` package to be installed.
|
||||||
file = (
|
file = clean_path(file) # 防止小白拷路径头尾带了空格和"和回车
|
||||||
file.strip(" ").strip('"').strip("\n").strip('"').strip(" ")
|
|
||||||
) # 防止小白拷路径头尾带了空格和"和回车
|
|
||||||
out, _ = (
|
out, _ = (
|
||||||
ffmpeg.input(file, threads=0)
|
ffmpeg.input(file, threads=0)
|
||||||
.output("-", format="f32le", acodec="pcm_f32le", ac=1, ar=sr)
|
.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}")
|
raise RuntimeError(f"Failed to load audio: {e}")
|
||||||
|
|
||||||
return np.frombuffer(out, np.float32).flatten()
|
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(" ")
|
||||||
|
@ -11,7 +11,7 @@ def slice(inp,opt_root,threshold,min_length,min_interval,hop_size,max_sil_kept,_
|
|||||||
if os.path.isfile(inp):
|
if os.path.isfile(inp):
|
||||||
input=[inp]
|
input=[inp]
|
||||||
elif os.path.isdir(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:
|
else:
|
||||||
return "输入路径存在但既不是文件也不是文件夹"
|
return "输入路径存在但既不是文件也不是文件夹"
|
||||||
slicer = Slicer(
|
slicer = Slicer(
|
||||||
|
3
webui.py
3
webui.py
@ -3,6 +3,7 @@ import platform
|
|||||||
import psutil
|
import psutil
|
||||||
import os
|
import os
|
||||||
import signal
|
import signal
|
||||||
|
from tools import my_utils
|
||||||
|
|
||||||
warnings.filterwarnings("ignore")
|
warnings.filterwarnings("ignore")
|
||||||
torch.manual_seed(233333)
|
torch.manual_seed(233333)
|
||||||
@ -267,6 +268,8 @@ def close1Bb():
|
|||||||
ps_slice=[]
|
ps_slice=[]
|
||||||
def open_slice(inp,opt_root,threshold,min_length,min_interval,hop_size,max_sil_kept,_max,alpha,n_parts):
|
def open_slice(inp,opt_root,threshold,min_length,min_interval,hop_size,max_sil_kept,_max,alpha,n_parts):
|
||||||
global ps_slice
|
global ps_slice
|
||||||
|
inp = my_utils.clean_path(inp)
|
||||||
|
opt_root = my_utils.clean_path(opt_root)
|
||||||
if(os.path.exists(inp)==False):
|
if(os.path.exists(inp)==False):
|
||||||
yield "输入路径不存在",{"__type__":"update","visible":True},{"__type__":"update","visible":False}
|
yield "输入路径不存在",{"__type__":"update","visible":True},{"__type__":"update","visible":False}
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user