{"record":{"id":"d12d6b375fffcf87","repo":"OpenBMB/VoxCPM","slug":"timestamp-alignment-failed-exc","errorCode":null,"errorMessage":"Timestamp alignment failed: {exc}","messagePattern":"Timestamp alignment failed: (.+?)","errorType":"exception","errorClass":"SystemExit","httpStatus":null,"severity":"error","filePath":"src/voxcpm/cli.py","lineNumber":383,"sourceCode":"\n    timestamp_output = getattr(args, \"timestamp_output\", None)\n    output_path = Path(timestamp_output) if timestamp_output else default_timestamp_path(audio_path)\n    output_path.parent.mkdir(parents=True, exist_ok=True)\n\n    try:\n        result = align_audio_file(\n            audio_path=str(audio_path),\n            text=text,\n            sample_rate=sample_rate,\n            backend=args.timestamp_backend,\n            level=args.timestamp_level,\n            model_name=args.timestamp_model,\n            device=args.timestamp_device,\n            language=args.timestamp_language,\n        )\n    except Exception as exc:\n        if getattr(args, \"timestamp_strict\", False):\n            raise SystemExit(f\"Timestamp alignment failed: {exc}\") from exc\n        print(f\"Warning: Timestamp alignment failed: {exc}\", file=sys.stderr)\n        return\n\n    with open(output_path, \"w\", encoding=\"utf-8\") as f:\n        json.dump(result, f, ensure_ascii=False, indent=2)\n        f.write(\"\\n\")\n    print(f\"Saved timestamps to: {output_path}\", file=sys.stderr)\n\n\n# -----------------------------\n# Parser\n# -----------------------------\n\n\ndef _add_common_generation_args(parser):\n    parser.add_argument(\"--text\", \"-t\", help=\"Text to synthesize\")\n    parser.add_argument(\n        \"--control\",","sourceCodeStart":365,"sourceCodeEnd":401,"githubUrl":"https://github.com/OpenBMB/VoxCPM/blob/f5a1c6a6b901bc732e20f0d59a369f6829ad717a/src/voxcpm/cli.py#L365-L401","documentation":"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.","triggerScenarios":"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.","commonSituations":"Alignment model not downloaded, wrong timestamp_model name, unsupported timestamp device (CUDA unavailable), or malformed transcript input to the aligner.","solutions":["Check the underlying exception printed in the message (model name, path, device)","Pre-download / verify the timestamp model exists and the model id is correct","Use a valid device for the alignment model or let it fall back","Drop --timestamp-strict to degrade to a warning if timestamps are optional"],"exampleFix":"# before\nvoxcpm batch --timestamp-model mispelled/model --timestamp-strict\n# after\nvoxcpm batch --timestamp-model the/correct-model --timestamp-device auto","handlingStrategy":"fallback","validationCode":"import os\nassert args.timestamp_model, \"timestamp model required\"\nassert os.path.isdir(args.timestamp_device == 'cpu') or True","typeGuard":null,"tryCatchPattern":"try:\n    run_with_timestamps(args)\nexcept SystemExit as e:\n    log.warning('timestamp alignment failed: %s', e); continue  # non-fatal path","preventionTips":["Only enable --timestamp-strict when timestamps are essential","Pre-download and smoke-test the alignment model separately"],"tags":["cli","timestamp-alignment","strict-mode"],"backgroundTag":"dependency-model-load-failed","analyzedSha":"f5a1c6a6b901bc732e20f0d59a369f6829ad717a","analyzedAt":"2026-08-27T05:54:30.617Z","schemaVersion":2},"datasetVersion":"2026-08-27T08:17:20.692Z"}