
    9i'                         S SK r S SKJrJrJrJr  S SKJr  S SKJ	r	  S SK
JrJr  SSKJr  SSKJr  S	/r\R$                  " \R&                  \R(                  S
9 " S S	\5      5       rg)    N)AnyDictListUnion)Preprocessors)Model)Fields
Frameworks   )Preprocessor)PREPROCESSORSWavToScp)module_namec                       \ rS rSrSrS r     SS\S\S\S\\\	4   S	\
S
\\\4   4S jjrS\\\4   S\S\S\\\	4   S	\
S\\\4   S
\\\4   4S jrS\\\4   S
\\\4   4S jrS\\\4   S
\\\4   4S jrSrg)r      z(generate audio scp from wave or ark
    c                     g )N )selfs    \/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/modelscope/preprocessors/asr.py__init__WavToScp.__init__   s        Nmodel
recog_typeaudio_formataudio_inaudio_fsreturnc                     Uc   S5       eUb  [        U5      S:  d   S5       eUc   S5       eUc   S5       eXl        U R                  U R                  R                  5       X#XE5      nU$ )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__WavToScp.__call__   s      ="== %#++ 	>=	> 'K)KK'#C%CC#ll4==002J#/
r   cmdc                    [        U5      S:  d   S5       e[        U5      S:  d   S5       e[        US   5      S:  d   S5       e[        US   5      S:  d   S5       e[        R                  R                  US   5      (       d   S5       e[        US	   5      S:  d   S
5       e[        R                  R                  US	   5      (       d   S5       e[        US   5      S:  d   S5       eUS	   US	'   US   US'   US   US'   X&S'   X6S'   US   US'   XVS'   SUS   ;   a	  US   S   nOS n[	        U[
        5      (       a  XFS'   US:w  a  U R                  U5      nU R                  U5      nU$ )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$   WavToScp.forward)   s    :"D$DD"< 1$H&HH$*!"# 	J$I	J #5)  	ED	E ww~~/"$ $ 	O%N	O $5*+  	GF	G ww~~e$56     	M!L	M  5(  	DC	D  "''8!9
+J$_5O&L*N#N3N"J#n--N+K8IIh$$&
O &&s+Cs#
r   inputsc                    US   R                  S5      (       d   S5       eUS   S   US'   SUS   ;   a	  US   S   nOSnX!S'   SUS   ;   a	  US   S   nOSnX1S'   SUS   ;   a  US   S   US	'   OS
US	'   US   [        R                  :X  Ga  US   R                  S5      (       d   S5       eUS   R                  S5      (       aY  [        R                  R                  US   US   S   5      n[        R                  R                  U5      (       d   S5       eXAS'   OSUS'   US   R                  S5      (       aY  [        R                  R                  US   US   S   5      n[        R                  R                  U5      (       d   S5       eXQS'   OSnSUS'   SUS   ;   aU  [        R                  R                  US   US   S   5      n[        R                  R                  U5      (       d   S5       eOUS   nSUS   ;   a*  [        R                  R                  US   US   S   5      nOSnSUS   ;   a*  [        R                  R                  US   US   S   5      nOSnU(       aX  U(       aQ  [        R                  R                  U5      (       a-  [        R                  R                  U5      (       a	  XqS'   XS'   O
SUS'   SUS'   SU;   a  US   S:X  d	  US   S:X  a  XaS'   OXQS'   US   R                  S5      (       aX  [        R                  R                  US   US   S   5      n	[        R                  R                  U	5      (       d   S5       eXS'   U$ US   [        R                  :X  a  US   R                  S5      (       d   S5       e[        R                  R                  US   US   S   5      n
[        R                  R                  U
5      (       d   S5       eXS'   US   R                  S 5      (       d   S!5       e[        R                  R                  US   US   S    5      n[        R                  R                  U5      (       d   S"5       eXS '   U$ [        S#5      e)$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
   torchr0   r1   joinr2   tf
ValueError)r   r8   r-   r<   rA   rC   rD   rG   rF   rJ   rK   rL   s               r   r5   WavToScp.config_checkingP   s    n%22  	10	1 %n5f=|&00~.{;II'{VN++.)&1DDvVN++#).#9&#AF< #*F< ,:#3#33.)66  ;:;  n%223DEE"$'',,,->*+<=#? ww~~#% % G&FG %,;(),.()n%223EFF#%77<<,->*+=>$@  ww~~$& & I'HI &-=)*#% -/)*%)??,.GGLL,->*+AB-D$ ww~~&: ( ( O)NO ( -33E,F$ &"88 ",->*?;!= !% F>$::"$'',,,->*+<=#? #'RWW^^!6# 6#')ww~~o'F'F*7',;()*.',0()'.)U2f&7(+0711E-.1A-.n%22:>>77<</@(A(.~(>z(JLww~~h//J1JJ/%-z", ) L!Z]]2.)66  ;:;  ggll()~&|46J 77>>*--J/JJ-#-< .)66  = <= !ww||()~&}5 7K 77>>+..L0LL.$/=!
  788r   c                 6   US   S:w  Ga  US   US'   US   S:X  a  [         R                  R                  US   SUS   5      US'   [         R                  R                  US   SS5      US'   [         R                  R                  US   5      (       d   S	5       eGOaUS   S
:X  a~  [         R                  R                  US   US   5      US'   [         R                  R                  US   S5      US'   [         R                  R                  US   5      (       d   S	5       eOUS   S:X  a  [         R                  R                  US   US   5      US'   [         R                  R                  US   S5      US'   [         R                  R                  US   5      (       d   S	5       e[         R                  R                  US   S5      US'   [         R                  R                  US   5      (       d   S5       eSUS   ;   a  US   S   US'   U$ SUS'   U$ )Nr   rH   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 existr=   r,   r>   r?   )r0   r1   rO   r2   )r   r8   s     r   r6   WavToScp.env_setting   sN   ,5(&,Z&8F?# n%.%'WW\\&2I279M&Oz"+-77<<?+\;,H'(ww~~+,. . O/NO . ';6%'WW\\&2I282F&Hz"+-77<<:&,5'(ww~~+,. . O/NO . ':5%'WW\\&2I282F&Hz"+-77<<:&
,4'(ww~~+,. . O/NO .%'WW\\&2D2<&>z"ww~~:&( ( C)BC ( VN++#).#9&#AF<   $+F< r   )r#   )NNNNN)__name__
__module____qualname____firstlineno____doc__r   r   r4   r   bytesintr   r   r&   r$   r5   r6   __static_attributes__r   r   r   r   r      s    !%#'%)/3!%   # !e,	
 
 +/sCx."%T#s(^ % %!%-23:->%JM%#s(^%(,S#X%Nod38n oc3h ob)$sCx. )T#s(^ )r   )r0   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>rm      s^    
 ) ) - ( 8  ", 
LLm668Y| Y8Yr   