o
    i                     @   sr   d dl mZ d dlZd dlmZ d dlmZ zd dlmZ W n e	y)   dZY nw d dl
mZ G dd dZdS )	    )
CollectionN)jaconv)check_argument_types)vietnamese_cleaners)KoreanCleanerc                   @   s6   e Zd ZdZd
dee fddZdedefdd	ZdS )TextCleanerzText cleaner.

    Examples:
        >>> cleaner = TextCleaner("tacotron")
        >>> cleaner("(Hello-World);   &  jr. & dr.")
        'HELLO WORLD, AND JUNIOR AND DOCTOR'

    Ncleaner_typesc                 C   s@   t  sJ |d u rg | _d S t|tr|g| _d S t|| _d S N)r   r   
isinstancestrlist)selfr    r   H/home/ubuntu/.local/lib/python3.10/site-packages/espnet2/text/cleaner.py__init__   s   


zTextCleaner.__init__textreturnc                 C   s~   | j D ]9}|dkrtj|}q|dkrt|}q|dkr,td u r&tdt|}q|dkr6t	
|}qtd| |S )Ntacotronr   
vietnamesezPlease install undertheseakorean_cleanerzNot supported: type=)r   tacotron_cleanercleanerscustom_english_cleanersr   	normalizer   RuntimeErrorvietnamese_cleanerr   normalize_text)r   r   tr   r   r   __call__#   s   
zTextCleaner.__call__r	   )__name__
__module____qualname____doc__r   r   r   r   r   r   r   r   r      s    	
r   )typingr   tacotron_cleaner.cleanersr   r   	typeguardr   r   r   ImportErrorespnet2.text.korean_cleanerr   r   r   r   r   r   <module>   s    