+
    œ°³j¬L  ã                   ó  € ^ RI t^ RIHt ^RIHtHt ^RIHt ^RI	H
t
 ^RIHt ^RIHtHtHtHtHtHtHt ^RIHtHt ^R	IHt ^R
IHt ^RIHtHtHtH t H!t! ]! 4       '       d   ^ RI"t"^ RI#H$u H%t& ]! 4       '       d   ^ RI't']PP                  ! ])4      t*]! RR7      ] ! R R]4      4       4       t+ ! R R] 4      t, ! R R]4      t- ! R R]4      t. ! R R]!4      t/]! RR7       ! R R]4      4       t0 ! R R]4      t1. ROt2R# )é    N)Ústrict)Ú
AudioInputÚmake_list_of_audio)ÚBatchFeature)Úcreate_bidirectional_mask)ÚUnpack)ÚPaddingStrategyÚ
TensorTypeÚTransformersKwargsÚauto_docstringÚcan_return_tupleÚis_torch_availableÚlogging)Úis_torchaudio_availableÚrequires)ÚXcodec2Config)ÚXcodec2FeatureExtractor)ÚXcodec2DecoderOutputÚXcodec2EncoderOutputÚXcodec2ModelÚXcodec2OutputÚXcodec2PreTrainedModelzneuphonic/neucodec)Ú
checkpointc                   ó‚   a € ] tR t^6t o RtRtRtRt]! 4       t	]
V 3R lR l4       t]
V 3R lR l4       tV 3R	 ltR
tV tR# )ÚNeuCodecConfigaq  
downsampling_ratios (`list[int]`, *optional*, defaults to `[2, 2, 4, 4, 5]`):
    Ratios for downsampling in the encoder.
semantic_model_config (`Union[Dict, Wav2Vec2BertConfig]`, *optional*):
    An instance of the configuration object for the semantic (Wav2Vec2BertConfig) model.
quantization_dim (`int`, *optional*, defaults to 2048):
    Dimension for the vector quantization codebook.
quantization_levels (`list[int]`, *optional*, defaults to `[4, 4, 4, 4, 4, 4, 4, 4]`):
    Levels for the vector quantization codebook.
input_sampling_rate (`int`, *optional*, defaults to 16000):
    Sampling rate, in hertz (Hz), of the encoder's input audio waveform.
output_sampling_rate (`int`, *optional*, defaults to 24000):
    Sampling rate, in hertz (Hz), of the decoder's output audio waveform.

Example:

```python
>>> from transformers import NeuCodecConfig, NeuCodecModel

>>> # Initializing configuration
>>> configuration = NeuCodecConfig()

>>> # Initializing a model (with random weights) from the configuration
>>> model = NeuCodecModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```Úneucodeci€>  iÀ]  c                ó    <€ V ^8„  d   QhRS[ /# ©é   Úreturn©Úint)ÚformatÚ__classdict__s   "€Ún/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/neucodec/modular_neucodec.pyÚ__annotate__ÚNeuCodecConfig.__annotate__\   s   ø€ ÷ 6ñ 6¡Cñ 6ó    c                óT   € \        \        P                  ! V P                  4      4      # )zhHop length, in samples at `input_sampling_rate`, between successive codes (i.e. the encoder frame rate).)r"   ÚnpÚprodÚdownsampling_ratios©Úselfs   &r%   Úencoder_hop_lengthÚ!NeuCodecConfig.encoder_hop_length[   s   € ô ”2—7’7˜4×3Ñ3Ó4Ó5Ð5r(   c                ó    <€ V ^8„  d   QhRS[ /# r   r!   )r#   r$   s   "€r%   r&   r'   a   s   ø€ ÷ cñ c™Cñ cr(   c                óp   € \        V P                  V P                  ,          V P                  ,          4      # ©N)r"   r/   Úoutput_sampling_rateÚinput_sampling_rater-   s   &r%   Ú
hop_lengthÚNeuCodecConfig.hop_length`   s+   € ô �4×*Ñ*¨T×-FÑ-FÕFÈ×IaÑIaÕaÓbÐbr(   c                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   # )r   r5   r4   r!   )r#   r$   s   "€r%   r&   r'   6   s#   ø‡ ‚ ñB Ñ%ñC ñD Ñ&òE r(   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typer5   r4   ÚAttributeErrorÚsampling_rateÚpropertyr/   r6   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r$   s   @r%   r   r   6   sU   ø‡ € ñð: €JØ%ÐØ &ÐÙ"Ó$€Mà÷6ó ð6ð ÷có ðc÷W ƒ r(   r   c                   ó   € ] tR t^gtRtR# )ÚNeuCodecOutputr9   N©r:   r;   r<   r=   rD   r9   r(   r%   rH   rH   g   ó   † Ûr(   rH   c                   ó   € ] tR t^ktRtR# )ÚNeuCodecEncoderOutputr9   NrI   r9   r(   r%   rL   rL   k   rJ   r(   rL   c                   ó   € ] tR t^otRtR# )ÚNeuCodecDecoderOutputr9   NrI   r9   r(   r%   rN   rN   o   rJ   r(   rN   c                   ó   € ] tR t^stRtR# )ÚNeuCodecPreTrainedModelr9   NrI   r9   r(   r%   rP   rP   s   rJ   r(   rP   z"NeuCodec neural audio codec model.)Úcustom_introc                   ó¼   a a€ ] tR t^wt oV3R lV 3R llt]]R
V3R lR ll4       4       t]]RV3R lR ll4       4       t]]R
V3R lR ll4       4       t	R	t
VtV ;t# )ÚNeuCodecModelc                ó    <€ V ^8„  d   QhRS[ /# )r   Úconfig)r   )r#   r$   s   "€r%   r&   ÚNeuCodecModel.__annotate__y   s   ø€ ÷ fñ f™~ñ fr(   c                óŒ   <€ \         SV `  V4       VP                  V n        VP                  VP
                  ,          V n        R # r3   )ÚsuperÚ__init__r/   r6   r4   r5   Úsample_rate_conversion_factor)r.   rU   Ú	__class__s   &&€r%   rY   ÚNeuCodecModel.__init__y   s8   ø€ Ü‰Ñ˜Ô ð !×3Ñ3ˆŒØ-3×-HÑ-HÈ6×KeÑKeÕ-eˆÖ*r(   c                óÐ   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  R,          RS[ P                  R,          RS[RS[S[,          RS[S[,          /# ©	r   Úinput_valuesÚinput_featuresÚpadding_maskNÚinput_features_maskÚoutput_latentsÚkwargsr    )ÚtorchÚTensorÚboolr   r   ÚtuplerL   )r#   r$   s   "€r%   r&   rV   ƒ   sw   ø€ ÷ :
ñ :
á—l‘lð:
ñ Ÿ™ð:
ñ —l‘l TÕ)ð	:
ñ
 #Ÿ\™\¨DÕ0ð:
ñ ð:
ñ Ñ+Õ,ð:
ñ 
Ñ&Õ	&ñ:
r(   c                ó   € \         P                  ! 4       ;_uu_ 4        V P                  W$R7      pRRR4       XP                  P	                  ^^4      pV P                  V4      pV P                  V4      p	\        V	P                  R	,          VP                  R	,          4      p
V	RRV
13,          p	VRRV
13,          p\         P                  ! W‰.^R7      pV P                  VP	                  ^^4      4      pV P                  V4      w  rÍVP	                  ^^4      pVP	                  ^^4      pRpVe™   VP                  R	RR7      pWðP                  ,          pWðP                  ,          p\         P                  ! VP                  R	,          VP                   R7      P#                  ^R	4      pVV8  P%                  VP&                  4      p\)        TV'       d	   VVR7      # RVR7      #   + '       g   i     ELÄ; i)
a°  
input_values (`torch.Tensor` of shape `(batch_size, 1, sequence_length)`):
    Input audio waveform.
input_features (`torch.Tensor` of shape `(batch_size, mel_bins, time_steps)`):
    Input audio mel spectrogram for semantic encoding.
padding_mask (`torch.Tensor` of shape `(batch_size, 1, sequence_length)`):
    Padding mask used to pad `input_values`.
input_features_mask (`torch.Tensor` of shape `(batch_size, time_steps)`, *optional*):
    Attention mask for the spectrogram input to the semantic encoder. `1` for valid frames, `0` for padding.
output_latents (`bool`, *optional*, defaults to `False`):
    Whether to return the continuous latent representation from the quantizer.
)Úattention_maskN.©ÚdimT)rl   Úkeepdim)Údevice)Úaudio_codesÚlatentsÚaudio_codes_maskéÿÿÿÿ)re   Úno_gradÚsemantic_encoderÚlast_hidden_stateÚ	transposeÚsemantic_adapterÚacoustic_encoderÚminÚshapeÚcatÚ
fc_encoderÚ	quantizerÚsumrZ   r6   Úarangern   ÚviewÚtoÚdtyperL   )r.   r_   r`   ra   rb   rc   rd   Úsemantic_outputÚsemantic_hidden_statesÚacoustic_hidden_statesÚ
min_lengthÚhidden_statesrp   ro   rq   Úaudio_lengthÚtoken_lengthÚidxs   &&&&&&,           r%   ÚencodeÚNeuCodecModel.encode�   s×  € ô2 �]Š]�_�_Ø"×3Ñ3°NÐ3ÓgˆO÷ à!0×!BÑ!B×!LÑ!LÈQÐPQÓ!RÐØ!%×!6Ñ!6Ð7MÓ!NÐð "&×!6Ñ!6°|Ó!DÐô Ð/×5Ñ5°bÕ9Ð;Q×;WÑ;WÐXZÕ;[Ó\ˆ
Ø!7¸¸[¸j¸[Ð8HÕ!IÐØ!7¸¸[¸j¸[Ð8HÕ!IÐäŸ	š	Ð#9Ð"RÐXYÔZˆØŸ™¨×(?Ñ(?ÀÀ1Ó(EÓFˆð  $Ÿ~™~¨mÓ<ÑˆØ×#Ñ# A qÓ)ˆØ!×+Ñ+¨A¨qÓ1ˆð  ÐØÒ#Ø'×+Ñ+°¸DÐ+ÓAˆLØ'×*LÑ*LÕLˆLØ'¯?©?Õ:ˆLÜ—,’,˜{×0Ñ0°Õ4¸\×=PÑ=PÔQ×VÑVÐWXÐZ\Ó]ˆCØ # lÑ 2×6Ñ6°|×7IÑ7IÓJÐä$Ø#ß-�GØ-ô
ð 	
à37Ø-ô
ð 	
÷? �_ˆ_ús   žG,Ç,G=	c                ó¾   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[,          /# )r   ro   Nrp   rq   rd   r    )re   rf   r   r   rh   rN   )r#   r$   s   "€r%   r&   rV   Á   sd   ø€ ÷  ?ñ  ?á—\‘\ DÕ(ð ?ñ —‘ Õ$ð ?ñ  Ÿ,™,¨Õ-ð	 ?ñ
 Ñ+Õ,ð ?ñ 
Ñ&Õ	&ñ ?r(   c                ó  € Vf   Vf   \        R4      hVe-   V P                  P                  VP                  ^^4      4      pMVP                  ^^4      p\	        V P
                  VVR7      pV P                  ! V3RV/VB p\        VR7      # )añ  
audio_codes (`torch.LongTensor`  of shape `(batch_size, 1, codes_length)`):
    Discrete code indices computed using `model.encode`.
latents (torch.Tensor of shape `(batch_size, dimension, time_steps)`, *optional*):
    Quantized continuous representation of input.
audio_codes_mask (`torch.Tensor` of shape `(batch_size, codes_length)`, *optional*):
    Mask marking valid (non-padding) positions, as returned by `model.encode`. Needed for correct
    batched decoding of variable-length audio.
z3Either `latents` or `audio_codes` must be provided.)rU   Úinputs_embedsrj   rj   )Úaudio_values)Ú
ValueErrorr}   Ú
from_codesrv   r   rU   Úacoustic_decoderrN   )r.   ro   rp   rq   rd   rj   Úrecon_audios   &&&&,  r%   ÚdecodeÚNeuCodecModel.decode¿   s”   € ð$ Š?˜{Ò2ÜÐRÓSÐSàÒ"Ø—n‘n×/Ñ/°×0EÑ0EÀaÈÓ0KÓL‰Gà×'Ñ'¨¨1Ó-ˆGô 3Ø—;‘;Ø!Ø+ô
ˆð ×+Ò+¨GÑ]ÀNÐ]ÐV\Ñ]ˆÜ$°+Ô>Ð>r(   c                óÐ   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  R,          RS[ P                  R,          RS[RS[S[,          RS[S[,          /# r^   )re   rf   rg   r   r   rh   rH   )r#   r$   s   "€r%   r&   rV   å   s   ø€ ÷ @
ñ @
á—l‘lð@
ñ Ÿ™ð@
ñ —l‘l TÕ)ð	@
ñ
 #Ÿ\™\¨DÕ0ð@
ñ ð@
ñ Ñ+Õ,ð@
ñ 
‘Õ	ñ@
r(   c           	     óv  € VP                   R	,          p\        WpP                  ,          4      pV P                  VVVVRRR7      p	V P                  ! R
RV	P
                  RV	P                  RR/VB ^ ,          RRV13,          p
\        T
V	P                  V'       d   V	P
                  MRV	P                  R7      # )aƒ  
input_values (`torch.Tensor` of shape `(batch_size, 1, sequence_length)`):
    Input audio waveform, sampled at `config.input_sampling_rate`.
input_features (`torch.Tensor` of shape `(batch_size, mel_bins, time_steps)`):
    Input audio mel spectrogram for semantic encoding.
padding_mask (`torch.Tensor` of shape `(batch_size, 1, sequence_length)`):
    Padding mask used to pad `input_values`.
input_features_mask (`torch.Tensor` of shape `(batch_size, time_steps)`, *optional*):
    Attention mask for the spectrogram input to the semantic encoder. `1` for valid frames, `0` for padding.
output_latents (`bool`, *optional*, defaults to `False`):
    Whether to return the continuous latent representation from the quantizer.

Examples:

```python
>>> from datasets import load_dataset
>>> from transformers import AutoFeatureExtractor, NeuCodecModel

>>> dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> audio = dataset["train"]["audio"][0]["array"]

>>> model_id = "neuphonic/neucodec"
>>> model = NeuCodecModel.from_pretrained(model_id)
>>> feature_extractor = AutoFeatureExtractor.from_pretrained(model_id)

>>> inputs = feature_extractor(audio=audio, sampling_rate=feature_extractor.sampling_rate, return_tensors="pt")

>>> outputs = model(**inputs)
>>> audio_codes = outputs.audio_codes
>>> audio_values = outputs.audio_values  # sampled at 24kHz
```T)r`   ra   rb   rc   Úreturn_dictrp   rq   r™   .N)r�   ro   rp   rq   rr   r9   )	rz   r"   rZ   r‹   r•   rp   rq   rH   ro   )r.   r_   r`   ra   rb   rc   rd   Úinput_lengthÚoutput_lengthÚencoder_outputsr�   s   &&&&&&,    r%   ÚforwardÚNeuCodecModel.forwardã   sÛ   € ðV $×)Ñ)¨"Õ-ˆÜ˜L×+MÑ+MÕMÓNˆàŸ+™+ØØ)Ø%Ø 3ØØð &ó 
ˆð —{’{ñ 
Ø#×+Ñ+ð
à,×=Ñ=ð
ð ð
ð ñ	
ð
 õð
 �.�=�.Ð õ"ˆô Ø%Ø'×3Ñ3ß/=�O×+Ò+À4Ø,×=Ñ=ô	
ð 	
r(   )r6   rZ   )NNF)NNN)r:   r;   r<   r=   rY   r   r   r‹   r•   r�   rD   rE   Ú__classcell__)r[   r$   s   @@r%   rS   rS   w   s   ù‡ € ÷fó fð Ø÷:
ñ :
ó ó ð:
ðx Ø÷ ?ñ  ?ó ó ð ?ðD Ø÷@
ñ @
ó ó ÷@
ð @
r(   rS   c                   óN   a € ] tR tRt o ]! RR7      RV 3R lR ll4       tRtV tR# )	ÚNeuCodecFeatureExtractori(  )ÚbackendsNc                ó¤   <€ V ^8„  d   QhRS[ RS[S[,          S[,          RS[R,          RS[RS[S[,          R,          RS[R,          RS[R	S[/# )
r   ÚaudioÚpaddingÚ
max_lengthNÚ
truncationÚreturn_tensorsrA   rn   r    )r   rg   Ústrr	   r"   r
   r   )r#   r$   s   "€r%   r&   Ú%NeuCodecFeatureExtractor.__annotate__*  s€   ø€ ÷ N
ñ N
áðN
ñ ™•™oÕ-ðN
ñ ˜$•Jð	N
ñ
 ðN
ñ ™jÕ(¨4Õ/ðN
ñ ˜T•zðN
ñ ðN
ñ 
ñN
r(   c                óð  € Ve>   W`P                   8w  d-   \        RV  RV P                    RV P                    RV R2	4      hM-\        P                  RV P                  P
                   R24       \        V4      pV F,  p	V	P                  ^8”  g   K  \        R	V	P                   24      h	  \        V4      p
V Uu. uF0  p\        P                  ! \        P                  ! V4      R!R
R7      NK2  	  ppV P                  P                  \        RV/4      VVVVV P                   RR7      pVP#                  R4      pVR,          R",          p. p\%        V
4       EFZ  pV P                  P                  \        RVV,          ./4      V P                   RR7      pVR,          P'                  V4      p\(        P*                  P,                  P/                  VR#,          V P0                  V P2                  V P                   ,          R,          V P4                  V P                   ,          R,          V P                   RRRRRR
R^V P                   ^,          R7      pVVP7                  ^ 4      ,
          \        P8                  ! VP;                  ^ RR7      R,           4      ,          pVP=                  V4       EK]  	  \        RV/4      pV P                  VVVVV P>                  VRR7      pVR,          pVPA                  R4      pVP                  ^,          VP                  ^,          V P>                  ,          ,
          pVRRV1R3,          PC                  V
VV P>                  ,          V P0                  V P>                  ,          4      pVeT   VRRV13,          PC                  V
VV P>                  ,          V P>                  4      PE                  R$R7      PF                  p\        RVRVRVRV/VR 7      # u upi )%aÌ  
Args:
    audio (`np.ndarray`, `torch.Tensor`, `list[np.ndarray]`, `list[torch.Tensor]`):
        Numpy array or torch tensor with shape (num_channels, sequence_length). A list of such arrays or
        tensors can also be provided for a batch of inputs.
    padding (`bool`, `str` or [`~utils.PaddingStrategy`], *optional*, defaults to `True`):
        Select a strategy to pad the returned sequences (according to the model's padding side and padding
        index) among:

        - `True` or `'longest'`: Pad to the longest sequence in the batch (or no padding if only a single
          sequence if provided).
        - `'max_length'`: Pad to a maximum length specified with the argument `max_length` or to the maximum
          acceptable input length for the model if that argument is not provided.
        - `False` or `'do_not_pad'` (default): No padding (i.e., can output a batch with sequences of different
          lengths).
    max_length (`int`, *optional*):
        Maximum length of the returned list and optionally padding length (see above).
    truncation (`bool`):
        Activates truncation to cut input sequences longer than *max_length* to *max_length*.
    return_tensors (`str` or [`~utils.TensorType`], *optional*):
        If set, will return tensors instead of list of python integers. Acceptable values are:

        - `'tf'`: Return TensorFlow `tf.constant` objects.
        - `'pt'`: Return PyTorch `torch.Tensor` objects.
        - `'np'`: Return Numpy `np.ndarray` objects.
    sampling_rate (`int`, *optional*):
        The sample rate at which the `audio` input was sampled. It is strongly recommended to pass
        `sampling_rate` at the forward call to prevent silent errors.
    device (`str`, *optional*, defaults to `"cpu"`):
        Device for PyTorch tensors during mel-filter bank feature extraction.
    kwargs (*optional*):
        Remaining dictionary of keyword arguments that will be passed to the tokenizer or the feature
        extractor.
Nz3The model corresponding to this feature extractor: z& was trained using a sampling rate of zD. Please make sure that the provided `audio` input was sampled with z	 and not Ú.zDIt is strongly recommended to pass the `sampling_rate` argument to `zN()`. Failing to do so can result in silent errors that might be hard to debug.z6Expected input shape (channels, length) but got shape g        )Úvaluer¤   Úpt)r¦   r§   r¥   Úreturn_attention_maskÚpad_to_multiple_ofr¨   rj   ºNNN)r°   r¨   iè  Úpoveyg
×£p=
ï?TF)Únum_mel_binsÚframe_lengthÚframe_shiftÚsample_frequencyÚwindow_typeÚpreemphasis_coefficientÚremove_dc_offsetÚuse_log_fbankÚ
use_energyÚditherÚ
snip_edgesÚlow_freqÚ	high_freq)ÚunbiasedgH¯¼šò×z>r`   )r¥   r¦   r§   r°   r¯   r¨   rk   r_   ra   rb   )Útensor_type)r   é   )r±   Nr±   i €  rr   )$rA   r‘   ÚloggerÚwarningr[   r:   r   Úndimrz   ÚlenÚFÚpadre   Ú	as_tensorÚacoustic_encoder_padderr   r6   ÚpopÚranger�   Ú
torchaudioÚ
complianceÚkaldiÚfbankr³   r´   rµ   ÚmeanÚsqrtÚvarÚappendÚstrideÚgetÚreshapery   Úvalues)r.   r¤   r¥   r¦   r§   r¨   rA   rn   rd   ÚexampleÚ
batch_sizeÚaÚpadded_inputsra   Úpadded_audioÚmel_featuresÚiÚsingle_padded_audioÚwaveformÚfeaturesÚencoded_inputsÚ
padded_melÚaudio_spectrogramÚspectrogram_maskÚtrimmed_framess   &&&&&&&&,                r%   Ú__call__Ú!NeuCodecFeatureExtractor.__call__)  sî  € ð^ Ò$Ø× 2Ñ 2Ô2Ü ØIÈ$Èð PØ×*Ñ*Ð+ð ,Ø×*Ñ*Ð+¨9°]°OÀ1ðFóð ð 3ô �N‰NØVÐW[×WeÑWe×WnÑWnÐVoð p\ð \ôô
 # 5Ó)ˆÛˆGØ�|‰|˜aÖÜ Ð#YÐZa×ZgÑZgÐYhÐ!iÓjÐjñ ô ˜“Zˆ
ñ HMÓMÁuÀ!”—’”u—’ qÓ)¨6¸×=ÁuˆÐMØ×4Ñ4×8Ñ8Ü˜' 5Ð)Ó*Ø!Ø!ØØ")Ø#Ÿ™Øð 9ó 
ˆð %×(Ñ(Ð)9Ó:ˆØ$ WÕ-¨jÕ9ˆð ˆÜ�z×"ˆAØ"&×">Ñ">×"BÑ"BÜ˜g¨¨a­ zÐ2Ó3Ø#'§?¡?Ø#ð #Có #Ðð
 +¨7Õ3×6Ñ6°vÓ>ˆHÜ!×,Ñ,×2Ñ2×8Ñ8Ø˜EÕ"Ø!×.Ñ.Ø!×.Ñ.°×1CÑ1CÕCÀdÕJØ ×,Ñ,¨t×/AÑ/AÕAÀDÕHØ!%×!3Ñ!3Ø#Ø(,Ø!%Ø"Ø ØØØØ×,Ñ,°Õ1ð 9ó ˆHð  ! 8§=¡=°Ó#3Õ3´u·z²zÀ(Ç,Á,ÈqÐ[_À,ÓB`ÐcgÕBgÓ7hÕhˆHØ×Ñ ×)ñ1 #ô2 &Ð'7¸Ð&FÓGˆØ—X‘XØØØ!Ø!Ø#Ÿ{™{Ø")Øð ó 
ˆ
ð 'Ð'7Õ8ÐØ%Ÿ>™>Ð*:Ó;ÐØ*×0Ñ0°Õ3Ð7H×7NÑ7NÈqÕ7QÐTX×T_ÑT_Õ7_Õ`ˆØ-¨a°°.°À!Ð.CÕD×LÑLØ˜¨$¯+©+Õ5°t×7HÑ7HÈ4Ï;É;Õ7Vó
Ðð Ò'à   O ^ OÐ!3Õ4ß‘˜ ^°t·{±{Õ%BÀDÇKÁKÓPß‘˜�“ß‘ð	 ô à Ø Ø Ð"3Ø%Ð'7ð	ð 'ô
ð 	
ùòI Ns   Â;6O3r9   )re   rÍ   )TNFNNÚcpu)r:   r;   r<   r=   r   rè   rD   rE   rF   s   @r%   r¡   r¡   (  s%   ø‡ € ÙÐ.Ô/÷N
ñ N
ó 0öN
r(   r¡   )r   rS   rP   r¡   )3Únumpyr*   Úhuggingface_hub.dataclassesr   Úaudio_utilsr   r   Úfeature_extraction_utilsr   Úmasking_utilsr   Úprocessing_utilsr   Úutilsr	   r
   r   r   r   r   r   Úutils.import_utilsr   r   Úxcodec2.configuration_xcodec2r   Ú"xcodec2.feature_extraction_xcodec2r   Úxcodec2.modeling_xcodec2r   r   r   r   r   re   Útorch.nn.functionalÚnnÚ
functionalrÇ   rÍ   Ú
get_loggerr:   rÃ   r   rH   rL   rN   rP   rS   r¡   Ú__all__r9   r(   r%   Ú<module>rû      s  ðó Ý .ç 9Ý 4Ý 6Ý &÷÷ ñ ÷ DÝ 9Ý H÷õ ñ ×ÒÛß#Ð#á×ÒÛð 
×	Ò	˜HÓ	%€ñ Ð/Ô0Øô,c�]ó ,có ó 1ð,cô^	�]ô 	ô	Ð0ô 	ô	Ð0ô 	ô	Ð4ô 	ñ ÐAÔBôm
�Ló m
ó Cðm
ô`P
Ð6ô P
òf e‚r(   