a ƒ.dQã@s°ddlZddlZddlZddlZddlmZdddddddd gd ¢gd ¢d gd ¢gd¢gd¢gd¢gdddd dd dddddddddœdœZdd„Zdd„Z dd „Z d#d!d"„Z dS)$éNÚ1éég-Cëâ6*?gš™™™™™é?g®Gáz®ï?g+‡ÙÎ÷ï?iÒ)ééérr)rrérri)ééé )ér ri é@ié i€>i@rÚncclztcp://localhost:54321r )Ú dist_backendZdist_urlÚ world_size)ÚresblockÚnum_gpusÚ batch_sizeÚ learning_rateZadam_b1Zadam_b2Úlr_decayÚseedÚupsample_ratesÚupsample_kernel_sizesÚupsample_initial_channelÚresblock_kernel_sizesÚresblock_dilation_sizesÚ segment_sizeÚnum_melsZnum_freqÚn_fftZhop_sizeÚwin_sizeÚ sampling_rateÚfminÚfmaxZ fmax_for_lossÚ num_workersZ dist_configcCs–td|ƒt |¡d}| ¡}i}| ¡D]B}|| ¡vrd|| ¡|| ¡krd||||<q.td|ƒq.tdt| ¡ƒt| ¡ƒfƒ|S)Nz==> Attemp to reload from %sÚ state_dictz==> WARNING: Skipping %sz%s out of %s keys are matched)ÚprintÚtorchÚloadr%ÚkeysÚsizeÚlen)ÚmodelZckptr%Zcurrent_state_dictÚnew_state_dictÚk©r/úA/home/deep/Projects/audio_diffusion/audioldm/hifigan/utilities.pyÚget_available_checkpoint_keys*s"   ÿþÿÿr1cCstdd„| ¡Dƒƒ}|S)Ncss|]}| ¡VqdS©N)Únumel)Ú.0Úparamr/r/r0Ú ?óz get_param_num..)ÚsumÚ parameters)r,Ú num_paramr/r/r0Ú get_param_num>sr;cCs2t t¡}t |¡}| ¡| ¡| |¡|Sr2)ÚhifiganÚAttrDictÚHIFIGAN_16K_64Ú GeneratorÚevalÚremove_weight_normÚto)ÚconfigÚdeviceÚvocoderr/r/r0Ú get_vocoderCs    rFcCst| ¡t ¡||ƒ d¡}Wdƒn1s40Y| ¡ ¡d d¡}|durp|dd…d|…f}|S)Nr i€Úint16)r@r'Úno_gradÚsqueezeÚcpuÚnumpyÚastype)ÚmelsrEÚlengthsÚwavsr/r/r0Ú vocoder_inferLs ,rP)N) ÚosÚjsonr'rKÚnpZaudioldm.hifiganr<r>r1r;rFrPr/r/r/r0ÚsJ ýç!