
    `j                     6   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e
                                          j        d         ZdZdZedz                                  Zd dlZ ej        ddd	 ee          gd
d
d
          Z ej        edz                                            Z ej        edz                                            d         ed         dZed         Zd  ed  ee          d          D             Z ej        ed          ej        d eD                       z                                                                             Z edz  Z!edz  Z"e"#                    d
d
           e!$                                r" ej        e!                                          ni Z%e%&                    d          e k    se%&                    d          ed         k    re ed         i dZ%d Z' e(e          D ]5\  Z)Z* ee)dz             Z+e"de)dz   ddz  Z,e%&                    di           &                    e+          Z-e-re,$                                rne-&                    d            e'e,          k    rLe-&                    d           ej        e*                                                                          k    rej.        /                    e*ed!                                          Z0ej1        2                    ej1        3                    ed"z   e0d#$          d%&          5 Z4e,5                    d'          Z6e67                    e48                                           ddd           n# 1 swxY w Y    ej9        e6e,            e'e,           ej        e*                                                                          e,:                                j;        ed(e%<                    di           e+<   e!=                     ej        e%d)d*+          d,z              7ed-z  Z>e>=                    d,?                    d.  e@e"A                    d/                    D                       d,z              ed0z  ZB ej        d1d2d3d4d5d6d7 ee>          d8d9 eeB          gd
ejC        ejC        :            ejD        d;d<d=d>d?d@dA eeB          gd
B          ZEdCd
dDed"eeed          ee           eeB           e'eB          eB:                                j;         ej        eE          dEZFedFz  =                     ej        eFd)d*+          d,z               eG ej        eFd)G                     dS )H    )PathN   zhttp://192.168.40.33:7862zngoc-huyen-vbeezstory/spoken-narration.txtpython3z`/home/hermes/.hermes/skills/audio-production/gac-mai-audio/scripts/validate_tts_text_contract.pyz--project-rootT)checkcapture_outputtextzlog/tts-pronunciation.jsonzscript/story-brief.jsonfamily_lock_sha256spoken_narration_sha256)r	   spoken_sha256c                 2    g | ]}t           ||d z            S )  )spoken).0is     script/run-tts-sequential.py
<listcomp>r      s%    BBBF1QtV8BBB    r   r   c                 ~    g | ]:}t          j        |                                                                          ;S  )hashlibsha256encode	hexdigest)r   xs     r   r   r      s<    D~D~D~pqW^TUT\T\T^T^E_E_EiEiEkEkD~D~D~r   zlog/tts-state.jsonzaudio/segments)parentsexist_ok	plan_hashinput_sha256)r   r   segmentsc                    t          j                    }|                     d          5 t          fdd          D ]}|                    |           	 d d d            n# 1 swxY w Y   |                                S )Nrbc                  .                          d          S )Ni   )read)fs   r   <lambda>zsha.<locals>.<lambda>   s    !&&"5"5 r   r   )r   r   openiterupdater   )pathhblockr$   s      @r   shar,      s    A	4 A5555s;; 	 	EHHUOOOO	               ;;==s   ,A##A'*A'zsegment-02dz.wavr   r   )r   voicez/ttsPOST)datamethodi,  )timeoutz	.wav.part)r   r   bytesr	   F   )ensure_asciiindent
zaudio/segments.txtc              #   F   K   | ]}d |                                  dV  dS )zfile ''N)as_posix)r   ps     r   	<genexpr>r<   2   s6      dd4QZZ\\444ddddddr   zsegment-*.wavzaudio/story-full.wavffmpegz-yz-fconcatz-safe0z-iz-ccopy)r   stdoutstderrffprobez-verrorz-show_streamsz-show_formatz-ofjson)r   	completedzpiper-wrapper)statusverifiedproviderbase_urlendpointr.   r	   input_text_sha256segment_countoutput_pathartifact_sha256artifact_bytesprobezlog/tts.json)r5   )Hpathlibr   r   rE   os
subprocessurllib.requesturlliburllib.parsewave__file__resolver   ROOTBASEVOICE	read_textr   runstr	validatorloadslineage	preflightfamily_hashrangelenr   r   dumpsr   r   r   
state_pathout_dirmkdirexistsstategetr,   	enumerater   r   keytargetoldparse	urlencodepayloadrequesturlopenRequestrwith_suffixpartwrite_bytesr#   replacestatst_size
setdefault
write_textr>   joinsortedglobfullDEVNULLcheck_outputrQ   receiptprintr   r   r   <module>r      s           				             tH~~'*"
-
-	8	8	:	:    JNI  (J  L\  ^a  ^a  bf  ^g  ^g  h  pt  EI  PT  U  U  U	
$*d99DDFF
G
G#-4:t6O/O.Z.Z.\.\#]#]^r#s  GN  Oh  Gi  j  j	,-BBeeAss6{{D&A&ABBBGNIo6D~D~u}D~D~D~99  H  H  J  J  K  K  U  U  W  W	((

!
! dT * * *.8.?.?.A.AI

:''))***r99[Y&&%))N*C*CyQ`Ga*a*a#Y5O]_``E   y"" R RGAt
#a!e**C/!A#/////F
))J
#
#
'
'
,
,C
 v}} 3778#4#4F#C#CP^H_H_cqcjcqrvr}r}rr  dA  dA  dK  dK  dM  dM  IM  IMl$$dU%C%CDDKKMMG			 6 6tf}7[a 6 b blo		p	p #tu!!+.."""# # # # # # # # # # # # # # # BJtV7:s6{{TbT[TbcgcncncpcpTqTqT{T{T}T}  IO  IT  IT  IV  IV  I^  vA  -B  -BEZ$$S)*$*UqIIIDPQQQQ	$	$   $))ddffW\\RaEbEb>c>cdddddgkk l l l$$ 
$hdCCKKQUW]_b_bcg_h_hiqu  I  Q  Zd  Zl  m  m  m  m
D'?N\aciknknosktkt u  }A  	B  	B  	B d]aou  AF  ^i  @I  JY  @Z  mp  mp  qy  mz  mz  KN  KN  OS  KT  KT  il  il  mq  ir  ir  FJ  FO  FO  FQ  FQ  FY  dn  dh  dn  ot  du  du  v  v " ":4:gERS#T#T#TW[#[ \ \ \ jdju--- . . . . .s   =NN	N	