+
    Pj9                         ^ RI t^ RIHt ^RIHtHt  ! R R]P                  4      t ! R R]P                  4      t	 ! R R]P                  4      t
R# )	    N)StreamingConv1dStreamingConvTranspose1dc                   d   a a ] tR t^t o^^.^^.R^3V3R lV 3R llltV3R lR ltRtVtV ;t# )SEANetResnetBlockreflectc          
      X   < V ^8  d   QhRS[ RS[S[ ,          RS[S[ ,          RS[RS[ /# )   dimkernel_sizes	dilationspad_modecompressintliststr)format__classdict__s   "r/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/pocket_tts/modules/seanet.py__annotate__SEANetResnetBlock.__annotate__   sE       3i 9	
      c                  < \         SV `  4        \        V4      \        V4      8X  g   Q R 4       hW,          p\        P                  ! . 4      p\        \        W#4      4       FZ  w  pw  rV^ 8X  d   TMTpV\        V4      ^,
          8X  d   TMTpV\        P                  ! RR7      \        WWVR7      .,          pK\  	  Wpn	        R# )z7Number of kernel sizes should match number of dilations      ?alpha)kernel_sizedilationr   N)
super__init__lennn
ModuleList	enumeratezipELUr   block)selfr
   r   r   r   r   hiddenr'   ir   r   in_chsout_chs	__class__s   &&&&&&       r   r    SEANetResnetBlock.__init__   s     	< C	N2 	
E	
2 b!*3C4P*Q&A&FSF#l"3a"77cVGS!Zb E +R 
r   c                .   < V ^8  d   QhRS[ R,          /# r	   model_stateNdict)r   r   s   "r   r   r   !   s      dTk r   c                   TpV P                    F+  p\        V\        4      '       d   V! W24      pK#  V! V4      pK-  	  VP                  VP                  8X  g)   Q VP                  VP                  VP                  34       hW,           # N)r'   
isinstancer   shape)r(   xr1   vlayers   &&&  r   forwardSEANetResnetBlock.forward!   sl    ZZE%11!)!H	  
 ww!''!>AGGQWWagg#>>!ur   )r'   	__name__
__module____qualname____firstlineno__r    r;   __static_attributes____classdictcell____classcell__r-   r   s   @@r   r   r      s4      $%a& !1v! 2  r   r   c                   n   a a ] tR t^,t o^^^ ^. RO^^^^R^3V3R lV 3R llltV3R lR ltRtVtV ;t# )SEANetEncoderr   c                l   < V ^8  d   QhRS[ RS[ RS[ RS[ RS[S[ ,          RS[ RS[ RS[ R	S[ R
S[RS[ /# r	   channels	dimension	n_filtersn_residual_layersratiosr   last_kernel_sizeresidual_kernel_sizedilation_baser   r   r   )r   r   s   "r   r   SEANetEncoder.__annotate__-   s}     < << < 	<
 < S	< < < "< < < <r   c                @  < \         SV `  4        Wn        W n        W0n        \        \        V4      4      V n        ?W@n        \        \        P                  ! V P                  4      4      V n        \        V P                  4      ^,           V n        ^p\        P                   ! \#        WV,          WjR7      .4      p\%        V P                  4       F  w  r\'        V4       F,  pV\)        W,          V^.V	V,          ^.V
VR7      .,          pK.  	  V\        P*                  ! RR7      \#        W,          W,          ^,          V^,          VV
R7      .,          pV^,          pK  	  V\        P*                  ! RR7      \#        W,          W'V
R7      .,          pWn        R# )r	   r   r   r   r   r   r   r   )r   strider   N)r   r    rJ   rK   rL   r   reversedrN   rM   r   npprod
hop_lengthr!   n_blocksr"   r#   r   r$   ranger   r&   model)r(   rJ   rK   rL   rM   rN   r   rO   rP   rQ   r   r   multr]   r*   ratiojr-   s   &&&&&&&&&&&&     r   r    SEANetEncoder.__init__-   sm    	 ""8F+,!2bggdkk23DKK(1,Xi'7XY
 "$++.HA,-%(&:A%>#0!#3Q"7!)!)  . S!$$q( %	 %	 	E AID1 /4 	FFD,iT\]
 	

 
r   c                .   < V ^8  d   QhRS[ R,          /# r0   r2   )r   r   s   "r   r   rR   k         dTk r   c                    V P                    F1  p\        V\        \        34      '       d   V! W4      pK)  V! V4      pK3  	  V# r5   )r]   r6   r   r   )r(   r8   r1   r:   s   &&& r   r;   SEANetEncoder.forwardk   s=    ZZE%/3D!EFF!)!H	  
 r   rJ   rK   rZ   r]   r[   rL   rM   rN            r	   r=   rE   s   @@r   rG   rG   ,   sB      !"( !$%!< <|  r   rG   c                   n   a a ] tR t^tt o^^^ ^. RO^^^^R^3V3R lV 3R llltV3R lR ltRtVtV ;t# )SEANetDecoderr   c                l   < V ^8  d   QhRS[ RS[ RS[ RS[ RS[S[ ,          RS[ RS[ RS[ R	S[ R
S[RS[ /# rI   r   )r   r   s   "r   r   SEANetDecoder.__annotate__u   s}     7 77 7 	7
 7 S	7 7 7 "7 7 7 7r   c                ^  < \         SV `  4        W n        Wn        W0n        WPn        ?W@n        \        \        P                  ! V P
                  4      4      V n
        \        V P
                  4      ^,           V n        \        ^\        V P
                  4      ,          4      p\        P                  ! \        W,V,          WjR7      .4      p\!        V P
                  4       F  w  rV\        P"                  ! RR7      \%        W,          W,          ^,          V^,          VR7      .,          p\'        V4       F3  pV\)        W,          ^,          V^.V	V,          ^.V
VR7      .,          pK5  	  V^,          pK  	  V\        P"                  ! RR7      \        W1WzR7      .,          pWn        R# )r	   rT   r   r   )r   rV   rU   N)r   r    rK   rJ   rL   rN   rM   r   rX   rY   rZ   r!   r[   r"   r#   r   r$   r&   r   r\   r   r]   )r(   rJ   rK   rL   rM   rN   r   rO   rP   rQ   r   r   r^   r]   _r_   r`   r-   s   &&&&&&&&&&&&     r   r    SEANetDecoder.__init__u   sp    	" "!2bggdkk23DKK(1,1DKK(()Yy(8+YZ
 "$++.HAS!($d&6!&;QR[` E ,-%(A-&:A%>#0!#3Q"7!)!)  . QJD) /. 	FFI1AU
 	
 
r   c                .   < V ^8  d   QhRS[ R,          /# r0   r2   )r   r   s   "r   r   rn      rc   r   c                    V P                    F6  p\        V\        \        \        34      '       d   V! W4      pK.  V! V4      pK8  	  V# r5   )r]   r6   r   r   r   )r(   zr1   r:   s   &&& r   r;   SEANetDecoder.forward   s@    ZZE%":<M!_``!)!H	  
 r   rf   rg   r=   rE   s   @@r   rl   rl   t   sB      !"( !$%!7 7r  r   rl   )numpyrX   torch.nnr"   convr   r   Moduler   rG   rl    r   r   <module>r{      sD      ;"		 "JEBII EP@BII @r   