
    ,!j^                         d dl Z d dlZd dlZd dlZd dlmZ  ed          Zedz  Zedz  Zedz  Z	edz  Z
edz  Zd	Zd	Zd
ZdZdZdZdZd Zd Zd Zd Zd Zedk    r e             dS dS )    N)PathzL/data/video-pipeline/Youtube-Video-Maker/Project/01062026-003-Tran-Quoc-Toanz1audio/voice_segments/voice_segments_manifest.jsonzaudio/master_narration.wavz$audio/master_narration_timeline.jsonz$logs/step8_compose_tts_manifest.jsonzaudio/_compose_tmpg      ?g333333?g?i]        c                     t          j        dddddddt          |           gdd	
          }t          |                                          S )Nffprobe-verrorz-show_entrieszformat=durationz-ofzdefault=nw=1:nk=1T
   )texttimeout)
subprocesscheck_outputstrfloatstrip)pathouts     "scripts_run_step_08_compose_tts.pydurationr      s`    4HYZ_`stwx|t}t} ~  FJ  TV  	W  	W  	WC    c                     |j                             dd           t          j        dddddt	          |           dt	          t
                    d	t	          t                    d
dt	          |          gd           d S )NTparentsexist_okffmpegz-yr   r	   z-iz-acz-arz-sample_fmts16<   )r   )parentmkdirr   
check_callr   CHANNELSSAMPLE_RATE)srcdsts     r   convertr%      s    JTD1118Dgd3s88E#h--X]^abm^n^no|  ~C  DG  HK  DL  DL  M  WY  Z  Z  Z  Z  Z  Zr   c                 t    t          t          | t          z                      }d|z  t          z  t          z  S )N    )introundr"   r!   SAMPLE_WIDTH)secframess     r   silence_framesr-      s0    uS_%%&&FVh&55r   c                     |dk    r	|rt           S |                                                     d          }|                    d          rt          S |                    d          rt
          S dS )Nheadingu   ”")!?   …:.        )POST_HEADING_PAUSEr   rstripendswithSTRONG_POST_PAUSESENTENCE_POST_PAUSE)r   
scene_typeis_last_in_scenets       r   post_pause_forr>   #   sl    Y#3!!
jjll&!!Azz()) !  zz# #""3r   c                     t                               dd           t          j                            dd           t	          j        t                              d                    } | d         }t	          j        t          dz                      d                    d         }d |D             }g }g }d	}d }d }t          j
        t          t                    d
          5 }	|	                    t                     |	                    t                     |	                    t"                     |D ]}
|
d         }|
                    d          p)|                    |i                               dd          }||k    r|r|                    |           |}|dk    rt(          nd	}|r'|	                    t-          |                     ||z  }||||                    |i                               d|
d                   |                    |i                               d|
d                   t          t          dz  | dz            t/          |d          d d |d	g d}t1          |
d                   }t           |
d          dz  }t3          ||           t5          |          }|}t          j
        t          |          d          5 }|	                    |                    |                                                     d d d            n# 1 swxY w Y   ||z  }|
d         |
d         k    }t;          |
d         ||          }|                    ||
d         |
d         |
d         |
d         |
d         |
d         t/          |d          t/          ||z   d          t/          |d          d	|d           |d                             |
d                    t/          |d          |d <   t/          |d          |d!         z
  d          |d"<   |r|nd	|d#<   |r'|	                    t-          |                     ||z  }|r|                    |           d d d            n# 1 swxY w Y   t          j        d$d%t          t                    t/          |d          ||t(          t>          t@          tB          g d&d'd(}tD          #                    t	          j$        |d)d*+          d           tJ          #                    t	          j$        t          j        d$d,t          t                    tM          |          tM          |          t/          |d          d-d)d*+          d           tO          t	          j$        d,tM          |          tM          |          t/          |d          d.d)/                     d S )0NTr   zutf-8)encodingitemszscript/scenes.jsonscenesc                      i | ]}|d          |S )scene_id ).0ss     r   
<dictcomp>zmain.<locals>.<dictcomp>3   s    222a!J-222r   r5   wbrD   r;   type r/   	narrationsource_narrationzimages/scenesz.png   )rD   r;   rJ   rL   source_text
image_pathstartendr   	pre_pause
post_pausevoice_segment_ids
audio_pathvoice_segment_idz.wavrbsegment_index_in_scenesegments_in_scener   rP   )rD   rW   rY   rZ   rV   rP   r   rQ   rR   r   rS   rT   rU   rR   rQ   r   rT      voice_segments_scene_grouped)r4   r0   r1   r2   r3   )pre_heading_secondspost_heading_secondssentence_post_pause_secondsstrong_post_pause_secondssplit_punctuation)
project_idstepversionmaster_audiototal_duration_sectimelinevoice_segment_timelinepause_rulesFr   )ensure_asciiindent	completed)rb   rc   statusre   scene_itemsvoice_segmentsduration_sec)rm   rn   ro   rp   )rj   )(TMPr   MASTERr   jsonloadsSEG_MANIFEST	read_textPROJECTwaveopenr   setnchannelsr!   setsampwidthr*   setframerater"   getappendPRE_HEADING_PAUSEwriteframesr-   r)   r   r%   r   
readframes
getnframesr>   namer6   r:   r9   TIMELINE
write_textdumpsLOG_MANIFESTlenprint)docrA   rB   scene_lookupvoice_timelinescene_timelinecursorcurrent_scene_id	scene_accr   itemsidr;   prer#   tmpdur	seg_startwis_lastpostpayloads                         r   mainr   .   sS   IIdTI***FM,?,?W[,?,\,\,\
<))7);;<<C
g,E:w33>>>PPQQRZ[F226222LNb~&T9	3v;;t	$	$ -"""C$4$4\$B$B$BCDTDTU`DaDaDa 	F 	FDZ CTXXl-C-C-n|GWGWX[\^G_G_GcGcdjkmGnGn*3&& 5")))444!$ )3Y)>)>%%C HOON3$7$7888&C-&&)z`l`p`pqtuw`x`x`|`|  ~I  JN  Oa  Jb  ac  ac  r~  rB  rB  CF  GI  rJ  rJ  rN  rN  OZ  [_  `r  [s  rt  rt  BE  FM  N]  F]  ad  ^j  ^j  ^j  Fj  Bk  Bk  ty  z@  AB  tC  tC  JN  Z^  kn  |  TV  W  W	T,'((Ct./5555CCCI3s88D)) >QQ\\^^ < <===> > > > > > > > > > > > > > >cMF34=P8QQGVj'BBD!!cTJ\E]w{  }U  xV  ko  pC  kD  RV  Wc  Rd  rv  wC  rD  LP  QW  LX  af  gp  qr  as  as  z  @I  JM  @M  NO  zP  zP  \a  be  fg  \h  \h  ux  FJ  #K  #K  L  L  L)*11$7I2JKKK"6!__Ie"'	%(879K(KA"N"NIj!,3$<DDIl# Ft 4 4555v~v 	-!!),,,=- - - - - - - - - - - - - - -> ",a:Xhklrhshs  JO  PV  WX  JY  JY  es  M[  AR  j|  [n  K\  qH  qH  qH  jI  jI  J  JG
7qIIIT[\\\DJW\T_orsyozoz  JM  N\  J]  J]  or  sA  oB  oB  RW  X^  _`  Ra  Ra  (b  (b  qv  @  A  A  A  LS  T  T  T	$*{^9L9L^abp^q^q  BG  HN  OP  BQ  BQ  R  R  af  g  g  g  h  h  h  h  hs8   &G1Q7;LQ7L""Q7%L"&EQ77Q;>Q;__main__)rs   rer   rx   pathlibr   rw   ru   rr   r   r   rq   r   r6   r:   r9   r"   r!   r*   r   r%   r-   r>   r   __name__rE   r   r   <module>r      s(   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !      [\\HH++	7	7;;      	
  
Z Z Z
6 6 6
  *h *h *hX Zr   