o
    
j                     @   s   d dl Z d dlmZmZ d dlmZmZ d dlmZm	Z	 d dl
mZ d dlmZ eG dd deZd	d
 Zedkr?e  dS dS )    N)	dataclassfield)TrainerTrainerArgs)load_configregister_config)load_tts_samples)setup_modelc                   @   s&   e Zd ZU edddidZeed< dS )TrainTTSArgsNhelpzPath to the config file.)defaultmetadataconfig_path)__name__
__module____qualname__r   r   str__annotations__ r   r   D/home/kuhnn/.local/lib/python3.10/site-packages/TTS/bin/train_tts.pyr
      s   
 r
   c               	   C   s  t  } | jdd}| \}}| | |js|jr_|jr0t|j}t|dkr/|j|dd n/|jrKttj	
|jd}t|dkrJ|j|dd nddlm} | }|| t|j }t|jd|j|jd\}}t||| }	t| |	j|j|	||d	d
}
|
  dS )z:Run `tts` model training directly by a `config.json` file. )
arg_prefixr   T)relaxed_parserzconfig.json)BaseTrainingConfig)
eval_spliteval_split_max_sizeeval_split_sizeF)modeltrain_sampleseval_samplesparse_command_line_argsN)r
   init_argparseparse_known_args
parse_argsr   continue_pathr   lenospathjoinTTS.config.shared_configsr   r   r   r   datasetsr   r   r	   r   configoutput_pathfit)
train_argsparserargsconfig_overridesr+   r   config_baser   r   r   trainerr   r   r   main   sH   



	r4   __main__)r&   dataclassesr   r   r3   r   r   
TTS.configr   r   TTS.tts.datasetsr   TTS.tts.modelsr	   r
   r4   r   r   r   r   r   <module>   s    6
