ó
    ð“,jZ  ã                   ó  • S r SSKrSSKrSSKrSSKrSSKJrJr  SSKJr  SSK	J
r
  SSKJr  SSKJr  SS	KJrJrJrJrJrJrJrJr  / S
QrSSSSS.rSSSSS.rS\S\S\\\4   4S jrS\\   4S jr SS\S\S\4S jjrg)zNModified from
https://github.com/openai/whisper/blob/main/whisper/__init__.py
é    N)ÚListÚUnion)Útqdm)ÚS3TokenizerV2)ÚS3TokenizerV3é   )ÚS3Tokenizer)Ú
load_audioÚlog_mel_spectrogramÚmake_non_pad_maskÚmask_to_biasÚmerge_tokenized_segmentsÚ
onnx2torchÚonnx2torch_v3Úpadding)r
   r   r   r   r   r   r   r   z[https://www.modelscope.cn/models/iic/cosyvoice-300m/resolve/master/speech_tokenizer_v1.onnxz`https://www.modelscope.cn/models/iic/CosyVoice-300M-25Hz/resolve/master/speech_tokenizer_v1.onnxz\https://www.modelscope.cn/models/iic/CosyVoice2-0.5B/resolve/master/speech_tokenizer_v2.onnxzmhttps://www.modelscope.cn/models/FunAudioLLM/Fun-CosyVoice3-0.5B-2512/resolve/master/speech_tokenizer_v3.onnx)Úspeech_tokenizer_v1Úspeech_tokenizer_v1_25hzÚspeech_tokenizer_v2_25hzÚspeech_tokenizer_v3_25hzÚ@23b5a723ed9143aebfd9ffda14ac4c21231f31c35ef837b6a13bb9e5488abb1eÚ@56285ddd4a83e883ee0cb9f8d69c1089b53a94b1f78ff7e4a0224a27eb4cb486Ú@d43342aa12163a80bf07bffb94c9de2e120a8df2f9917cd2f642e7f4219c6f71Ú@23236a74175dbdda47afc66dbadd5bcb41303c467a57c261cb8539ad9db9208dÚnameÚrootÚreturnc                 ó  • [         R                  " USS9  [        U    n[        U    n[         R                  R                  X S35      n[         R                  R                  U5      (       a2  [         R                  R                  U5      (       d  [        U S35      e[         R                  R                  U5      (       ah  [        US5       nUR                  5       nS S S 5        [        R                  " W5      R                  5       U:X  a  U$ [        R                  " U S35        [         R"                  R%                  U5       n[        US5       n['        [)        UR+                  5       R-                  S5      5      S	S
SSSS9 n	 UR                  S5      n
U
(       d  O-UR/                  U
5        U	R1                  [3        U
5      5        MF  S S S 5        S S S 5        S S S 5        [        US5      R                  5       n[        R                  " U5      R                  5       U:w  a  [        S5      eU$ ! , (       d  f       GNb= f! , (       d  f       N= f! , (       d  f       Nˆ= f! , (       d  f       N‘= f)NT)Úexist_okz.onnxz! exists and is not a regular fileÚrbzH exists, but the SHA256 checksum does not match; re-downloading the fileÚwbzContent-LengthéP   ÚiBi   zDownloading onnx checkpoint)ÚtotalÚncolsÚunitÚ
unit_scaleÚunit_divisorÚdesci    zeModel has been downloaded but the SHA256 checksum does not not match. Please retry loading the model.)ÚosÚmakedirsÚ_SHA256SÚ_MODELSÚpathÚjoinÚexistsÚisfileÚRuntimeErrorÚopenÚreadÚhashlibÚsha256Ú	hexdigestÚwarningsÚwarnÚurllibÚrequestÚurlopenr   ÚintÚinfoÚgetÚwriteÚupdateÚlen)r   r   Úexpected_sha256ÚurlÚdownload_targetÚfÚmodel_bytesÚsourceÚoutputÚloopÚbuffers              Ú¢C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\s3tokenizer/__init__.pyÚ	_downloadrL   B   sù  € Ü‡K‚K�˜tÒ$ä˜t‘n€OÜ
�$‰-€CÜ—g‘g—l‘l 4¨6°¨Ó8€Oä	‡w�w‡~�~�o×&Ñ&¬r¯w©w¯~©~¸o×/NÑ/NÜØÐÐ@ÐAóCð 	Cô 
‡w�w‡~�~�o×&Ñ&Ü�/ 4Ô(¨AØŸ&™&›(ˆK÷ )ä�>Š>˜+Ó&×0Ñ0Ó2°oÓEØ"Ð"ä�MŠMØ"Ð#ð $2ð 2ô3ô 
�‰×	Ñ	 Ô	$¨´°_Ø59ô1;Ø>DÜÜ˜&Ÿ+™+›-×+Ñ+Ð,<Ó=Ó>ØØØØ!Ø2ò
ð ØØŸ™ TÓ*�ÞØà—‘˜VÔ$Ø—‘œC ›KÔ(ñ ÷
÷1;×	$ô$ �¨Ó-×2Ñ2Ó4€KÜ‡~‚~�kÓ"×,Ñ,Ó.°/ÓAÜð6ó7ð 	7ð Ð÷C )Ö(ú÷
õ 
ú÷1;õ 1;ú×	$Õ	$úsI   ÃH<ÅI0Å5IÆAIÇIÇI0È<
IÉ
IÉIÉ
I-	É)I0É0
I>c                  ó<   • [        [        R                  5       5      $ )z%Returns the names of available models)Úlistr,   Úkeys© ó    rK   Úavailable_modelsrR   r   s   € ä”—‘“ÓÐrQ   Údownload_rootc                 ó  • Ucr  [         R                  R                  [         R                  R                  S5      S5      n[         R                  R                  [         R                  " SU5      S5      nU [
        ;   a  [        X5      nO@[         R                  R                  U 5      (       a  U nO[        SU  S[        5        35      eSU ;   a  [        U 5      nOSU ;   a  [        U 5      nO[        U 5      nUR                  U5        U$ )	a¡  
Load a S3Tokenizer ASR model

Parameters
----------
name : str
    one of the official model names listed by
    `s3tokenizer.available_models()`, or path to a model checkpoint
     containing the model dimensions and the model state_dict.
download_root: str
    path to download the model files; by default,
    it uses "~/.cache/s3tokenizer"

Returns
-------
model : S3Tokenizer
    The S3Tokenizer model instance
Ú~z.cacheÚXDG_CACHE_HOMEÚs3tokenizerzModel z not found; available models = Úv3Úv2)r)   r-   r.   Ú
expanduserÚgetenvr,   rL   r0   r1   rR   r   r   r	   Úinit_from_onnx)r   rS   ÚdefaultÚcheckpoint_fileÚmodels        rK   Ú
load_modelr`   w   sß   € ð. ÑÜ—'‘'—,‘,œrŸw™w×1Ñ1°#Ó6¸ÓAˆÜŸ™Ÿ™¤R§Y¢YÐ/?ÀÓ%IØ%2ó4ˆð ŒwƒÜ# DÓ8‰Ü	�‰�‰˜×	Ñ	Ø‰äØ�T�FÐ9Ô:JÓ:LÐ9MÐNóPð 	Pàˆtƒ|Ü˜dÓ#‰Ø	�‹Ü˜dÓ#‰ä˜DÓ!ˆØ	×Ñ˜Ô)à€LrQ   )N) Ú__doc__r4   r)   r9   r7   Útypingr   r   r   Ús3tokenizer.model_v2r   Ús3tokenizer.model_v3r   r_   r	   Úutilsr
   r   r   r   r   r   r   r   Ú__all__r,   r+   ÚstrÚbytesrL   rR   r`   rP   rQ   rK   Ú<module>ri      sÆ   ðñó Û 	Û Û ß å å .Ý .å ÷,÷ ,ó ,ò€ð.ð.ð.ð.ñ€ð" GàFàFàFñ	€ð-�Cð -˜sð - u¨U°C¨ZÑ'8ô -ð` ˜$˜s™)ô  ð ñ+Ø
ð+àð+ð ö+rQ   