o
    i                     @   sV   d dl Z d dlZd dlmZ d dlZd dlZd dlmZ dd Zedkr)e  dS dS )    N)Path)tqdmc                  C   s  t jdd} | jdtddd | jdtdd	d
 |  }tj r#dntj r*dnd}tj	j
dddd}||}tt|jd|j }d}t|jd }t|ddde}t|ddD ]>}tj
|d dd\}	}
t|	|d}|||
}i }t|j| |d< |d< || 7 }|tj|ddd  q_t|dkr|t| nd}|d|dd W d    n1 sw   Y  td |d td!|  d S )"NzUTMOS Evaluation)descriptionz--audio_dirTzAudio file path.)typerequiredhelpz--extwavzAudio extension.)r   defaultr   cudaxpucpuztarepan/SpeechMOS:v1.2.0utmos22_strong)
trust_repoz*.r   z_utmos_results.jsonlwzutf-8)encoding
Processing)desc)srmonoutmosF)ensure_ascii
z
UTMOS: z.4fzUTMOS: zUTMOS results saved to )argparseArgumentParseradd_argumentstr
parse_argstorchr
   is_availabler   hubloadtolistr   	audio_dirrglobextopenr   librosa
from_numpy	unsqueezestemitemwritejsondumpslenprint)parserargsdevice	predictoraudio_pathsutmos_scoreutmos_result_pathf
audio_pathr   r   
wav_tensorscoreline	avg_score r>   J/home/ubuntu/.local/lib/python3.10/site-packages/f5_tts/eval/eval_utmos.pymain
   s0    

r@   __main__)	r   r-   pathlibr   r'   r   r   r@   __name__r>   r>   r>   r?   <module>   s    
