§
    �M§j=  ã                  ó\  — d Z ddlmZ ddlmZmZmZ ddlZddlZdZ	d\  Z
Zd\  ZZd\  ZZd	\  ZZZd
\  ZZdZddddœZ ed¬¦  «         G d„ d¦  «        ¦   «         Z ed¬¦  «         G d„ d¦  «        ¦   «         Zd„ Z ed¬¦  «         G d„ d¦  «        ¦   «         Zdd„Zdd„Zefd„ZdS )z?Versioned, checkpoint-native prompting and generation defaults.é    )Úannotations)Ú	dataclassÚfieldÚasdictNi[P )i'Q i(Q )i+Q i,Q )i-Q i €  )i-Ñ i.Ñ i/Ñ )i€Ñ i `  zyue2-native-v1z;Generate music with codec tokens from the given conditions.z€Generate a melody-only ABC transcription without chord symbols, then generate music with codec tokens from the given conditions.znGenerate a chord-annotated ABC transcription, then generate music with codec tokens from the given conditions.)ÚoffÚmelodyÚfullT)Úfrozenc                  óx   — e Zd ZU dZded<   dZded<   dZded<   d	Zded
<   dZded<   dZ	ded<   dZ
ded<   d„ ZdS )ÚSamplingç      ð?ÚfloatÚtemperaturegffffffî?Útop_péd   ÚintÚtop_kg333333ó?Úrepetition_penaltyé2   Úpenalty_windowéÈ   Ú
min_tokensi(#  Ú
max_tokensc                óF  — t          d„ | j        | j        | j        | j        fD ¦   «         ¦  «        rt          d¦  «        ‚t          d„ | j        | j        | j	        fD ¦   «         ¦  «        st          d¦  «        ‚d| j        cxk    rdk    r#n n d| j        cxk    rdk    rn n| j        dk     rt          d¦  «        ‚| j	        dk    sd| j        cxk    rd	k    sn t          d
¦  «        ‚d| j        cxk    r| j        k    rn n| j        dk     rt          d¦  «        ‚d S )Nc              3  óB   K  — | ]}t          |¦  «        t          uV — Œd S ©N)Útyper   ©Ú.0Úxs     ú@C:\Users\johnn\OneDrive\Documents\AI\models\TTS\yue2\protocol.pyú	<genexpr>z)Sampling.__post_init__.<locals>.<genexpr>    s-   è è € ÐoÐo a�t�A‰wŒw�cÐ!ÐoÐoÐoÐoÐoÐoó    z Sampling counts must be integersc              3  ó>   K  — | ]}t          j        |¦  «        V — Œd S r   )ÚmathÚisfiniter   s     r!   r"   z)Sampling.__post_init__.<locals>.<genexpr>"   s,   è è € ÐeÐe¨•4”= Ñ#Ô#ÐeÐeÐeÐeÐeÐer#   zSampling numbers must be finiter   é   é   z(Invalid sampling temperature/top_p/top_kr   z!Invalid repetition penalty/windowz%Require 0 <= min_tokens <= max_tokens)
Úanyr   r   r   r   Ú
ValueErrorÚallr   r   r   ©Úselfs    r!   Ú__post_init__zSampling.__post_init__   sm  € ÝÐoÐo¨D¬J¸Ô8KÈTÌ_Ð^bÔ^mÐ+nÐoÑoÔoÑoÔoð 	AÝÐ?Ñ@Ô@Ð@ÝÐeÐe¨dÔ.>ÀÄ
ÈDÔLcÐ-dÐeÑeÔeÑeÔeð 	@ÝÐ>Ñ?Ô?Ð?Ø�DÔ$Ð)Ð)Ò)Ð)¨Ò)Ð)Ð)Ð)Ð)°°d´jÐ1EÐ1EÒ1EÐ1EÀAÒ1EÐ1EÐ1EÐ1EÐ1EÈÌÐVWÊÈÝÐGÑHÔHÐHØÔ" aÒ'Ð'¨q°DÔ4GÐ/NÐ/NÒ/NÐ/NÈ3Ò/NÐ/NÐ/NÐ/NÝÐ@ÑAÔAÐAØ�D”OÐ6Ð6Ò6Ð6 t¤Ò6Ð6Ð6Ð6Ð6¸$¼/ÈAÒ:MÐ:MÝÐDÑEÔEÐEð ;NÐ:Mr#   N)Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__r   r   r   r   r   r   r.   © r#   r!   r   r      s¢   € € € € € € à€KÐÐÐÑØ€EÐÐÐÑØ€EÐÐÐÑØ #ÐÐ#Ð#Ð#Ñ#Ø€NÐÐÐÑØ€JÐÐÐÑØ€JÐÐÐÑð
Fð 
Fð 
Fð 
Fð 
Fr#   r   c                  ó°   — e Zd ZU  ed„ ¬¦  «        Zded<    ee¬¦  «        Zded<   dZded<   d	Z	d
ed<   e
Zded<   eZd
ed<   d„ Zd„ Zed„ ¦   «         ZdS )ÚGenerationConfigc            	     ó,   — t          ddddddd¦  «        S )Ngffffffæ?gÍÌÌÌÌÌì?é   g®Gázð?r   é    i   )r   r3   r#   r!   ú<lambda>zGenerationConfig.<lambda>.   s   € µ(¸2¸rÀ2ÀuÈcÐSUÐW[Ñ2\Ô2\€ r#   )Údefault_factoryr   ÚabcÚsemanticr8   r   Ú	ode_stepsÚmidpointÚstrÚ
ode_methodÚcontextÚversionc                ó¦   — | j         t          k    s1| j        dk    s&t          | j        ¦  «        t
          us| j        dk     rt          d¦  «        ‚d S )Nr>   r(   z>Require context=24576 and midpoint with positive integer steps)rA   ÚCONTEXTr@   r   r=   r   r*   r,   s    r!   r.   zGenerationConfig.__post_init__5   sX   € ØŒ<�7Ò"Ð" d¤o¸Ò&CÐ&CÅtÈDÌNÑG[ÔG[ÕcfÐGfÐGfÐjnÔjxÐ{|Òj|Ðj|ÝÐ]Ñ^Ô^Ð^ð k}Ðj|r#   c                ó    — t          | ¦  «        S r   ©r   r,   s    r!   Úto_dictzGenerationConfig.to_dict9   ó   € Ý�d‰|Œ|Ðr#   c                óô   — t          |¦  «        } | ¦   «         }dD ]U}||v rOt          ||         t           ¦  «        r4t          di i t          t	          ||¦  «        ¦  «        ¥||         ¥¤Ž||<   ŒV | di |¤ŽS )N)r;   r<   r3   )ÚdictÚ
isinstancer   r   Úgetattr)ÚclsÚdataÚvalueÚdefaultsÚkeys        r!   Ú	from_dictzGenerationConfig.from_dict<   s�   € å�T‘
”
ˆØ�3‘5”5ˆØ&ð 	Zð 	ZˆCØ�eˆ|ˆ|¥
¨5°¬:µtÑ <Ô <ˆ|Ý%ÐYÐYÐ(X­6µ'¸(ÀCÑ2HÔ2HÑ+IÔ+IÐ(XÈUÐSVÌZÐ(XÐYÐY��c‘
øØˆsˆ|ˆ|�Uˆ|ˆ|Ðr#   N)r/   r0   r1   r   r;   r2   r   r<   r=   r@   rD   rA   ÚPROTOCOL_VERSIONrB   r.   rG   ÚclassmethodrR   r3   r#   r!   r5   r5   ,   sÖ   € € € € € € à�EÐ*\Ð*\Ð]Ñ]Ô]€CÐ]Ð]Ð]Ñ]Ø˜¨xÐ8Ñ8Ô8€HÐ8Ð8Ð8Ñ8Ø€IÐÐÐÑØ €JÐ Ð Ð Ñ Ø€GÐÐÐÑØ#€GÐ#Ð#Ð#Ñ#ð_ð _ð _ðð ð ð ðð ñ „[ðð ð r#   r5   c                óº   — | €|S t          | t          ¦  «        r| S t          | t          ¦  «        rt          di i t          |¦  «        ¥| ¥¤ŽS t	          d¦  «        ‚)Nz?Sampling must be a Sampling object or a dictionary of overridesr3   )rK   r   rJ   r   Ú	TypeError)rO   Údefaults     r!   Úresolve_samplingrX   F   si   € Ø€}ØˆÝ�%�Ñ"Ô"ð ØˆÝ�%�ÑÔð 8ÝÐ7Ð7Ð6�V G™_œ_Ð6°Ð6Ð7Ð7Ð7Ý
ÐUÑ
VÔ
VÐVr#   c                  ó’   — e Zd ZU ded<   ded<   dZded<   dZded<   d	Zd
ed<   d	Zded<   dZded<   d„ Z	e
d„ ¦   «         Zd„ Zd„ Zd	S )ÚSongRequestr?   ÚstyleÚlyricsr	   Úcoti® r   ÚseedNz
str | Noner;   zfloat | NoneÚ	cfg_scaleÚsongÚidc                óØ  — | j         t          vrt          d¦  «        ‚t          | j        t
          ¦  «        rt          | j        t
          ¦  «        st          d¦  «        ‚t          | j	        ¦  «        t          usd| j	        cxk    rdk     sn t          d¦  «        ‚t          j        d| j        ¦  «        r	| j        dv rt          d¦  «        ‚| j        �M| j         d	k    s3t          | j        t
          ¦  «        r| j                             ¦   «         st          d
¦  «        ‚| j        �<t#          j        | j        ¦  «        rd| j        cxk    rdk    sn t          d¦  «        ‚d S d S )Nzcot must be off, melody or fullz style and lyrics must be stringsr   l            z%seed must be an integer in [0, 2**63)z [A-Za-z0-9][A-Za-z0-9_.-]{0,179}>   ú..ú.z%id must be a filename-safe identifierr   z7External ABC requires nonempty text and cot=melody/fullé   z&cfg_scale must be finite and in [0,20])r]   ÚINSTRUCTIONSr*   rK   r[   r?   r\   rV   r   r^   r   ÚreÚ	fullmatchra   r;   Ústripr_   r%   r&   r,   s    r!   r.   zSongRequest.__post_init__Z   sp  € ØŒ8�<Ð'Ð'ÝÐ>Ñ?Ô?Ð?Ý˜$œ*¥cÑ*Ô*ð 	@µ*¸T¼[Í#Ñ2NÔ2Nð 	@ÝÐ>Ñ?Ô?Ð?Ý�”	‰?Œ?¥#Ð%Ð%¨Q°$´)Ð-CÐ-CÒ-CÐ-C¸eÒ-CÐ-CÐ-CÐ-CÝÐDÑEÔEÐEÝŒ|Ð?ÀÄÑIÔIð 	FÈTÌWÐXcÐMcÐMcÝÐDÑEÔEÐEØŒ8Ð T¤X°Ò%6Ð%6½jÈÌÕSVÑ>WÔ>WÐ%6Ð_cÔ_g×_mÒ_mÑ_oÔ_oÐ%6ÝÐVÑWÔWÐWØŒ>Ð%­t¬}¸T¼^Ñ/LÔ/LÐ%ÐTUÐY]ÔYgÐTmÐTmÒTmÐTmÐkmÒTmÐTmÐTmÐTmÝÐEÑFÔFÐFð &Ð%ÐTmÐTmr#   c                ó<   — | j         €| j        dk    rdndn| j         S )Nr   g)\�Âõ(ð?r   )r_   r]   r,   s    r!   ÚguidancezSongRequest.guidanceh   s'   € à7;´~Ð7M˜œ EÒ)Ð)��¨s¨sÐSWÔSaÐar#   c                óL   — t           | j                 › d| j        › d| j        › d�S )Nz
[Tags]
z

[Lyrics]
ú
)rf   r]   r[   r\   r,   s    r!   ÚtextzSongRequest.textl   s,   € Ý˜tœxÔ(Ð[Ð[°D´JÐ[Ð[ÈDÌKÐ[Ð[Ð[Ð[r#   c                ó    — t          | ¦  «        S r   rF   r,   s    r!   rG   zSongRequest.to_dicto   rH   r#   )r/   r0   r1   r2   r]   r^   r;   r_   ra   r.   Úpropertyrk   rn   rG   r3   r#   r!   rZ   rZ   P   sÎ   € € € € € € à€J€J�JØ€K€K�KØ€CÐÐÐÑØ€DÐÐÐÑØ€CÐÐÐÑØ"€IÐ"Ð"Ð"Ñ"Ø€BÐÐÐÑðGð Gð Gð ðbð bñ „Xðbð\ð \ð \ðð ð ð ð r#   rZ   c                óª  — t           g|                     |                      ¦   «         ¦  «        z   }| j        dk    r|t          t
          t          gz   S |€,| j        €|t          gz   S |                     | j        ¦  «        }t          |¦  «        }t          d„ |D ¦   «         ¦  «        rt          d¦  «        ‚|t          gz   |z   t
          t          gz   S )Nr   c              3  ón   K  — | ]0}t          |¦  «        t          upd |cxk    o
t          k     nc  V — Œ1dS ©r   N©r   r   ÚEOD©r   Útokens     r!   r"   z!token_prefixes.<locals>.<genexpr>|   óQ   è è € Ð
OÐ
O¸e�4�‰;Œ;�cÐ!Ð9¨¨eÐ)9Ð)9Ò)9Ð)9µcÒ)9Ð)9Ð)9Ð)9Ð%9Ð
OÐ
OÐ
OÐ
OÐ
OÐ
Or#   ú7ABC IDs must remain inside the ordinary text vocabulary)ru   Úencodern   r]   Ú	ABC_STARTÚABC_ENDÚMUSIC_STARTr;   Úlistr)   r*   ©ÚrequestÚ	tokenizerÚabc_idsÚbases       r!   Útoken_prefixesr„   s   sÈ   € Ýˆ5�9×#Ò# G§L¢L¡N¤NÑ3Ô3Ñ3€DØ„{�eÒÐØ•y¥'­;Ð7Ñ7Ð7Ø€ØŒ;ÐØ�9˜+Ñ%Ð%Ø×"Ò" 7¤;Ñ/Ô/ˆÝ�7‰mŒm€GÝ
Ð
OÐ
OÀwÐ
OÑ
OÔ
OÑOÔOð TÝÐRÑSÔSÐSØ•9�+Ñ Ñ'­7µKÐ*@Ñ@Ð@r#   c                óT  — t           g|                     t          | j                 ¦  «        z   }| j        dk    r|t          gz   S |€t          d¦  «        ‚t          |¦  «        }t          d„ |D ¦   «         ¦  «        rt          d¦  «        ‚|t          gz   |z   t          t          gz   S )Nr   z:Symbolic CFG must retain the exact positive-branch ABC IDsc              3  ón   K  — | ]0}t          |¦  «        t          upd |cxk    o
t          k     nc  V — Œ1dS rs   rt   rv   s     r!   r"   z"negative_prefix.<locals>.<genexpr>ˆ   rx   r#   ry   )
ru   rz   rf   r]   r}   r*   r~   r)   r{   r|   r   s       r!   Únegative_prefixr‡   �   s§   € Ýˆ5�9×#Ò#¥L°´Ô$=Ñ>Ô>Ñ>€DØ„{�eÒÐØ•{�mÑ#Ð#Ø€ÝÐUÑVÔVÐVÝ�7‰mŒm€GÝ
Ð
OÐ
OÀwÐ
OÑ
OÔ
OÑOÔOð TÝÐRÑSÔSÐSØ•9�+Ñ Ñ'­7µKÐ*@Ñ@Ð@r#   c                ó´   ‡ ‡— t          ||z
  dz
  dz  t          ¦  «        Š‰ dk     s‰dk     rt          d¦  «        ‚ˆ ˆfd„t          d‰ ‰¦  «        D ¦   «         S )Né   é   r(   z0Empty codec or prefix leaves no acoustic contextc                ó:   •— g | ]}|t          |‰z   ‰¦  «        f‘ŒS r3   )Úmin)r   ÚaÚframesÚsizes     €€r!   ú
<listcomp>z chunk_ranges.<locals>.<listcomp>‘   s,   ø€ ÐGÐGÐG¨1ˆQ•�A˜‘H˜fÑ%Ô%Ð&ÐGÐGÐGr#   r   )rŒ   rD   r*   Úrange)rŽ   Úprefix_tokensrA   r�   s   `  @r!   Úchunk_rangesr“   �   sk   øø€ Ý�˜-Ñ'¨!Ñ+°Ñ1µ7Ñ;Ô;€DØ�‚z€z�T˜A’X�XÝÐKÑLÔLÐLØGÐGÐGÐGÐGµ°a¸ÀÑ0FÔ0FÐGÑGÔGÐGr#   r   )Ú__doc__Ú
__future__r   Údataclassesr   r   r   r%   rg   ru   r{   r|   r}   Ú	MUSIC_ENDÚCODEC_OFFSETÚ
CODEC_SIZEÚLATENT_STARTÚ
LATENT_ENDÚ
LATENT_PADÚ
VOCAB_SIZErD   rS   rf   r   r5   rX   rZ   r„   r‡   r“   r3   r#   r!   ú<module>rž      sÞ  ðØ EÐ EØ "Ð "Ð "Ð "Ð "Ð "Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø €€€Ø 	€	€	€	à€Ø#Ñ €	ˆ7Ø'Ñ €ˆYØ(Ñ €ˆjØ'=Ñ $€ˆj˜*Ø#Ñ €
ˆGØ#Ð àHð QØ|ðð €ð €�$ÐÑÔðFð Fð Fð Fð Fñ Fô Fñ ÔðFð, €�$ÐÑÔðð ð ð ð ñ ô ñ Ôðð2Wð Wð Wð €�$ÐÑÔðð ð ð ð ñ ô ñ ÔððDAð Að Að Að	Að 	Að 	Að 	Að 18ð Hð Hð Hð Hð Hð Hr#   