Audit / cli.py
openmodelai's picture
Upload 11 files
688378c verified
Raw History Blame Contribute Delete
1.49 kB
"""CLI: аудио файл → текст.
Пример:
python -m audio_audit.cli examples/jfk.wav
python -m audio_audit.cli examples/jfk.wav --language ru --json
"""
from __future__ import annotations
import argparse
import json
import sys
from .engine import AuditEngine
def main(argv=None) -> int:
ap = argparse.ArgumentParser(
prog="audit", description="Audit: аудио → текст (Whisper base)"
)
ap.add_argument("audio", help="путь к аудио: wav, mp3, m4a, ogg, flac")
ap.add_argument(
"--language",
"-l",
default=None,
help="язык, напр. ru или en; по умолчанию автоопределение",
)
ap.add_argument("--beam-size", type=int, default=5, help="размер beam search")
ap.add_argument(
"--model-dir",
default=None,
help="каталог с весами (по умолчанию ./model)",
)
ap.add_argument("--json", action="store_true", help="вывести полный JSON")
args = ap.parse_args(argv)
engine = AuditEngine(model_dir=args.model_dir)
result = engine.transcribe(args.audio, language=args.language, beam_size=args.beam_size)
if args.json:
print(json.dumps(result, ensure_ascii=False, indent=2))
else:
print(f"[{result['language']} p={result['language_probability']}]")
print(result["text"])
return 0
if __name__ == "__main__":
sys.exit(main())