
    vj'                         d dl Z d dlmZmZmZmZ d dlmZ d dlm	Z	 d dl
mZmZ ddlmZ ddlmZ d	gZ ej        ej        ej        
           G d d	e                      ZdS )    N)AnyDictListUnion)Preprocessors)Model)Fields
Frameworks   )Preprocessor)PREPROCESSORSWavToScp)module_namec                   (   e Zd ZdZd Z	 	 	 	 	 ddedededeeef         de	d	e
eef         fd
Zde
eef         dededeeef         de	de
eef         d	e
eef         fdZde
eef         d	e
eef         fdZde
eef         d	e
eef         fdZdS )r   z(generate audio scp from wave or ark
    c                     d S )N )selfs    l/lsinfo/ai/hellotax_ai/data_center/backend/venv/lib/python3.11/site-packages/modelscope/preprocessors/asr.py__init__zWavToScp.__init__   s        Nmodel
recog_typeaudio_formataudio_inaudio_fsreturnc                     |
J d            |t          |          dk    s
J d            |
J d            |
J d            || _        |                     | j                                        ||||          }|S )Nzpreprocess model is emptyr   preprocess recog_type is empty preprocess audio_format is emptyzpreprocess audio_in is empty)lenam_modelforward)r   r   r   r   r   r   outs          r   __call__zWavToScp.__call__   s       "=   %#+ ++ + +=+ + '')K'''##%C###ll4=0022J#X/ /
r   cmdc                    t          |          dk    s
J d            t          |          dk    s
J d            t          |d                   dk    s
J d            t          |d                   dk    s
J d            t          j                            |d                   s
J d            t          |d	                   dk    s
J d
            t          j                            |d	                   s
J d            t          |d                   dk    s
J d            |d	         |d	<   |d         |d<   |d         |d<   ||d<   ||d<   |d         |d<   ||d<   d|d         v r|d         d         }nd }t	          |t
                    r||d<   |dk    r|                     |          }|                     |          }|S )Nr   r   r   r!   z#preprocess model[am_model] is emptyam_model_pathz(preprocess model[am_model_path] is emptyz'preprocess am_model_path does not existmodel_workspacez*preprocess model[model_workspace] is emptyz)preprocess model_workspace does not existmodel_configz'preprocess model[model_config] is emptyr   r   r   	code_basewav_pathfunasr)r    ospathexists
isinstancestrconfig_checkingenv_setting)r   r   r   r   r   r   r%   r*   s           r   r"   zWavToScp.forward)   sq    :"""$D"""<  1$$$&H$$$* !"# # #$I# # #5)    D  w~~/"$ $ 	O 	O%N	O 	O $5*+    F  w~~e$56     	M 	M!L	M 	M  5(    C   "''8!9
+J$_5O&L*N#N3N"J#n---N+K8IIIh$$ 	'&C
O  &&s++Cs##
r   inputsc                 	   |d                              d          s
J d            |d         d         |d<   d|d         v r|d         d         }nd}||d<   d|d         v r|d         d         }nd}||d<   d|d         v r|d         d         |d	<   nd
|d	<   |d         t          j        k    r|d                              d          s
J d            |d                              d          rat          j                            |d         |d         d                   }t          j                            |          s
J d            ||d<   nd|d<   |d                              d          rat          j                            |d         |d         d                   }t          j                            |          s
J d            ||d<   nd}d|d<   d|d         v r\t          j                            |d         |d         d                   }t          j                            |          s
J d            n|d         }d|d         v r3t          j                            |d         |d         d                   }nd}d|d         v r3t          j                            |d         |d         d                   }nd}|rK|rIt          j                            |          r*t          j                            |          r||d<   ||d<   n
d|d<   d|d<   d|v r#|d         dk    s|d         dk    r||d<   n||d<   |d                              d          r`t          j                            |d         |d         d                   }	t          j                            |	          s
J d            |	|d<   n1|d         t          j        k    r|d                              d          s
J d            t          j                            |d         |d         d                   }
t          j                            |
          s
J d            |
|d<   |d                              d           s
J d!            t          j                            |d         |d         d                    }t          j                            |          s
J d"            ||d <   nt          d#          |S )$zconfig checking
        r)   typezmodel type does not exist
model_typer*   Nmodelang
model_langzh-cn
batch_sizezbatch_size does not existam_model_configr(   zam_model_config does not exist asr_model_configzasr_model_config does not existasr_model_wav_configz#asr_model_wav_config does not existlm_model_namelm_model_configlm_model_pathr   wavpcmmvn_filezmvn_file does not exist
vocab_filezvocab_file does not existzvocab file does not existam_mvn_filezam_mvn_file does not existzam mvn file does not existzmodel type is mismatched)	__contains__r
   torchr-   r.   joinr/   tf
ValueError)r   r4   r*   r8   r=   r?   r@   rC   rB   rF   rG   rH   s               r   r2   zWavToScp.config_checkingP   s    n%22  	1 	10	1 	1 %n5f=|&000~.{;III'{VN+++.)&1DDDvVN+++#).#9&#AF<  #*F< ,:#333.)66  ; ;:; ;  n%223DEE /"$',,,->*+<=#? #? w~~#% % G G&FG G %,;()),.()n%223EFF 	0#%7<<,->*+=>$@ $@  w~~$& & I I'HI I &-=)**#% -/)*%)???,.GLL,->*+AB-D -D$ w~~&: ( ( O O)NO O ( O -33E,F$ &"888 ",->*?;!= != !% F>$:::"$',,,->*+<=#? #? #' 1 1RW^^!6# 6# 1')w~~o'F'F1*7',;())*.',0()''.)U22f&7(+071 711EF-..1AF-.n%22:>> .7<</@(A(.~(>z(JL Lw~~h//JJ1JJJ/%-z"L!Z]22.)66  ; ;:; ;  gll()~&|46 6J 7>>*--JJ/JJJ-#-F< .)66  = = <= = !w||()~&}5 7  7K 7>>+..LL0LLL.$/F=!! 7888r   c                    |d         dk    r!|d         |d<   |d         dk    rt           j                            |d         d|d                   |d<   t           j                            |d         dd          |d<   t           j                            |d                   s
J d	            n|d         d
k    rt           j                            |d         |d                   |d<   t           j                            |d         d          |d<   t           j                            |d                   s
J d	            n|d         dk    rt           j                            |d         |d                   |d<   t           j                            |d         d          |d<   t           j                            |d                   s
J d	            t           j                            |d         d          |d<   t           j                            |d                   s
J d            d|d         v r|d         d         |d<   nd|d<   |S )Nr   rD   r+   datasets_pathr   
transcriptz	data.textreference_textzreference text does not exist	kaldi_arktfrecordzdata.txtzdata.idxidx_textzidx text does not existr9   r)   r:   r;   )r-   r.   rK   r/   )r   r4   s     r   r3   zWavToScp.env_setting   s   ,5((&,Z&8F?# n%..%'W\\&2I279M&O &Oz"+-7<<?+\;,H ,H'(w~~+,. . O O/NO O . O ';66%'W\\&2I282F&H &Hz"+-7<<:&,5 ,5'(w~~+,. . O O/NO O . O ':55%'W\\&2I282F&H &Hz"+-7<<:&
,4 ,4'(w~~+,. . O O/NO O .%'W\\&2D2<&> &>z"w~~:&( ( C C)BC C ( VN+++#).#9&#AF<  #*F< r   )NNNNN)__name__
__module____qualname____doc__r   r   r1   r   bytesintr   r   r$   r"   r2   r3   r   r   r   r   r      sw           !%#'%)/3!%    # !e,	
 
 +/sCx.   "%T#s(^ % %!%-23:->%JM%#s(^%(,S#X% % % %Nod38n oc3h o o o ob)$sCx. )T#s(^ ) ) ) ) ) )r   )r-   typingr   r   r   r   modelscope.metainfor   modelscope.models.baser   modelscope.utils.constantr	   r
   baser   builderr   __all__register_moduleaudio
wav_to_scpr   r   r   r   <module>re      s   
			 ) ) ) ) ) ) ) ) ) ) ) ) - - - - - - ( ( ( ( ( ( 8 8 8 8 8 8 8 8       " " " " " ", 
Lm68 8 8Y Y Y Y Y| Y Y8 8Y Y Yr   