o
    WlÆi'  ã                   @   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	   Z
initializeÚstr)Úselfr   r	   © r   úP/home/kim/smarthome/.venv/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
   )ú,ú:ú;ú ZNFD)r
   r	   Z	set_voiceZget_phonemesÚreÚsubÚextendÚlistÚunicodedataÚ	normalizeÚappend)
r   r   r   r	   Zall_phonemesZsentence_phonemesZclause_phonemesZphonemes_strZterminator_strZ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__ÚparentZ_DIRr"   r   r   r   r   r   Ú<module>   s    
