Ë
    (HJj£  ã                  óz   — d dl mZ d dlZd dlZd dlmZ ddlmZmZ ddl	m
Z
mZ d
dd„Zd
dd„Zed	k(  r e«        yy)é    )ÚannotationsN)ÚOptionalé   )ÚSUPPORTED_METRICSÚrun_seed_tts_eval)ÚDEFAULT_DATASET_REPOÚDEFAULT_REVISIONc                ó¨  — t        j                  d¬«      }|j                  ddd¬«       |j                  dt        d¬«       |j                  d	t        d
¬«       |j                  ddd¬«       |j                  dt
        d d¬«       |j                  dd d¬«       |j                  dt        j                  d d¬«       |j                  ddd¬«       |j                  ddd¬«       |j                  dd d¬«       |j                  dt
        dd ¬«       |j                  d!d"d#gt        d$¬%«       |j                  d&dd'¬«       |j                  | «      S )(Nz7Evaluate an STT model on a dataset with chosen metrics.)Údescriptionz--modelz$mlx-community/whisper-large-v3-turboz$STT model path or Hugging Face repo.)ÚdefaultÚhelpz--dataset-repoz9Hugging Face dataset repo containing Seed-TTS eval audio.z
--revisionzDataset revision to stream.z--output-dirTz7Directory for predictions, summaries, and cached audio.)Úrequiredr   z--limitz.Evaluate only the first N English target wavs.)Útyper   r   z
--languagezFOptional model language hint. If omitted, no language kwarg is passed.z--gen-kwargszDAdditional model.generate kwargs as JSON, e.g. '{"temperature": 0}'.z--skip-existingÚ
store_truez6Reuse utterances already present in predictions.jsonl.)Úactionr   z--allow-missing-audioz<Skip streamed audio rows that do not have matching metadata.z--audio-cache-dirzNOptional directory for streamed wav cache. Defaults to output-dir/audio-cache.z--dataset-batch-sizeé   zENumber of streamed dataset samples to materialize before processing. z	--metricsÚ+Úwerz-Metrics to compute. Currently supported: wer.)Únargsr   Úchoicesr   z	--verbosez!Pass verbose=True when supported.)
ÚargparseÚArgumentParserÚadd_argumentr   r	   ÚintÚjsonÚloadsr   Ú
parse_args)ÚargvÚparsers     ú`/Users/ahmed/devFolder/claude-voice/.venv/lib/python3.12/site-packages/mlx_audio/stt/eval/cli.pyr   r      sÂ  € Ü×$Ñ$ØMô€Fð ×ÑØØ6Ø3ð ô ð
 ×ÑØÜ$ØHð ô ð
 ×ÑØÜ Ø*ð ô ð
 ×ÑØØØFð ô ð
 ×ÑØÜØØ=ð	 ô ð ×ÑØØØUð ô ð
 ×ÑØÜZ‰ZØØUð	 ô ð ×ÑØØØEð ô ð
 ×ÑØØØKð ô ð
 ×ÑØØØ]ð ô ð
 ×ÑØÜØØUð	 ô ð ×ÑØØØÜ!Ø<ð ô ð ×ÑØ˜LÐ/Rð ô ð ×Ñ˜TÓ"Ð"ó    c                ó’  — t        | «      }t        |j                  |j                  |j                  |j
                  |j                  |j                  |j                  |j                  |j                   |j                  |j                  |j                  |j                  ¬«      }t        t!        j"                  |dd¬«      «       y )N)ÚmodelÚ
output_dirÚdataset_repoÚrevisionÚlimitÚlanguageÚ
gen_kwargsÚskip_existingÚfail_on_missing_audioÚaudio_cache_dirÚdataset_batch_sizeÚmetricsÚverboseFé   )Úensure_asciiÚindent)r   r   r#   r$   r%   r&   r'   r(   r)   r*   Úallow_missing_audior,   r-   r.   r/   Úprintr   Údumps)r   ÚargsÚsummarys      r    Úmainr8   V   s•   € ÜdÓ€DÜØj‰jØ—?‘?Ø×&Ñ&Ø—‘Øj‰jØ—‘Ø—?‘?Ø×(Ñ(Ø"&×":Ñ":Ð:Ø×,Ñ,Ø×2Ñ2Ø—‘Ø—‘ô€Gô 
Œ$*‰*W¨5¸Ô
;Õ<r!   Ú__main__)N)r   zOptional[list[str]])Ú
__future__r   r   r   Útypingr   Úrunnerr   r   Úseed_ttsr   r	   r   r8   Ú__name__© r!   r    Ú<module>r@      s7   ðÝ "ã Û Ý ç 8ß <ôH#ôV=ð( ˆzÒÙ…Fð r!   