#!/usr/bin/env python3 """Dependency and ONNX execution smoke test using generated audio only.""" from __future__ import annotations import json from pathlib import Path import numpy as np from turn_detector import TurnDetector def main() -> int: model_dir = Path(__file__).resolve().parent detector = TurnDetector(model_dir) sample_rate = 16_000 timeline = np.arange(sample_rate * 2, dtype=np.float32) / sample_rate generated_audio = 0.08 * np.sin(2.0 * np.pi * 220.0 * timeline) result = detector.predict(generated_audio, sample_rate, silence_ms=300.0) if result["state"] not in {"HOLD", "END"}: raise SystemExit("invalid decision state") if not 0.0 <= result["p_end"] <= 1.0: raise SystemExit("invalid endpoint probability") print(json.dumps(result, indent=2)) return 0 if __name__ == "__main__": raise SystemExit(main())