+
    ~j                        ^ RI Ht ^ RIt^ RIt^ RIHtHt ^ RIH	t	 ^ RI
t^ RIt]! 4       t]P                  ! ]P                  4       RR.tRR R llt ! R	 R
4      tR# )    )annotationsN)	ExitStacknullcontext)Path@  >  c               $    V ^8  d   QhRRRRRR/# )   	force_cpuboolonnx_file_pathzPath | str | Nonereturnonnxruntime.InferenceSession )formats   "v/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/livekit/plugins/silero/onnx_model.py__annotate__r      s$      %6!    c                D   Vfe   \         P                  P                  R4      R,          p\         P                  P                  V4      p\	        \
        P                  V4      4      pM|\        V4      pVP                  4       '       g   \        RV 24      hVP                  4       '       g   \        RV 24      h\        V4      p\	        \
        P                  V4      4      p\        P                  ! 4       pVP                  RR4       VP                  RR4       ^Vn        ^Vn        \        P"                  P$                  Vn        V '       d7   R\        P(                  ! 4       9   d   \        P*                  ! VR.VR	7      pV# \        P*                  ! WER
7      pV# )Nz livekit.plugins.silero.resourceszsilero_vad.onnxz!Silero VAD model file not found: z*`onnx_file_path` specified is not a file: zsession.intra_op.allow_spinning0zsession.inter_op.allow_spinningCPUExecutionProvider)	providerssess_options)r   )	importlib	resourcesfilesas_filestr_resource_filesenter_contextr   existsFileNotFoundErroris_filer   onnxruntimeSessionOptionsadd_session_config_entryinter_op_num_threadsintra_op_num_threadsExecutionModeORT_SEQUENTIALexecution_modeget_available_providersInferenceSession)r   r   resctxpathoptssessions   &&     r   new_inference_sessionr3      sc    !!''(JKN__!!))#.?0056n-$$&&#&GGW$XYY%%''#&PQ_P`$abb.)?0056%%'D!!"CSI!!"CSI !D !D%33BBD+{/R/R/TT..344
 N ..tGNr   c                  p    ] tR t^5tR R lt]R R l4       t]R R l4       t]R R l4       tR	 R
 lt	Rt
R# )	OnnxModelc               $    V ^8  d   QhRRRRRR/# )r
   onnx_sessionr   sample_rateintr   Noner   )r   s   "r   r   OnnxModel.__annotate__6   s$     
 
(D 
SV 
[_ 
r   c               	J   Wn         W n        V\        9  d   \        R 4      hVR8X  d   RV n        ^ V n        MVR8X  d   RV n        ^@V n        \        P                  ! V\        P                  R7      V n	        \        P                  ! ^V P
                  3\        P                  R7      V n        \        P                  ! R\        P                  R7      V n        \        P                  ! ^V P
                  V P                  ,           3\        P                  R7      V n        R# )z4Silero VAD only supports 8KHz and 16KHz sample ratesr      r   i   )dtypeN)r
         )_sess_sample_rateSUPPORTED_SAMPLE_RATES
ValueError_window_size_samples_context_sizenparrayint64_sample_rate_ndzerosfloat32_context
_rnn_state_input_buffer)selfr7   r8   s   &$$r   __init__OnnxModel.__init__6   s    !
'44STT$(+D%!#DE!(+D%!#D!xx288D!T%7%7!8

K((;bjjAXX""T%>%>>?rzz
r   c                   V ^8  d   QhRR/# r
   r   r9   r   )r   s   "r   r   r;   L   s     ! !S !r   c                	    V P                   # N)rB   rP   s   &r   r8   OnnxModel.sample_rateK   s       r   c                   V ^8  d   QhRR/# rT   r   )r   s   "r   r   r;   P   s     ) )S )r   c                	    V P                   # rV   )rE   rW   s   &r   window_size_samplesOnnxModel.window_size_samplesO   s    (((r   c                   V ^8  d   QhRR/# rT   r   )r   s   "r   r   r;   T   s     " "c "r   c                	    V P                   # rV   )rF   rW   s   &r   context_sizeOnnxModel.context_sizeS   s    !!!r   c                    V ^8  d   QhRRRR/# )r
   xz
np.ndarrayr   floatr   )r   s   "r   r   r;   W   s      *  r   c                	   V P                   V P                  R RV P                  13&   WP                  R V P                  R13&   RV P                  RV P                  RV P                  /pV P
                  P                  RV4      w  q0n        V P                  R V P                  ) R13,          V n         VP                  4       # ):NNNNinputstatesr)rM   rO   rF   rN   rJ   rA   runitem)rP   rb   
ort_inputsouts   &&  r   __call__OnnxModel.__call__W   s    6:mm12 2 2223671d00223 T''T__$&&


  $zz~~dJ?_**1t/A/A.A.C+CDxxzr   )rM   rF   rO   rN   rB   rJ   rA   rE   N)__name__
__module____qualname____firstlineno__rQ   propertyr8   r[   r_   rl   __static_attributes__r   r   r   r5   r5   5   sM    
* ! ! ) ) " " r   r5   rV   )
__future__r   atexitimportlib.resourcesr   
contextlibr   r   pathlibr   numpyrG   r$   r   registercloserC   r3   r5   r   r   r   <module>r|      sQ    #   -   + %% &  B- -r   