
    jձh                        d dl mZmZmZ d dlmZ d dlmZ d dlZd dl	Z	d dl
Z
d dlZ e            Z eddd          Zd	d
dddddddddddZdedefdZe                    d           ed          dfdedefd            ZdS )    )FastAPI
UploadFileFile)JSONResponse)WhisperModelNsmallcpuint8)devicecompute_type	iniettori	debimetrofrizionecambio automaticoFAPDPFcinghia servizicinghia distribuzione	braccetti	tagliandoolio cambiodiagnosi)r   r   r   r   fapzdp fr   r   r   r   r   r   treturnc                 p    t                                           D ]\  }}|                     ||          } | S N)	GLOSSARIOitemsreplace)r   errcorrs      /var/www/html/stt_server.pyapplica_glossarior$      s9    __&& ! !	TIIc4  H    z/stt.itfilelanguagec                   K   t           j                            t          j                    t          j                     d          }t           j                            t          j                    t          j                     d          }t          |d          5 }|                    | 	                                 d {V            d d d            n# 1 swxY w Y   	 t          j        ddd|ddd	d
|g	dt          j        t          j                   t                              ||dt          d                    \  }}d                    d |D                                                       }t#          |          }t%          d|i          ||fD ]5}t           j                            |          rt          j        |           6S # t*          $ rd}	t%          dt-          |	          id          cY d }	~	||fD ]5}t           j                            |          rt          j        |           6S d }	~	ww xY w# ||fD ]5}t           j                            |          rt          j        |           6w xY w)Nz.webmz.wavwbffmpegz-yz-iz-ac1z-ar16000T)checkstdoutstderri  )min_silence_duration_ms)r(   
vad_filtervad_parameters c              3   H   K   | ]}|j                                         V  d S r   )textstrip).0segs     r#   	<genexpr>zstt.<locals>.<genexpr>3   s.      ==S((======r%   r6   error)status_code)ospathjointempfile
gettempdiruuiduuid4openwriteread
subprocessrunDEVNULLmodel
transcribedictr7   r$   r   existsremove	Exceptionstr)
r'   r(   tmp_intmp_wavfsegmentsinfor6   pes
             r#   sttrX   !   s      W\\(-//DJLL1G1G1GHHFgll8.00TZ\\2G2G2GHHG	fd		 #q	diikk!!!!!!"""# # # # # # # # # # # # # # #/dD&%eWg
j09K	M 	M 	M 	M
 ))h4ehHiHiHi * 
 
$ xx==H=====CCEE &&VTN++ '" 	/ 	/Aw~~a  .")A,,,	/  @ @ @Wc!ff-3????????'" 	/ 	/Aw~~a  .")A,,,	/@ '" 	/ 	/Aw~~a  .")A,,,	/sC   .CCC#B4G 
I H;;I <I ;I  I <I?)fastapir   r   r   fastapi.responsesr   faster_whisperr   rG   r@   r=   rB   apprJ   r   rP   r$   postrX    r%   r#   <module>r_      sE   - - - - - - - - - - * * * * * * ' ' ' ' ' ' % % % % % % % % % % % % % % % %gii 	WU@@@ ,(4  	      &!%cD / /J /c / / / / / /r%   