Keep CLI heavy imports lazy

This commit is contained in:
muyleanging
2026-05-18 16:47:51 +09:00
parent 05fe0cb08d
commit 4d94dd3f54

View File

@@ -11,10 +11,6 @@ import os
import sys
from pathlib import Path
import soundfile as sf
from voxcpm.core import VoxCPM
DEFAULT_HF_MODEL_ID = "openbmb/VoxCPM2"
# -----------------------------
@@ -173,6 +169,8 @@ def validate_batch_args(args, parser):
def load_model(args):
from voxcpm.core import VoxCPM
print("Loading VoxCPM model...", file=sys.stderr)
zipenhancer_path = getattr(args, "zipenhancer_path", None) or os.environ.get(
@@ -265,6 +263,8 @@ def _run_single(args, parser, *, text: str, output: str, prompt_text: str | None
and (args.prompt_audio is not None or args.reference_audio is not None),
)
import soundfile as sf
sf.write(str(output_path), audio_array, model.tts_model.sample_rate)
duration = len(audio_array) / model.tts_model.sample_rate
@@ -306,6 +306,8 @@ def cmd_validate(args, parser):
def cmd_batch(args, parser):
import soundfile as sf
input_file = require_file_exists(args.input, parser, "input file")
output_dir = Path(args.output_dir)
output_dir.mkdir(parents=True, exist_ok=True)