ó
    :ƒj¨  ã                   óN  • S SK r S SKrS SKrS SKrS SKrS SKrS SKJrJ	r	J
r
Jr  S SKJrJrJrJrJrJrJrJr  S SKJr  \R.                  R1                  \R.                  R3                  \R.                  R5                  \5      5      S5      r\R.                  R1                  \R.                  R3                  \R.                  R5                  \5      5      S5      r\R.                  R1                  \S5      r\R.                  R1                  \S5      rS	r S
 r!\"S:X  a  \!" 5         gg)é    N)ÚH_DIMÚHID_EXTÚJSON_EXTÚVAE_EXT)ÚCKPTÚDEVICEÚDTYPEÚdecode_codesÚn_render_framesÚ	predict_hÚpublic_warmupÚwav_stft_cossim)ÚHiddenEncoderz..Údatasetszbuild/mm-synthÚmodelsz/tmp/rvq-evalc            
      ó4  • [         R                  " 5       n U R                  S5        U R                  S5        U R                  S[        R                  R                  [        R                  R                  [        5      S5      S9  U R                  S5        U R                  S5        U R                  SS	S
9  U R                  5       n[        R                  R                  [        UR                  5      n[        R                  R                  X!R                  [        -   5      n[        [        R                  R                  X!R                  [        -   5      5       n[        R                   " U5      nS S S 5        WR#                  SS 5        SUS'   [%        U[&        [(        [        R                  R                  [*        UR                  S-   5      5      n[-        [/        UR1                  SS5      5      S-  5      n[3        X75      u  p‰[5        5       R7                  [8        5      R;                  5       n
[<        R                   " UR>                  [8        S9nU
RA                  US   5        [C        SUR>                   SUS    SUS   S S3SS9  [E        X£X˜5      n[        R                  R                  X!R                  [F        -   5      nURH                  (       aú  [        R                  RK                  U5      (       aÖ  [L        RN                  " U[L        RP                  U[R        -  S9RU                  U[R        5      n[<        RV                  RX                  R[                  U[<        R\                  " UR_                  [L        R`                  5      5      R7                  [8        5      SS9Rc                  5       Re                  5       n[C        S US 3SS9  S!S"K3J4n  S!S#K5J6n  URo                  [p        S$-   [r        S%9R7                  [8        5      nURo                  [p        S&-   [r        S%9R7                  [8        5      nURu                  S'5      R;                  5         URu                  S'5      R;                  5         [w        UUU5      u  nn[<        Rx                  " US(-   S)4[8        [<        Rz                  S*9nUUS!'   UUS(S 2S!4'   UUS(S 2S(S 24'   [        R|                  " [*        SS+9  S,R                  S- UR                  5       R�                  5       Rƒ                  5        5       5      US'   UR„                  =(       d1    [        R                  R                  [*        UR                  S.-   5      nUR†                  (       a  UR†                  nOrUR„                  (       a0  [        R                  R‰                  UR„                  5      S!   S/-   nO1[        R                  R                  [*        UR                  S0-   5      n[        R|                  " [        R                  R                  [        R                  R‹                  U5      5      SS+9  [        R|                  " [        R                  R                  [        R                  R‹                  U5      5      SS+9  [        US15       n[        RŒ                  " XT5        S S S 5        [Ž        R�                  " [&        S2[(        S3US4U/SS59  [        R                  R                  X!R                  S/-   5      n[“        UU5      n[C        S6US7 3SS9  [C        S8U 3SS9  UR„                  (       aˆ  UR                  UR                  UR>                  SS9S:US;.n[        [        R                  R‰                  U5      S!   S<-   S15       n[        RŒ                  " UUS=S>9  UR•                  S?5        S S S 5        g g ! , (       d  f       GNu= f! , (       d  f       GN2= f! , (       d  f       g = f)@NÚdatasetÚbasez--ckptzcheckpoints/v3/best.pt)Údefaultz--save-requestz
--save-wavz--oracle-hiddensÚ
store_true)ÚactionÚaudio_codesÚwav16Úoutput_formatz-warmupÚdurationg      N@g      9@)Úmap_locationÚmodelz[Eval] z (epoch Úepochz, val loss Úval_lossz.4fÚ)T)Úflush)ÚdtypeÚcountéÿÿÿÿ)Údimz-[Oracle] h cossim vs teacher-forced hiddens: r   )ÚQwen3ForCausalLM)ÚMiniMaxMusic3RVQDepthDecoderz/language_model)Útorch_dtypez/rvq_depth_decoderFé   é   )Údevicer"   )Úexist_okÚ,c              3   óJ   #   • U  H  n[        [        U5      5      v •  M     g 7f)N)ÚstrÚint)Ú.0Úvs     Útraining/eval-e2e.pyÚ	<genexpr>Úmain.<locals>.<genexpr>T   s   é € Ð%[Ò;Z°a¤c¬#¨a«&§k kÒ;Zùs   ‚!#z
-pred.jsonz.wavz	-pred.wavÚwz--modelsz	--requestz--out)Úcheckz[Eval] STFT cossim z.6fz[Eval] request z&published C++ AR from prompt + lm_seedz&final shifted 128-frame encoder window)r   r   ÚsourceÚ	leak_freeÚwarmupÚtailÚscorez
.meta.jsoné   )ÚindentÚ
)KÚargparseÚArgumentParserÚadd_argumentÚosÚpathÚjoinÚdirnameÚ__file__Ú
parse_argsÚDATASETS_DIRr   r   r   Úopenr   ÚjsonÚloadÚpopr   ÚMM_SYNTHÚ
MODELS_DIRÚEVAL_TMPr0   ÚfloatÚgetr   r   Útor   ÚevalÚtorchÚckptÚload_state_dictÚprintr   r   Úoracle_hiddensÚexistsÚnpÚfromfileÚfloat16r   ÚreshapeÚnnÚ
functionalÚcosine_similarityÚ
from_numpyÚastypeÚfloat32ÚmeanÚitemÚtransformersr&   Ú>diffusers.models.transformers.minimax_music3_rvq_depth_decoderr'   Úfrom_pretrainedr   r	   Úrequires_grad_r
   ÚemptyÚlongÚmakedirsÚcpuÚnumpyÚflattenÚsave_requestÚsave_wavÚsplitextÚabspathÚdumpÚ
subprocessÚrunr   Úwrite)ÚapÚargsÚcorpusÚvae_pathÚfÚrequestr:   Ú
max_framesÚn_framesÚstartsr   ÚstateÚh_hatÚhid_pathÚtrue_hÚhcosr&   r'   ÚlmÚdepthÚsemÚacÚdecodedÚ	pred_jsonÚpred_wavÚref_pathr<   Úmetas                               r3   Úmainr�   !   sÓ  € Ü	×	 Ò	 Ó	"€BØ‡O�O�IÔØ‡O�O�FÔØ‡O�O�H¤b§g¡g§l¡l´2·7±7·?±?Ä8Ó3LÐNfÓ&g€OÑhØ‡O�OÐ$Ô%Ø‡O�O�LÔ!Ø‡O�OÐ&¨|€OÑ<Ø�=‰=‹?€Dä�w‰w�|‰|œL¨$¯,©,Ó7€FÜ�w‰w�|‰|˜F§I¡I´Ñ$7Ó8€HÜ	Œb�g‰g�l‰l˜6§9¡9¬xÑ#7Ó8Ô	9¸QÜ—)’)˜A“,ˆ÷ 
:à‡K�K�˜tÔ$Ø&€GˆOÑÜØ”œ:¤r§w¡w§|¡|´H¸d¿i¹iÈ)Ñ>SÓ'TóV€Fä”U˜7Ÿ;™; z°4Ó8Ó9¸DÑ@ÓA€JÜ& xÓ<Ñ€Hä‹O×ÑœvÓ&×+Ñ+Ó-€EÜ�JŠJ�t—y‘y¬vÑ6€EØ	×Ñ˜% ™.Ô)Ü	ˆG�D—I‘I�;˜h u¨W¡~Ð&6°kÀ%È
ÑBSÐTWÐAXÐXYÐ
ZÐbfÒgä�e vÓ8€EÜ�w‰w�|‰|˜F§I¡I´Ñ$7Ó8€HØ××œrŸw™wŸ~™~¨h×7Ñ7Ü—’ØœBŸJ™J¨h¼Ñ.>ñ@ß@GÁÈÔRWÓ@Xð 	ä�x‰x×"Ñ"×4Ñ4Ø”5×#Ò# F§M¡M´"·*±*Ó$=Ó>×AÑAÄ&ÓIÈrð 5ð SßSWÑSWÓSY×Z^ÑZ^ÓZ`ð 	äÐ=¸dÀ3¸ZÐHÐPTÒUå-Ýkà	×	)Ñ	)¬$Ð1BÑ*BÔPUÐ	)Ð	V×	YÑ	YÔZ`Ó	a€BØ(×8Ñ8¼Ð@TÑ9TÜEJð 9ð LßLNÉBÌvËJð 
à×Ñ�eÓ×!Ñ!Ô#Ø	×Ñ˜Ó×$Ñ$Ô&ä˜2˜u eÓ,�G€CˆÜ�kŠk˜8 a™<¨Ð+´FÄ%Ç*Á*ÑM€GØ€GˆA�JØ€GˆA‰B�ˆE�NØ€GˆA‰B�‘ˆF�Oä‡K‚K” 4Ò(Ø ŸX™XÑ%[¸7¿;¹;»=×;NÑ;NÓ;P×;XÑ;XÔ;ZÓ%[Ó[€GˆMÑØ×!Ñ!×U¤R§W¡W§\¡\´(¸D¿I¹IÈÑ<TÓ%U€IØ‡}‡}Ø—=‘=‰Ø	×	×	Ü—7‘7×#Ñ# D×$5Ñ$5Ó6°qÑ9¸FÑB‰ä—7‘7—<‘<¤¨$¯)©)°kÑ*AÓBˆÜ‡K‚K”—‘—‘¤§¡§¡°	Ó :Ó;ÀdÒKÜ‡K‚K”—‘—‘¤§¡§¡°Ó 9Ó:ÀTÒJÜ	ˆi˜Ô	 Ü�	Š	�'Ô÷ 
ä‡N‚N”H˜j¬*°kÀ9ÈgÐW_Ð`ÐhlÒmä�w‰w�|‰|˜F§I¡I°Ñ$6Ó7€HÜ˜H hÓ/€EÜ	Ð  c˜{Ð
+°4Ò8Ü	ˆO˜I˜;Ð
'¨tÒ4Ø××à—|‘|Ø—I‘IØ—i‘iØØ>Ø<Øñ
ˆô ”"—'‘'×"Ñ" 9Ó-¨aÑ0°<Ñ?ÀÔEÈÜ�IŠI�d˜A aÒ(Ø�G‰G�DŒM÷ FÐEð ÷s 
:Ö	9ú÷b 
Ö	ú÷$ FÕEús$   Å _%Ú5_7Þ3(`	ß%
_4ß7
`à	
`Ú__main__)#r@   rK   rC   rv   ro   r[   rU   r   r   r   r   r   Úe2er   r   r	   r
   r   r   r   r   r   r   rD   rE   rF   rt   rG   ÚROOTrI   rN   rO   rP   r�   Ú__name__© ó    r3   Ú<module>r—      sÖ   ðó Û Û 	Û ã Û ç 5Ó 5÷1÷ 1ó 1å à�w‰w�|‰|˜BŸG™GŸO™O¨B¯G©G¯O©O¸HÓ,EÓFÈÓM€Ø�w‰w�|‰|˜BŸG™GŸO™O¨B¯G©G¯O©O¸HÓ,EÓFÈ
ÓS€Ø�w‰w�|‰|˜DÐ"2Ó3€Ø�w‰w�|‰|˜D (Ó+€
Ø€òQðh ˆzÓÙ…Fð r–   