
    Zjz                     v   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d dlZd dlZej	        
                    d d           d dlmZ dZ ed          ez  Zedz  Zedz  Ze                    d	d	
           dZ ej        edz                                            Z ej        edz                                            Zedz  Zd Z ee          ek    r"ed         ek    red         du red         ek    sJ dZdefgZed         D ]Zd  ej        ded                   D             Zg ZeD ]Z e e          dk    rd  ej!        dedd                   D             Z"e"re"d         nedd         #                    d          d z   Z$e$d k    r e%d!ed"                    e&                    ede$         '                                           ee$d         '                                Z e e          dk    ere&                    e           d(                    e          ed         k    sJ d#Z)d Z*eD ]gZe)rI e e)          d z    e e          z   dk    r+e&                    ed"          d$e*d%e)f           e*d z  Z*eZ)Me)dz   ez   '                                Z)he)r#e&                    ed"          d$e*d%e)f            e            Z+g Z, e-e          D ]\  Z.\  Z/Z0ee.d&d$e/ d'z  Z1 ej2        e03                                          4                                Z5e16                                r	  ej7         e8e1          d(          5 Z9e9:                                d k    oGe9;                                d)k    o/e9<                                d*k    oe9=                                d k    Z>ddd           n# 1 swxY w Y   e>r/e,&                    e.e/e5 ee1           e8e1          d+           !n#  Y nxY we1?                    d	,           dZ@ eAd d-          D ]vZB	 e+C                    e0d.d/d	 e8e1          d0d1          ZDeDjE        s eFeDjG        pd2          e16                                s eFd3           ej7         e8e1          d(          5 Z9e9:                                d k    oGe9;                                d)k    o/e9<                                d*k    oe9=                                d k    Z>ddd           n# 1 swxY w Y   e>s eFd4          e,&                    e.e/e5 ee1           e8e1          d+           dZ@ nG# eH$ r?ZI e8eI          Z@e1?                    d	,            ejJ        eBd)z             Y dZI[IpdZI[Iww xY we@r e%d5e. d6e@           ed7z  K                     ejL        d8e e e           e e,          e,d9dd):          d;z              d<ed=d.d/d	 e e           e e,          e,ej        M                    ejN        jO                  P                                d>
ZQed?z  K                     ejL        eQdd):          d;z               eR ejL        d< e e           eed?z            d@                     dS )A    )PathNz/opt/OpenMontage)NgocHuyenCloneTTSgacmai_20260718_075153z(/data/video-pipeline/GacMaiAudio/project	artifactszassets/audio/chunksT)parentsexist_ok@8a2d835732a26e289ab1f918def3092f607f4abe2a3ab32cd9f06cbed9ae3c66ztts_projection.jsonztts_spend_lock.jsonzstory_canonical.jsonc                 r    t          j        |                                                                           S )N)hashlibsha256
read_bytes	hexdigest)ps    \/data/video-pipeline/GacMaiAudio/project/gacmai_20260718_075153/artifacts/scripts/run_tts.py<lambda>r      s$    W^ALLNN++5577     story_sha256
tts_lockedFauthorized_story_sha256uv   Cảm ơn các bạn đã nghe truyện từ Gác Mái Audio. Chúc các bạn có thời gian nghe truyện vui vẻ.INTROsegmentsc                 ^    g | ]*}|                                 |                                 +S  )strip).0xs     r   
<listcomp>r      s-    VVV!AGGIIVAGGIIVVVr   u   (?<=[.!?…])\s+texti  c                 6    g | ]}|                                 S r   )end)r   ms     r   r   r      s     ;;;Q;;;r   z[,;:]\s+i      zunsplittable id _02d04dz.wavrb   i  )indexr%   text_sha256audio_sha256path)
missing_ok   
doc_truyengffffff?   )r   stylespeeddenoiseoutput_pathtimeoutz%provider returned unsuccessful resultz&provider succeeded without output filezinvalid PCMzchunk z	 failed: ztts_manifest.partial.jsonin_progress)statusr   planned_countcompleted_countchunks)ensure_asciiindent
passedzNgoc-Huyen-Clone)
r:   r   voicer4   r5   r6   r;   r<   r=   
created_atztts_manifest.json)r:   r=   manifest_sha256)Spathlibr   sysjsonr   rewavedatetimetimer/   insert tools.audio.ngoc_huyen_clone_ttsr   PRACmkdirSloads	read_textprojlockstoryshaintrounitssegsplit	sentencespiecesslenfinditercutsrfindcut
SystemExitappendr   joinbufnttsmanifest	enumerateidxuidr   outr   encoder   thexistsopenstrwgetnchannelsgetsampwidthgetframerate
getnframesokunlinkerrrangeattemptexecutersuccessRuntimeErrorerror	Exceptionesleep
write_textdumpsnowtimezoneutc	isoformatfinalprintr   r   r   <module>r      s         - - - - - - - - - - - - - - - - - - - - - - - - - - - - $ % % % > > > > > >TT"LMMaO1RST_R_PQbcdyby`az{  {B  {B  KO  Y]  {B  {^  {^  {^D*$*VWXmVmUxUxUzUzJ{J{T  BL  BF  BL  NO  Pe  Ne  Mp  Mp  Mr  Mr  Bs  Bs  }A  z{  |R  zR  ty77
s5zz1}}n-q00T,5G55P5PUYZsUtvwUwUwUwUw~
 3 3CVVxrx(;CKHHVVV^`W]
  QAs

;;+"+k!DSD'::;;;41tBxxQttW]]3//13	1ff::9c$i99:::	==4C4!!!AcddGMMOO!	 	As


 v}}Q#f+%%%%!
  Q SSXXaZAs""5<<CI1G1G1G1G1G0L#M#M#MaQRdaWXSVSVGAIss2T,,Q,,,S1222i&& Q QNC
T#C!>!>!H!H!J!JbJJLL 	##c((4    FA)9)91)<  *FAQAQSTAT  *FYZYgYgYiYikpYp  *Fuv  vB  vB  vD  vD  EF  vFb  F  F  F  F  F  F  F  F  F  F  F  F  F  F  Fr#3RssSVxx_b_bcf_g_ghh	i	i	ijrr***	a

 U UWU[[l4$]`]`ad]e]epsttuu1
)Z,,qw'Y2YZZZ
**,,S\\*RSSS	##c((4    FA)9)91)<  *FAQAQSTAT  *FYZYgYgYiYikpYp  *Fuv  vB  vB  vD  vD  EF  vFb  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F
.<<...??CSrSY\Y\]`YaYabbccchldgmrmr	TTTCCFF3:::#>#>#>ztz'RS)?T?T?T?T?T?T?T?TT6jj5#5555666++JDJ^_pspstypzpz  NQ  NQ  RZ  N[  N[  em  8n  8n  |A  IJ  -K  -K  -K  LP  -P  Q  Q  Q  Q2D\bfqu  GJ  GJ  KP  GQ  GQ  dg  dg  hp  dq  dq  {C  QY  Qb  Qf  Qf  go  gx  g|  Q}  Q}  QG  QG  QI  QI  J  J  LM  Na  La  Km  Km  nx  nr  nx  y~  LQ  YZ  n[  n[  n[  \`  n`  Ka  Ka  Ka  bg  bg  hr  hl  hr  }E  OR  OR  SX  OY  OY  lo  lo  pq  rE  pE  lF  lF  sG  sG  hH  hH  bI  bI  bI  bI  bIso   P"A!OPO	PO	2PP;A7U(2A!TU(T##U(&T#'?U((V,-4V''V,