
    1s[jA                        d dl mZ d dlZd dlZd dlZd dlZd dlZ ee          	                                j
        d         Zej                            d          sJ dZd Zd Z ej        edz                                            Zed	         D ]Z eed
          ee          d             ed ed ed	         D                        eed	                              dS )    )PathN   z035-z,http://192.168.40.32:7861/voice/truong-giangc                     	 t          j        t          |           d          5 }|                                dk    o|                                dk    cd d d            S # 1 swxY w Y   d S #  Y dS xY w)Nrbr   F)waveopenstrgetframerate
getnframes)fws     scripts/run_tts.pyvalidr      s    yQQ!..*:*:1*<*QPQAQQQQQQQQQQQQQQQQQQQuuus.   "A. 0A!A. !A%%A. (A%)A. .A3c           	         t          | d                   }|j                            dd           t          |          rdS dt	          j                    j        z   }g }d| d         fddd	fD ]'\  }}|d
| d| d| d                                gz  }(d                    |          d
| d                                z   }|	                    d          }t          d          D ]
}	 t          j                            t          |dd| id          }	t          j                            |	d          5 }
|                    |
                                           d d d            n# 1 swxY w Y   t          |          st%          d          |                    |            dS # t(          $ r8 |                    d           |dk    r t-          j        d|z             Y w xY wd S )N
audio_pathT)parentsexist_okexistingz----text)styletu_nhien)speed1)denoisetruez--z(
Content-Disposition: form-data; name="z"

z
    z--
z.tmp.wav   zContent-Typezmultipart/form-data; boundary=POST)dataheadersmethod   )timeoutzinvalid WAVok)
missing_ok   )r   parentmkdirr   uuiduuid4hexencodejoinwith_suffixrangeurllibrequestRequestURLurlopenwrite_bytesreadRuntimeErrorreplace	Exceptionunlinktimesleep)xoutbpartskvbodytmpnreqrs              r   onerH   
   sn   	!L/3:++D$+GGG	#JJ jj	$*,,
5QvY 4]CUV  q  qSQqW\  bgfg  bg  bg  TU  bg  bg  `a  bg  bg  bg  bn  bn  bp  bp  aq  XqW\W\	hhuoon1nnn++---#//*2M2Mc
(( 	 	Q~ct^DhefDhDh4iqwxx3s3//O1cooaffhh6O6O6OOOOOOOOOOOOOOOO
**6<666;;s444	   :::dd5:ad	 	s7   ,AF/:(E."F/.E2	2F/5E2	66F//>G10G1znarration/narration.jsonitemsidT)flushTTS_GATEc              #   Z   K   | ]&}t          t          |d                              V  'dS )r   N)r   r   ).0r=   s     r   	<genexpr>rO      s6      FFaU4,0011FFFFFFr   )pathlibr   jsonurllib.requestr0   r)   r   r;   __file__resolver   Pname
startswithr3   r   rH   loads	read_textmr=   printsumlen r   r   <module>r_      sN         ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )$x.."1%af.?.?.G.G'G'G'G2      $*a**557788	
7 4 4AEE!D'##a&&t44444 jFF1W:FFFFFss1W: W W W W Wr   