OpenBMB/VoxCPM · error · SystemExit

Timestamp alignment failed: {exc}

Error message

Timestamp alignment failed: {exc}

What it means

Raised as SystemExit when timestamp alignment (an alignment model run) throws and the CLI was invoked with --timestamp-strict. Without the strict flag the same failure only prints a warning to stderr and skips writing the timestamps file.

Source

Thrown at src/voxcpm/cli.py:383

    timestamp_output = getattr(args, "timestamp_output", None)
    output_path = Path(timestamp_output) if timestamp_output else default_timestamp_path(audio_path)
    output_path.parent.mkdir(parents=True, exist_ok=True)

    try:
        result = align_audio_file(
            audio_path=str(audio_path),
            text=text,
            sample_rate=sample_rate,
            backend=args.timestamp_backend,
            level=args.timestamp_level,
            model_name=args.timestamp_model,
            device=args.timestamp_device,
            language=args.timestamp_language,
        )
    except Exception as exc:
        if getattr(args, "timestamp_strict", False):
            raise SystemExit(f"Timestamp alignment failed: {exc}") from exc
        print(f"Warning: Timestamp alignment failed: {exc}", file=sys.stderr)
        return

    with open(output_path, "w", encoding="utf-8") as f:
        json.dump(result, f, ensure_ascii=False, indent=2)
        f.write("\n")
    print(f"Saved timestamps to: {output_path}", file=sys.stderr)


# -----------------------------
# Parser
# -----------------------------


def _add_common_generation_args(parser):
    parser.add_argument("--text", "-t", help="Text to synthesize")
    parser.add_argument(
        "--control",

View on GitHub (pinned to f5a1c6a6b9)

Solutions

  1. Check the underlying exception printed in the message (model name, path, device)
  2. Pre-download / verify the timestamp model exists and the model id is correct
  3. Use a valid device for the alignment model or let it fall back
  4. Drop --timestamp-strict to degrade to a warning if timestamps are optional

Example fix

# before
voxcpm batch --timestamp-model mispelled/model --timestamp-strict
# after
voxcpm batch --timestamp-model the/correct-model --timestamp-device auto
Defensive patterns

Strategy: fallback

Validate before calling

import os
assert args.timestamp_model, "timestamp model required"
assert os.path.isdir(args.timestamp_device == 'cpu') or True

Try / catch

try:
    run_with_timestamps(args)
except SystemExit as e:
    log.warning('timestamp alignment failed: %s', e); continue  # non-fatal path

Prevention

When it happens

Trigger: Running voxcpm CLI with --timestamp-* options where the alignment model (e.g. args.timestamp_model) fails to load, is missing, or misconfigured, combined with timestamp_strict=True.

Common situations: Alignment model not downloaded, wrong timestamp_model name, unsupported timestamp device (CUDA unavailable), or malformed transcript input to the aligner.

Related errors


AI-assisted analysis of OpenBMB/VoxCPM@f5a1c6a6b9 (2026-08-27). Data as JSON: /api/errors/d12d6b375fffcf87. Report an issue: GitHub.