Skip to content

Commit df83554

Browse files
committed
fix(rtrvc): parameter issue
1 parent a246a66 commit df83554

File tree

3 files changed

+22
-10
lines changed

3 files changed

+22
-10
lines changed

gui.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ def load(self):
172172
data["sr_model"] = data["sr_type"] == "sr_model"
173173
data["sr_device"] = data["sr_type"] == "sr_device"
174174
data["pm"] = data["f0method"] == "pm"
175+
data["dio"] = data["f0method"] == "dio"
175176
data["harvest"] = data["f0method"] == "harvest"
176177
data["crepe"] = data["f0method"] == "crepe"
177178
data["rmvpe"] = data["f0method"] == "rmvpe"
@@ -228,6 +229,7 @@ def load(self):
228229
data["sr_model"] = data["sr_type"] == "sr_model"
229230
data["sr_device"] = data["sr_type"] == "sr_device"
230231
data["pm"] = data["f0method"] == "pm"
232+
data["dio"] = data["f0method"] == "dio"
231233
data["harvest"] = data["f0method"] == "harvest"
232234
data["crepe"] = data["f0method"] == "crepe"
233235
data["rmvpe"] = data["f0method"] == "rmvpe"
@@ -405,6 +407,13 @@ def launcher(self):
405407
default=data.get("pm", False),
406408
enable_events=True,
407409
),
410+
sg.Radio(
411+
"dio",
412+
"f0method",
413+
key="dio",
414+
default=data.get("dio", False),
415+
enable_events=True,
416+
),
408417
sg.Radio(
409418
"harvest",
410419
"f0method",
@@ -614,9 +623,10 @@ def event_handler(self):
614623
# "use_jit": values["use_jit"],
615624
"use_jit": False,
616625
"use_pv": values["use_pv"],
617-
"f0method": ["pm", "harvest", "crepe", "rmvpe", "fcpe"][
626+
"f0method": ["pm", "dio", "harvest", "crepe", "rmvpe", "fcpe"][
618627
[
619628
values["pm"],
629+
values["dio"],
620630
values["harvest"],
621631
values["crepe"],
622632
values["rmvpe"],
@@ -656,7 +666,7 @@ def event_handler(self):
656666
self.rvc.set_index_rate(values["index_rate"])
657667
elif event == "rms_mix_rate":
658668
self.gui_config.rms_mix_rate = values["rms_mix_rate"]
659-
elif event in ["pm", "harvest", "crepe", "rmvpe", "fcpe"]:
669+
elif event in ["pm", "dio", "harvest", "crepe", "rmvpe", "fcpe"]:
660670
self.gui_config.f0method = event
661671
elif event == "I_noise_reduce":
662672
self.gui_config.I_noise_reduce = values["I_noise_reduce"]
@@ -718,9 +728,10 @@ def set_values(self, values):
718728
self.gui_config.rms_mix_rate = values["rms_mix_rate"]
719729
self.gui_config.index_rate = values["index_rate"]
720730
self.gui_config.n_cpu = values["n_cpu"]
721-
self.gui_config.f0method = ["pm", "harvest", "crepe", "rmvpe", "fcpe"][
731+
self.gui_config.f0method = ["pm", "dio", "harvest", "crepe", "rmvpe", "fcpe"][
722732
[
723733
values["pm"],
734+
values["dio"],
724735
values["harvest"],
725736
values["crepe"],
726737
values["rmvpe"],
@@ -1003,7 +1014,7 @@ def audio_callback(
10031014
sola_offset = sola_offset.item()
10041015
else:
10051016
sola_offset = torch.argmax(cor_nom[0, 0] / cor_den[0, 0])
1006-
printt("sola_offset = %d", int(sola_offset))
1017+
# printt("sola_offset = %d", int(sola_offset))
10071018
infer_wav = infer_wav[sola_offset:]
10081019
if "privateuseone" in str(self.config.device) or not self.gui_config.use_pv:
10091020
infer_wav[: self.sola_buffer_frame] *= self.fade_in_window
@@ -1030,7 +1041,7 @@ def audio_callback(
10301041
total_time = time.perf_counter() - start_time
10311042
if flag_vc:
10321043
self.window["infer_time"].update(int(total_time * 1000))
1033-
printt("Infer time: %.2f", total_time)
1044+
# printt("Infer time: %.2f", total_time)
10341045

10351046
def update_devices(self, hostapi_name=None):
10361047
"""获取设备列表"""

infer/lib/rtrvc.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,6 @@ def infer(
213213
pitch, pitchf = self._get_f0(
214214
input_wav[-f0_extractor_frame:],
215215
self.f0_up_key - self.formant_shift,
216-
self.n_cpu,
217216
3,
218217
f0method,
219218
)
@@ -275,7 +274,7 @@ def _get_f0(
275274
self,
276275
x: torch.Tensor,
277276
f0_up_key: Union[int, float],
278-
filter_radius: Union[int, float],
277+
filter_radius: Optional[Union[int, float]] = None,
279278
method: Literal["crepe", "rmvpe", "fcpe", "pm", "harvest", "dio"] = "fcpe",
280279
):
281280
if method not in self.f0_methods.keys():
@@ -302,14 +301,15 @@ def _get_f0_pm(self, x, f0_up_key, filter_radius):
302301
f0 = self.pm.compute_f0(x)
303302
return self._get_f0_post(f0, f0_up_key)
304303

305-
def _get_f0_harvest(self, x, f0_up_key, filter_radius):
304+
def _get_f0_harvest(self, x, f0_up_key, filter_radius=3):
306305
if not hasattr(self, "harvest"):
307306
self.harvest = Harvest(
308307
self.window,
309308
self.f0_min,
310309
self.f0_max,
311310
self.sr,
312311
)
312+
if filter_radius is None: filter_radius=3
313313
f0 = self.harvest.compute_f0(x, filter_radius=filter_radius)
314314
return self._get_f0_post(f0, f0_up_key)
315315

@@ -344,8 +344,9 @@ def _get_f0_rmvpe(self, x, f0_up_key, filter_radius=0.03):
344344
device=self.device,
345345
use_jit=self.use_jit,
346346
)
347+
if filter_radius is None: filter_radius=0.03
347348
return self._get_f0_post(
348-
self.rmvpe.compute_f0(x, thred=filter_radius),
349+
self.rmvpe.compute_f0(x, filter_radius=filter_radius),
349350
f0_up_key,
350351
)
351352

rvc/layers/synthesizers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ def infer(
187187
length = int(return_length.item())
188188
flow_head = torch.clamp(skip_head - 24, min=0)
189189
dec_head = head - int(flow_head.item())
190-
m_p, logs_p, x_mask = self.enc_p(phone, pitch, phone_lengths, flow_head)
190+
m_p, logs_p, x_mask = self.enc_p(phone, pitch, phone_lengths)
191191
z_p = (m_p + torch.exp(logs_p) * torch.randn_like(m_p) * 0.66666) * x_mask
192192
z = self.flow(z_p, x_mask, g=g, reverse=True)
193193
z = z[:, :, dec_head : dec_head + length]

0 commit comments

Comments
 (0)