SPB Git

spb/zyquo-mlx Public MIT

The local MLX foundry for your Mac — run, fine-tune, quantize, and ship models. Nothing leaves your machine.

Swift 93.4% Python 3.8% Makefile 2.2% Shell 0.5%
1.2 KB · 47 lines python
Raw Blame History
1#2#  zyquo_transcribe.py3#  Zyquo MLX4#5#  Author: Simon-Pierre Boucher6#  Mail: contact@spboucher.ai7#8#  Speech-to-text driver over mlx-whisper (docs/MLX-RESEARCH.md §3.2).9#  JSON-lines protocol on stdout.10#11#  Usage: zyquo_transcribe.py --model <dir-or-repo> --audio <file>1213import argparse14import json15import sys161718def emit(obj):19    sys.stdout.write(json.dumps(obj) + "\n")20    sys.stdout.flush()212223def main():24    parser = argparse.ArgumentParser()25    parser.add_argument("--model", required=True)26    parser.add_argument("--audio", required=True)27    args = parser.parse_args()2829    try:30        emit({"event": "start", "stage": "transcribing", "audio": args.audio})31        import mlx_whisper3233        result = mlx_whisper.transcribe(args.audio, path_or_hf_repo=args.model)34        emit({35            "event": "done",36            "text": result.get("text", "").strip(),37            "language": result.get("language"),38            "segments": len(result.get("segments", [])),39        })40    except Exception as exc:  # noqa: BLE00141        emit({"event": "error", "message": str(exc), "type": type(exc).__name__})42        sys.exit(1)434445if __name__ == "__main__":46    main()47