Skip to content

Commit a36ff01

Browse files
authored
Add files via upload
1 parent 605fbe1 commit a36ff01

7 files changed

Lines changed: 38 additions & 34 deletions

extract_f0_print.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,17 @@ def compute_f0(self, path,f0_method):
4545
f0, t = pyworld.harvest(
4646
x.astype(np.double),
4747
fs=sr,
48-
f0_ceil=1100,
48+
f0_ceil=self.f0_max,
49+
f0_floor=self.f0_min,
4950
frame_period=1000 * self.hop / sr,
5051
)
5152
f0 = pyworld.stonemask(x.astype(np.double), f0, t, self.fs)
5253
elif(f0_method=="dio"):
5354
f0, t = pyworld.dio(
5455
x.astype(np.double),
5556
fs=sr,
56-
f0_ceil=1100,
57+
f0_ceil=self.f0_max,
58+
f0_floor=self.f0_min,
5759
frame_period=1000 * self.hop / sr,
5860
)
5961
f0 = pyworld.stonemask(x.astype(np.double), f0, t, self.fs)

extract_feature_print.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import os,sys,traceback
2-
device=sys.argv[1]
2+
# device=sys.argv[1]
33
n_part=int(sys.argv[2])
44
i_part=int(sys.argv[3])
55
if len(sys.argv) == 5:
@@ -14,6 +14,7 @@
1414
import soundfile as sf
1515
import numpy as np
1616
from fairseq import checkpoint_utils
17+
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
1718

1819
f = open("%s/extract_f0_feature.log"%exp_dir, "a+")
1920
def printt(strr):
@@ -48,7 +49,7 @@ def readwave(wav_path, normalize=False):
4849
)
4950
model = models[0]
5051
model = model.to(device)
51-
printt("move model to "+device)
52+
printt("move model to %s"%device)
5253
if device != "cpu": model = model.half()
5354
model.eval()
5455

go-web.bat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
runtime\python.exe infer-web.py --pycmd runtime\python.exe

infer-web.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@
55
from time import sleep
66
import torch, os,traceback,sys,warnings,shutil,numpy as np
77
import faiss
8+
now_dir=os.getcwd()
9+
sys.path.append(now_dir)
10+
tmp=os.path.join(now_dir,"TEMP")
11+
shutil.rmtree(tmp,ignore_errors=True)
12+
os.makedirs(tmp,exist_ok=True)
13+
os.makedirs(os.path.join(now_dir,"logs"),exist_ok=True)
14+
os.makedirs(os.path.join(now_dir,"weights"),exist_ok=True)
15+
os.environ["TEMP"]=tmp
16+
warnings.filterwarnings("ignore")
17+
torch.manual_seed(114514)
818
from webui_locale import I18nAuto
919
i18n = I18nAuto()
1020
#判断是否有能用来训练和加速推理的N卡
@@ -22,16 +32,6 @@
2232
gpu_infos.append("%s\t%s"%(i,gpu_name))
2333
gpu_info="\n".join(gpu_infos)if if_gpu_ok==True and len(gpu_infos)>0 else "很遗憾您这没有能用的显卡来支持您训练"
2434
gpus="-".join([i[0]for i in gpu_infos])
25-
now_dir=os.getcwd()
26-
sys.path.append(now_dir)
27-
tmp=os.path.join(now_dir,"TEMP")
28-
shutil.rmtree(tmp,ignore_errors=True)
29-
os.makedirs(tmp,exist_ok=True)
30-
os.makedirs(os.path.join(now_dir,"logs"),exist_ok=True)
31-
os.makedirs(os.path.join(now_dir,"weights"),exist_ok=True)
32-
os.environ["TEMP"]=tmp
33-
warnings.filterwarnings("ignore")
34-
torch.manual_seed(114514)
3535
from infer_pack.models import SynthesizerTrnMs256NSFsid, SynthesizerTrnMs256NSFsid_nono
3636
from scipy.io import wavfile
3737
from fairseq import checkpoint_utils
@@ -563,7 +563,7 @@ def change_info_(ckpt_path):
563563
total_epoch11 = gr.Slider(minimum=0, maximum=1000, step=1, label=i18n("总训练轮数total_epoch"), value=20,interactive=True)
564564
batch_size12 = gr.Slider(minimum=0, maximum=32, step=1, label='每张显卡的batch_size', value=4,interactive=True)
565565
if_save_latest13 = gr.Radio(label=i18n("是否仅保存最新的ckpt文件以节省硬盘空间"), choices=["是", "否"], value="否", interactive=True)
566-
if_cache_gpu17 = gr.Radio(label=i18n("是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速"), choices=["是", "否"], value="", interactive=True)
566+
if_cache_gpu17 = gr.Radio(label=i18n("是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速"), choices=["是", "否"], value="", interactive=True)
567567
with gr.Row():
568568
pretrained_G14 = gr.Textbox(label=i18n("加载预训练底模G路径"), value="pretrained/f0G40k.pth",interactive=True)
569569
pretrained_D15 = gr.Textbox(label=i18n("加载预训练底模D路径"), value="pretrained/f0D40k.pth",interactive=True)
@@ -624,10 +624,10 @@ def change_info_(ckpt_path):
624624
ckpt_path2.change(change_info_,[ckpt_path2],[sr__,if_f0__])
625625
but9.click(extract_small_model, [ckpt_path2,save_name,sr__,if_f0__,info___], info7)
626626

627-
with gr.TabItem(i18n("招募音高曲线前端编辑器")):
628-
gr.Markdown(value=i18n("加开发群联系我xxxxx"))
629-
with gr.TabItem(i18n("点击查看交流、问题反馈群号")):
630-
gr.Markdown(value=i18n("xxxxx"))
627+
# with gr.TabItem(i18n("招募音高曲线前端编辑器")):
628+
# gr.Markdown(value=i18n("加开发群联系我xxxxx"))
629+
# with gr.TabItem(i18n("点击查看交流、问题反馈群号")):
630+
# gr.Markdown(value=i18n("xxxxx"))
631631

632632
if iscolab:
633633
app.queue(concurrency_count=511, max_size=1022).launch(share=True)

trainset_preprocess_pipeline_print.py

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@
1515
from my_utils import load_audio
1616

1717
mutex = multiprocessing.Lock()
18+
f = open("%s/preprocess.log"%exp_dir, "a+")
19+
def println(strr):
20+
mutex.acquire()
21+
print(strr)
22+
f.write("%s\n" % strr)
23+
f.flush()
24+
mutex.release()
1825

1926
class PreProcess():
2027
def __init__(self,sr,exp_dir):
@@ -35,18 +42,10 @@ def __init__(self,sr,exp_dir):
3542
self.exp_dir=exp_dir
3643
self.gt_wavs_dir="%s/0_gt_wavs"%exp_dir
3744
self.wavs16k_dir="%s/1_16k_wavs"%exp_dir
38-
self.f = open("%s/preprocess.log"%exp_dir, "a+")
3945
os.makedirs(self.exp_dir,exist_ok=True)
4046
os.makedirs(self.gt_wavs_dir,exist_ok=True)
4147
os.makedirs(self.wavs16k_dir,exist_ok=True)
4248

43-
def println(self, strr):
44-
mutex.acquire()
45-
print(strr)
46-
self.f.write("%s\n" % strr)
47-
self.f.flush()
48-
mutex.release()
49-
5049
def norm_write(self,tmp_audio,idx0,idx1):
5150
tmp_audio = (tmp_audio / np.abs(tmp_audio).max() * (self.max * self.alpha)) + (1 - self.alpha) * tmp_audio
5251
wavfile.write("%s/%s_%s.wav" % (self.gt_wavs_dir, idx0, idx1), self.sr, (tmp_audio*32768).astype(np.int16))
@@ -70,9 +69,9 @@ def pipeline(self,path, idx0):
7069
tmp_audio = audio[start:]
7170
break
7271
self.norm_write(tmp_audio, idx0, idx1)
73-
self.println("%s->Suc."%path)
72+
println("%s->Suc."%path)
7473
except:
75-
self.println("%s->%s"%(path,traceback.format_exc()))
74+
println("%s->%s"%(path,traceback.format_exc()))
7675

7776
def pipeline_mp(self,infos):
7877
for path, idx0 in infos:
@@ -91,14 +90,14 @@ def pipeline_mp_inp_dir(self,inp_root,n_p):
9190
ps.append(p)
9291
for p in ps:p.join()
9392
except:
94-
self.println("Fail. %s"%traceback.format_exc())
93+
println("Fail. %s"%traceback.format_exc())
9594

9695
def preprocess_trainset(inp_root, sr, n_p, exp_dir):
9796
pp=PreProcess(sr,exp_dir)
98-
pp.println("start preprocess")
99-
pp.println(sys.argv)
97+
println("start preprocess")
98+
println(sys.argv)
10099
pp.pipeline_mp_inp_dir(inp_root,n_p)
101-
pp.println("end preprocess")
100+
println("end preprocess")
102101

103102
if __name__=='__main__':
104103
preprocess_trainset(inp_root, sr, n_p, exp_dir)

vc_infer_pipeline.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ def get_f0(self,x, p_len,f0_up_key,f0_method,inp_f0=None):
3535
x.astype(np.double),
3636
fs=self.sr,
3737
f0_ceil=f0_max,
38+
f0_floor=f0_min,
3839
frame_period=10,
3940
)
4041
f0 = pyworld.stonemask(x.astype(np.double), f0, t, self.sr)

webui_locale.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def __init__(self, language=None):
1313
if language == 'auto':
1414
language = locale.getdefaultlocale()[0]
1515
self.language = language
16-
print("Use Languane:", language)
16+
print("Use Language:", language)
1717
self.language_map = load_language_list(language)
1818

1919
def __call__(self, key):

0 commit comments

Comments
 (0)