提前进行输入路径检查,路径拼接换成 os.path.join
This commit is contained in:
@@ -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(" ")
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user