CoolFace
Apppublic

ChazzyG/Retrieval-based-Voice-Conversion-WebUI

sourceHugging Faceapache-2.0updated 9mo agoView on Hugging Face
0likes
vc_infer_pipeline.cpython-310.pyc70 linesDownload Raw Back to __pycache__
1o

2T�d�-�@s�ddlZddlZddlZddlZddlmZddlmm	Z3ddlmZddl
Z
ddlZddlZddlZddlmZejddddd�\ZZGd	d4�d5e�ZdS)�N)�time)�signal��0�high�>)�N�Wn�btype�fsc@s2eZdZdd�Zd6dd�Zdd�Z	d7dd	�ZdS)�VCcCs�|j|j|j|j|jf\|_|_|_|_|_d|_d|_|j|j|_||j|_|jd|_	|j|j|_8|j|j|_|j|j|_|j
|_
dS)Nr��)�x_padZx_queryZx_center�x_max�is_half�sr�window�t_pad�	t_pad_tgt�t_pad2�t_query�t_center�t_max�device)�self�tgt_sr�config�r�D/content/Retrieval-based-Voice-Conversion-WebUI/vc_infer_pipeline.py�__init__s�zVC.__init__NcCsp|j|jd}d}d}dt�d|d�}	dt�d|d�}9|dkrct�||j�j|dd||d	�jd10}|t|�dd}|dksQ|t|�|dkrbtj	|||t|�|ggd
d�}n(|dkr�t11j|�tj
�|j||dd�\}}
t12�|�tj
�||
|j�}t�|d�}|td|d�9}|j|j}|dur�t�|dd�df��|dd�df��|d��d�}t�tt|��|dd�dfd|dd�df�}||j||j|t|��jd}|d|�||j||j|t|��<|��}dt�d|d�}||dk|	d|13|	d||dk<d||dk<d||dk<t�|��tj�}||fS)Ni��2iLig�i��pmg333333�?)�	time_stepZvoicing_thresholdZpitch_floorZ
pitch_ceiling�	frequencyrr�constant��mode�harvest�14)rZf0_ceilZf0_floorZframe_period���int16�d����)rr�np�log�parselmouthZSoundZto_pitch_acZselected_array�len�pad�pyworldr)�astype�doubleZ	stonemaskr�medfilt�pow�round�max�min�interp�list�ranger�shape�copy�rint�int)r�x�p_len�	f0_up_key�	f0_method�inp_f0r$Zf0_minZf0_maxZ15f0_mel_minZ16f0_mel_max�f0�pad_size�tZtf0�delta_tZ17replace_f0rAZf0bakZf0_melZ	f0_coarserrr�get_f0st���18��1920�.��*�& ���z	VC.get_f0cCsBt�|�}|jr
|��}n|��}|��dkr|�d�}|��dks(J|����|�dd�}t�|j	��21|j��d�}|�22|j�|dd�}
t
�}t���|jdi|
��}|�|d�}Wd�n1sfwYt|td��dkr�t|	td��dkr�|23dkr�|d����}|jr�|�d�}|j|d	d24�\}}t�d|�}||jddd�}tj|	|tj|dd
�dd
�}|jr�|�d�}t�|��d��25|j�|26d|27|}tj|�ddd�dd��ddd�}t
�}|j	d|j}|j	d|k�r|j	d}|dk�r|dk�r|dd�d|�f}|dd�d|�f}tj |g|jd��!�}t���E|dk�rR|dk�rR|�"|||||�dddj#�������tj$�}n|�"|||�dddj#�������tj$�}Wd�n	1�suwY~~~tj%�&��r�tj%�'�t
�}|d||7<|d||7<|S)Nr�����r"F�	)�source�padding_mask�output_layerr�float32�)�kT)�axis�keepdims)rW�float16)�scale_factor�r)rri�r)(�torch�28from_numpyr�half�float�dim�mean�view�29BoolTensorrA�tor�fill_�ttime�no_grad�extract_features�30final_proj�31isinstance�type�cpu�numpyr7�searchr1�square�sum�expand_dims�	unsqueeze�F�interpolate�permuter�tensor�long�infer�datar-�cuda�is_available�empty_cache)r�model�net_g�sidZaudio0�pitch�pitchf�times�index�big_npy�32index_rate�featsrR�inputs�t0�logits�npy�score�ix�weight�t1rFZaudio1�t2rrr�vcWs�33
343536�37�38 3940��"4142�	���43zVC.vccCs�|dkr,tj�|�dkr,|	dkr,zt�|�}|�d|j�}
Wnt��d}}
Ynd}}
t	�44tt|�}t
j||jd|jdfdd�}g}|jd|jkr�t
�|�}t|j�D]
}|||||j�7}q[t|j|jd|j�D]1}|�||jt
�t
�|||j||j��t
�|||j||j����k�dd�qtd}g}d}t�}t
j||j|jfdd�}|jd|j}d}t|d�dk�rz=t|jd��}|��� d	��!d	�}Wd�n1s�wYg}|D]}|�d45d�|�!d�D��q�t
j"|d
d�}Wnt��Yt#j$||j%d��&d��'�}d\}}|46dk�rZ|�(|||||�\}}|d|�}|d|�}t#j$||j%d��&d��'�}t#j$||j%d��&d��)�}t�}|d||7<|D]y}||j|j}|47dk�r�|�|�*|||||||j+|j�|dd�||j||j+|j�f|dd�||j||j+|j�f|||
|	�48|j,|j,��n"|�|�*|||||||j+|j�dd|||
|	�49|j,|j,��|}�qi|50dk�r)|�|�*|||||d�|du�r|dd�||jd�fn||du�r|dd�||jd�fn||||
|	�51|j,|j,��n|�|�*|||||d�dd|||
|	�52|j,|j,��t
�-|�}~~~t#j.�/��rXt#j.�0�|S)N�Trr�reflectr'�name�r�53cSsg|]}t|��qSr)r_)�.0�irrr�54<listcomp>�szVC.pipeline.<locals>.<listcomp>�,rT)�dtyper[)NNr")1�os�path�exists�faiss�55read_index�
reconstruct_n�ntotal�	traceback�	print_excr�filtfilt�bh�ahr1r5rrAr�56zeros_liker@r�appendr�where�absr=rfr�hasattr�openr��read�strip�split�arrayr\rvrrrrwrNr_r�rr�concatenaterzr{r|)rr}r~r�audior�rGrH�57file_indexr��if_f0�f0_filer�r�Z	audio_padZopt_tsZ	audio_sumr�rL�s�	audio_optr�rFrI�f�lines�liner�r�r�rrr�pipeline�s58 59� �������606162$$������6364&&���65���6667zVC.pipeline)N)�__name__�68__module__�__qualname__r rNr�r�rrrrrs699i�r)rmr1r3r\�pdbrrfZtorch.nn.functional�nn�70functionalrs�scipy.signalrr6r�r�r��scipy�butterr�r��objectrrrrr�<module>s