
    z.j                         d dl Z d dlZd dlZd dlmZ  ed          ZdZdZedz  Z	edz  Z
edz  Zed	z  Zd
 ZddZd Zd Zedk    r e             dS dS )    N)PathzH/data/video-pipeline/Youtube-Video-Maker/Project/05062026-001-Phung-Hungz-http://192.168.1.103:8001/transcribe-and-savez http://192.168.1.103:8001/healthzaudio/master_narration.wavzaudio/master_audio_probe.jsonz)subtitles/master_narration_asr_words.jsonz$logs/step10_asr_master_manifest.jsonc                 R    t          t          j        d          | z   d           d S )Nz%Y-%m-%d %H:%M:%S T)flush)printtimestrftime)msgs    !scripts_run_step_10_asr_master.pylogr      s+    	$-,
-
-
34@@@@@@      c                    |d n(t          j        |d                              d          }t          j                            | ||ddini |dnd          }t          j                            ||	          5 }t          j        |                                	                    d                    cd d d            S # 1 swxY w Y   d S )
NFensure_asciiutf-8zContent-Typezapplication/jsonPOSTGET)dataheadersmethodtimeout)
jsondumpsencodeurllibrequestRequesturlopenloadsreaddecode)urlpayloadr   r   reqresps         r
   	post_jsonr'      s   ?44
7(O(O(O(V(VW^(_(_D
.
 
 8?8K!344QS ,vv%	 !  C 
		W		5	5 7z$))++,,W55667 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7s   <9CC	Cc                 l   g }|                      dg           pg D ]\}|                     dg           pg D ]A}|                     d          *|                     d          |                    |           B]|s:t          |                      d          t                    rd | d         D             }|S )Nsegmentswordsstartendc                 f    g | ].}|                     d           |                     d          ,|/S )r+   Nr,   )get).0ws     r
   
<listcomp>z!collect_words.<locals>.<listcomp>'   s7    dddqAEE'NN,F155QV<<KcKcKcKcr   )r.   append
isinstancelist)docr*   segwords       r
   collect_wordsr8       s    Ewwz2&&," # #GGGR((.B 	# 	#Dxx  ,%1LT"""	#  eZ 0 0$77 eddCLdddLr   c                  l   t                                           st          dt                      t                                          st          dt                     t	          j        t                              d                    } t          j        	                    dd           t          j        	                    dd           t          t          d d          }t          t                     t          t                    d	d
dd}t          dt           dt            dt           d           t          t          |d          }t                                          s1t                              t	          j        |dd          d           t	          j        t                              d                    }t%          |          }|                    dg           pg }g }|s|                    d           |s|                    d           d}t+          |          D ]\  }	}
t-          |
                    d                    }t-          |
                    d                    }||k     r|                    d|	             n#||k     r|                    d|	             n|}|sdnd}|                    d          p@|                    d          p+|                    d          p|                    d          pd }t.          j        d!|t          |t          t                     |                     d"          t          t                    dd	t3          |          t3          |          t3          |          |d#d$}t                              t	          j        |dd          d           |r%t          d%d&                    |          z             t          d't	          j        |t3          |          t3          |          d(d)          z              d S )*NzMissing master audio: zMissing Step 9 probe json: r   )encodingT)parentsexist_ok   r   vi
transcribe)
input_pathoutput_pathlanguagetaskword_timestampszPOST z input=z output=z word_timestamps=truei   F   )r   indentr)   zASR output has no segmentsz!ASR output has no word timestampsg      r+   r,   z+word timestamps are not monotonic at index zword end before start at index 	completedfailed_validationtext
transcript 
   master_duration_seczmASR transcript is for timing only; subtitle display text must come from original scene.narration/source text.)
project_idstepstatusendpointhealthinput_audio_pathprobe_duration_secoutput_asr_jsonword_timestamps_requestedrB   segments_countwords_counttranscript_charsvalidation_errorsnotezASR validation failed: z; zDONE )rP   r)   r*   r   )MASTER_AUDIOexists
SystemExit
PROBE_JSONr   r    	read_text
ASR_OUTPUTparentmkdirMANIFESTr'   HEALTH_ENDPOINTstrr   ENDPOINT
write_textr   r8   r.   r2   	enumeratefloatPROJECTnamelenjoin)proberR   r$   responseasr_docr*   r)   rZ   previr7   r+   r,   rP   rJ   manifests                   r
   mainru   +   s      B@,@@AAA ECzCCDDDJz++W+==>>ED4888O$666b999F,'': G XXXXXzXXXYYY7D999H ddjaPPP[bcccj--w-??@@G'""E{{:r**0bH ?  !=>>> F  !DEEEDU## 	 	4dhhw''((DHHUOO$$4<<$$%VST%V%VWWWE;;$$%Jq%J%JKKKE 1J[[7JFV$$}L(A(A}X\\RXEYEY}]e]i]ijv]w]w}{}Jl--#ii(=>>z??%)h--5zz
OO. H" 
8%JJJU\]]] S2TYY?P5Q5QQRRR$*CMMTWX]T^T^__nsttttuuuuur   __main__)Nr   )r   r   urllib.requestr   pathlibr   rk   rg   re   r\   r_   ra   rd   r   r'   r8   ru   __name__ r   r
   <module>r{      s               
$Y
Z
Z:45566
BB
;;A A A	7 	7 	7 	7  Ev Ev EvP zDFFFFF r   