mirror of
https://github.com/fumiama/Retrieval-based-Voice-Conversion-WebUI.git
synced 2026-06-07 10:10:23 +08:00
optimize(rvc.f0): rename inner defs
This commit is contained in:
@@ -10,7 +10,6 @@ from time import time
|
|||||||
import faiss
|
import faiss
|
||||||
import librosa
|
import librosa
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import pyworld
|
|
||||||
import torch
|
import torch
|
||||||
import torch.nn.functional as F
|
import torch.nn.functional as F
|
||||||
import torchcrepe
|
import torchcrepe
|
||||||
|
|||||||
@@ -28,4 +28,4 @@ class Dio(F0Predictor):
|
|||||||
f0 = pyworld.stonemask(wav.astype(np.double), f0, t, self.sampling_rate)
|
f0 = pyworld.stonemask(wav.astype(np.double), f0, t, self.sampling_rate)
|
||||||
for index, pitch in enumerate(f0):
|
for index, pitch in enumerate(f0):
|
||||||
f0[index] = round(pitch, 1)
|
f0[index] = round(pitch, 1)
|
||||||
return self.interpolate_f0(self.resize_f0(f0, p_len))[0]
|
return self._interpolate_f0(self._resize_f0(f0, p_len))[0]
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class F0Predictor(object):
|
|||||||
filter_radius: Optional[Union[int, float]] = None,
|
filter_radius: Optional[Union[int, float]] = None,
|
||||||
): ...
|
): ...
|
||||||
|
|
||||||
def interpolate_f0(self, f0: np.ndarray[Any, np.dtype]):
|
def _interpolate_f0(self, f0: np.ndarray[Any, np.dtype]):
|
||||||
"""
|
"""
|
||||||
对F0进行插值处理
|
对F0进行插值处理
|
||||||
"""
|
"""
|
||||||
@@ -55,7 +55,7 @@ class F0Predictor(object):
|
|||||||
|
|
||||||
return ip_data[:, 0], vuv_vector[:, 0]
|
return ip_data[:, 0], vuv_vector[:, 0]
|
||||||
|
|
||||||
def resize_f0(self, x: np.ndarray[Any, np.dtype], target_len: int):
|
def _resize_f0(self, x: np.ndarray[Any, np.dtype], target_len: int):
|
||||||
source = np.array(x)
|
source = np.array(x)
|
||||||
source[source < 0.001] = np.nan
|
source[source < 0.001] = np.nan
|
||||||
target = np.interp(
|
target = np.interp(
|
||||||
|
|||||||
@@ -29,4 +29,4 @@ class Harvest(F0Predictor):
|
|||||||
f0 = pyworld.stonemask(wav.astype(np.double), f0, t, self.sampling_rate)
|
f0 = pyworld.stonemask(wav.astype(np.double), f0, t, self.sampling_rate)
|
||||||
if filter_radius is not None and filter_radius > 2:
|
if filter_radius is not None and filter_radius > 2:
|
||||||
f0 = signal.medfilt(f0, 3)
|
f0 = signal.medfilt(f0, 3)
|
||||||
return self.interpolate_f0(self.resize_f0(f0, p_len))[0]
|
return self._interpolate_f0(self._resize_f0(f0, p_len))[0]
|
||||||
|
|||||||
@@ -36,4 +36,4 @@ class PM(F0Predictor):
|
|||||||
pad_size = (p_len - len(f0) + 1) // 2
|
pad_size = (p_len - len(f0) + 1) // 2
|
||||||
if pad_size > 0 or p_len - len(f0) - pad_size > 0:
|
if pad_size > 0 or p_len - len(f0) - pad_size > 0:
|
||||||
f0 = np.pad(f0, [[pad_size, p_len - len(f0) - pad_size]], mode="constant")
|
f0 = np.pad(f0, [[pad_size, p_len - len(f0) - pad_size]], mode="constant")
|
||||||
return self.interpolate_f0(f0)[0]
|
return self._interpolate_f0(f0)[0]
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ class RMVPE(F0Predictor):
|
|||||||
|
|
||||||
f0 = self._decode(hidden, thred=filter_radius)
|
f0 = self._decode(hidden, thred=filter_radius)
|
||||||
|
|
||||||
return self.interpolate_f0(self.resize_f0(f0, p_len))[0]
|
return self._interpolate_f0(self._resize_f0(f0, p_len))[0]
|
||||||
|
|
||||||
def _to_local_average_cents(self, salience, threshold=0.05):
|
def _to_local_average_cents(self, salience, threshold=0.05):
|
||||||
center = np.argmax(salience, axis=1) # 帧长#index
|
center = np.argmax(salience, axis=1) # 帧长#index
|
||||||
|
|||||||
Reference in New Issue
Block a user