o
    
j'                     @   sP   d Z ddlZddlZddlmZ ddlmZ eejZ	e	d Z
G dd dZdS )zPhonemization with espeak-ng.    N)Path)Unionzespeak-ng-datac                   @   sL   e Zd ZdZefdeeef ddfddZdedede	e	e  fd	d
Z
dS )EspeakPhonemizerzPhonemizer that uses espeak-ng.espeak_data_dirreturnNc                 C   s   ddl m} |t| dS )zInitialize phonemizer.   espeakbridgeN) r	   
initializestr)selfr   r	    r   I/home/kuhnn/.local/lib/python3.10/site-packages/piper/phonemize_espeak.py__init__   s   zEspeakPhonemizer.__init__voicetextc           
      C   s   ddl m} || g }g }||}|D ],\}}}	tdd|}||7 }|dv r.|d7 }|tt	d| |	rB|
| g }q|rJ|
| |S )z%Text to phonemes grouped by sentence.r   r   z	\([^)]+\)r
   ),:; NFD)r
   r	   	set_voiceget_phonemesresubextendlistunicodedata	normalizeappend)
r   r   r   r	   all_phonemessentence_phonemesclause_phonemesphonemes_strterminator_strend_of_sentencer   r   r   	phonemize   s$   



zEspeakPhonemizer.phonemize)__name__
__module____qualname____doc__ESPEAK_DATA_DIRr   r   r   r   r   r'   r   r   r   r   r      s    "r   )r+   r   r   pathlibr   typingr   __file__parent_DIRr,   r   r   r   r   r   <module>   s    
