o
    oi
                     @   s   d dl Z d dlZd dlZd dlmZ d dlmZmZmZ d dl	m
Z
 d dlmZ dd Zedkroe Zejd	ed
d ejddd ejddd ejddeddd ejdeddd ejdeddd e Zee dS dS )    N)logger)init_df
save_audiosetup_df_argument_parser)evaluation_loop_dns)ModelParamsc                    sN  t  j j jdd jd\}}tj jsJ t	 j
 j}t|d }t|}td| d| d  jd urEtj jdd d	tf fd
d}g } jrZ|dg7 } jsct|dkrh|dg7 }t||| j jd uru|nd dg j jdd	}| D ]\}	}
t|	 d|
  qt|d d|d d|d d|d  d S )Nzdnsmos-test.logT)post_filter	log_levellog_fileconfig_allow_defaultsepochz/*.wavz3Evaluating DNSMOS on enhanced noisy files for dir: z (z files))exist_okcleanfnc                    s$   t tj| | jtjd d S )N)
output_dirsuffixdtype)r   ospathbasenamer   torchfloat32)r   enhargssrr    Z/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/df/scripts/test_noisy_dnsmos.pysave_audio_callback   s   

z!main.<locals>.save_audio_callbackv1r   v5F)	n_workersr   metricscsv_path_enhcsv_path_noisy
eval_noisyz: zEnhanced SIG,zEnhanced BAKzEnhanced OVRLzEnhanced P808_MOS)r   model_base_dirpfr	   r   r   r   isdirdataset_dirr   r   globlenr   infor   makedirsstrr   r   r   metric_workersr"   r#   itemsprint)r   modeldf_state	noisy_dirnoisy_filesnr   dnsmos_versionsr!   kvr   r   r   main   sX   



r:   __main__r)   z0Test set directory containing noisy audio files.)typehelpz--v1
store_true)actionz--v5z--metric-workersz-w   z2Number of worker processes for metric calculation.)r<   defaultr=   z--csv-path-enhz=Path to csv score file containing metrics of enhanced audios.z--csv-path-noisyz:Path to csv score file containing metrics of noisy audios.)r*   r   r   logurur   
df.enhancer   r   r   df.evaluation_utilsr   df.modelr   r:   __name__parseradd_argumentr.   int
parse_argsr   r   r   r   r   <module>   sN    9