§
    ‚Štj  ã                   ó¤   — d Z ddlZddlZddlmZ ddlmZ ddlm	Z	 ddl
mZmZ  e	d	¬
¦  «        e G d„ de¦  «        ¦   «         ¦   «         ZdgZdS )zXcodec model configurationé    N)Ústricté   )ÚPreTrainedConfig)Úauto_docstringé   )ÚCONFIG_MAPPINGÚ
AutoConfigzManel/X-Codec)Ú
checkpointc                   óP  ‡ — e Zd ZU dZdZeedœZdg d¢dg d¢ddœZi Zd	Z	e
eez           eeez  d
f         z  ed<   dZeed<   dZeed<   dZe
e         eed
f         z  ed<   dZe
e         eed
f         z  ed<   dZe
e         eed
f         z  ed<   dZeed<   dZeed<   dZedz  ed<   dZeed<   dZeez  dz  ed<   dZeez  dz  ed<   ˆ fd„Zedefd„¦   «         Zedefd„¦   «         Zedefd „¦   «         Z edefd!„¦   «         Z!edefd"„¦   «         Z"edefd#„¦   «         Z#ˆ xZ$S )$ÚXcodecConfigaY  
    target_bandwidths (`List[float]`, *optional*, defaults to `[0.5, 1, 1.5, 2, 4]`):
        The range of different bandwidths (in kbps) the model can encode audio with.
    channel_ratios (`List[float]`, *optional*, defaults to `[1, 1]`):
        Expansion factors for the number of output channels in each semantic block.
    strides (`List[int]`, *optional*, defaults to `[1, 1]`):
        Strides for each semantic encoder block.
    block_dilations (`List[int]`, *optional*, defaults to `[1, 1]`):
        Dilation factors for the residual units in semantic blocks.
    unit_kernel_size (`int`, *optional*, defaults to 3):
        Kernel size inside each ResidualUnit in semantic blocks.
    acoustic_model_config (`Union[Dict, DacConfig]`, *optional*):
        An instance of the configuration for the acoustic (DAC) model.
    semantic_model_config (`Union[Dict, HubertConfig, WavLMConfig]`, *optional*):
        An instance of the configuration object for the semantic (HuBERT) model.

    Example:

    ```python
    >>> from transformers import XcodecModel, XcodecConfig

    >>> # Initializing configuration
    >>> configuration = XcodecConfig()

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

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Úxcodec)Úacoustic_model_configÚsemantic_model_configé@   ©é   é   é   r   é   é   ©Úencoder_hidden_sizeÚdownsampling_ratiosÚdecoder_hidden_sizeÚupsampling_ratiosÚhidden_size)g      à?é   g      ø?r   r   .Útarget_bandwidthsi€>  Úsample_rater   Úkernel_size)r   r   Úchannel_ratiosÚstridesÚblock_dilationsÚunit_kernel_sizeÚcodebook_sizeNÚcodebook_dimg{®Gáz”?Úinitializer_ranger   r   c                 óÐ  •— | j         €$t          d         dg d¢dg d¢d¬¦  «        | _         nmt          | j         t          ¦  «        rS| j                              dd¦  «        | j         d<   t          | j         d                  d	i i | j        ¥| j         ¥¤Ž| _         | j        €t          d         ¦   «         | _        nmt          | j        t          ¦  «        rS| j                             dd¦  «        | j        d<   t          | j        d                  d	i i | j        ¥| j        ¥¤Ž| _        | j        €| j         j	        | j        j	        z   | _         t          ¦   «         j        d	i |¤Ž d S )
NÚdacr   r   r   r   r   Ú
model_typeÚhubert© )r   r   Ú
isinstanceÚdictÚgetÚ%_default_acoustic_model_config_kwargsr   Ú%_default_semantic_model_config_kwargsr&   r   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €úm/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/xcodec/configuration_xcodec.pyr3   zXcodecConfig.__post_init__\   s–  ø€ ØÔ%Ð-Ý)7¸Ô)>Ø$&ð %1 L LØ$(Ø". , ,Øð*ñ *ô *ˆDÔ&Ð&õ ˜Ô2µDÑ9Ô9ð 	Ø7;Ô7Q×7UÒ7UÐVbÐdiÑ7jÔ7jˆDÔ& |Ñ4Ý)7¸Ô8RÐS_Ô8`Ô)að *ð *Ø^�TÔ?Ð^À4ÔC]Ð^ð*ð *ˆDÔ&ð Ô%Ð-Ý)7¸Ô)AÑ)CÔ)CˆDÔ&Ð&Ý˜Ô2µDÑ9Ô9ð 	Ø7;Ô7Q×7UÒ7UÐVbÐdlÑ7mÔ7mˆDÔ& |Ñ4Ý)7¸Ô8RÐS_Ô8`Ô)að *ð *Ø^�TÔ?Ð^À4ÔC]Ð^ð*ð *ˆDÔ&ð ÔÐ$Ø $Ô :Ô FÈÔIcÔIoÑ oˆDÔà�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'ó    Úreturnc                 óD   — t          j        | j        | j        z  ¦  «        S ©N)ÚmathÚceilr   Ú
hop_length©r4   s    r7   Ú
frame_ratezXcodecConfig.frame_ratez   s   € åŒy˜Ô)¨D¬OÑ;Ñ<Ô<Ð<r8   c                 ó   — | j         j        S r;   )r   r   r?   s    r7   Úsemantic_hidden_sizez!XcodecConfig.semantic_hidden_size~   s   € àÔ)Ô5Ð5r8   c                 óX   — t          t          j        | j        j        ¦  «        ¦  «        S r;   )ÚintÚnpÚprodr   r   r?   s    r7   r>   zXcodecConfig.hop_length‚   s    € å•2”7˜4Ô5ÔIÑJÔJÑKÔKÐKr8   c                 óX   — t          j        t          j        | j        ¦  «        ¦  «        S r;   )r<   r=   Úlog2r%   r?   s    r7   Úcodebook_nbitszXcodecConfig.codebook_nbits†   s   € åŒy�œ 4Ô#5Ñ6Ô6Ñ7Ô7Ð7r8   c                 ó4   — | j         j        | j        j        z   S r;   )r   r   r   r?   s    r7   r   zXcodecConfig.hidden_sizeŠ   s   € àÔ)Ô5¸Ô8RÔ8^Ñ^Ð^r8   c                 ó\   — t          d| j        d         z  | j        | j        z  z  ¦  «        S )Niè  éÿÿÿÿ)rD   r   r@   rI   r?   s    r7   Únum_quantizerszXcodecConfig.num_quantizersŽ   s,   € å�4˜$Ô0°Ô4Ñ4¸¼È4ÔK^Ñ9^Ñ_Ñ`Ô`Ð`r8   )%Ú__name__Ú
__module__Ú__qualname__Ú__doc__r*   r	   Úsub_configsr0   r1   r   ÚlistrD   ÚfloatÚtupleÚ__annotations__r   r    r!   r"   r#   r$   r%   r&   r'   r   r.   r   r   r3   Úpropertyr@   rB   r>   rI   r   rM   Ú__classcell__)r6   s   @r7   r   r      sº  ø€ € € € € € ðð ð> €Jð ",Ø!+ðð €Kð  "ð  ,˜|˜|Ø#Ø)˜\˜\Øð-ð -Ð)ð -/Ð)àEXÐ�t˜C %™KÔ(¨5°°u±¸cÐ1AÔ+BÑBÐXÐXÑXØ€K�ÐÐÑØ€K�ÐÐÑØ28€N�D˜”I  c¨3 h¤Ñ/Ð8Ð8Ñ8Ø+1€GˆT�#ŒY˜˜s C˜xœÑ(Ð1Ð1Ñ1Ø39€O�T˜#”Y  s¨C x¤Ñ0Ð9Ð9Ñ9ØÐ�cÐÐÑØ€M�3ÐÐÑØ#€L�#˜‘*Ð#Ð#Ñ#Ø#Ð�uÐ#Ð#Ñ#Ø<@Ð˜4Ð"2Ñ2°TÑ9Ð@Ð@Ñ@Ø<@Ð˜4Ð"2Ñ2°TÑ9Ð@Ð@Ñ@ð(ð (ð (ð (ð (ð< ð=˜Cð =ð =ð =ñ „Xð=ð ð6 cð 6ð 6ð 6ñ „Xð6ð ðL˜Cð Lð Lð Lñ „XðLð ð8 ð 8ð 8ð 8ñ „Xð8ð ð_˜Sð _ð _ð _ñ „Xð_ð ða ð að að añ „Xðað að að að ar8   r   )rQ   r<   ÚnumpyrE   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   Úautor   r	   r   Ú__all__r,   r8   r7   ú<module>r_      sÞ   ðð !Ð  à €€€à Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø #Ð #Ð #Ð #Ð #Ð #Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -ð €˜?Ð+Ñ+Ô+Øðtað tað tað tað taÐ#ñ taô tañ „ñ ,Ô+ðtaðn Ð
€€€r8   