Fix: create model/speaker dir on demand for voice clone
Browse files- scripts/omni_o_call.py +4 -1
scripts/omni_o_call.py
CHANGED
|
@@ -74,7 +74,9 @@ def stream_pcm(frames, flush=False):
|
|
| 74 |
if p: yield p
|
| 75 |
|
| 76 |
def clone_voice_path():
|
| 77 |
-
|
|
|
|
|
|
|
| 78 |
|
| 79 |
def delete_manual_voice(name):
|
| 80 |
if name not in VOICES_MANUAL:
|
|
@@ -491,6 +493,7 @@ def init_model(args):
|
|
| 491 |
M['vad_path'] = os.path.join(root, args.vad_dir, 'silero_vad.onnx')
|
| 492 |
|
| 493 |
spk_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'model', 'speaker')
|
|
|
|
| 494 |
for fn, group in [('voices.pt', 'builtin'), ('voices_unseen.pt', 'unseen'), (CLONE_FILE, 'manual')]:
|
| 495 |
fp = os.path.join(spk_dir, fn)
|
| 496 |
if os.path.exists(fp):
|
|
|
|
| 74 |
if p: yield p
|
| 75 |
|
| 76 |
def clone_voice_path():
|
| 77 |
+
p = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'model', 'speaker', CLONE_FILE)
|
| 78 |
+
os.makedirs(os.path.dirname(p), exist_ok=True)
|
| 79 |
+
return p
|
| 80 |
|
| 81 |
def delete_manual_voice(name):
|
| 82 |
if name not in VOICES_MANUAL:
|
|
|
|
| 493 |
M['vad_path'] = os.path.join(root, args.vad_dir, 'silero_vad.onnx')
|
| 494 |
|
| 495 |
spk_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'model', 'speaker')
|
| 496 |
+
os.makedirs(spk_dir, exist_ok=True)
|
| 497 |
for fn, group in [('voices.pt', 'builtin'), ('voices_unseen.pt', 'unseen'), (CLONE_FILE, 'manual')]:
|
| 498 |
fp = os.path.join(spk_dir, fn)
|
| 499 |
if os.path.exists(fp):
|