Spaces:
Configuration error
Configuration error
Kangarroar
commited on
Commit
•
612247e
1
Parent(s):
632f309
Update app.py
Browse files
app.py
CHANGED
@@ -1,12 +1,7 @@
|
|
1 |
-
import tkinter as tk
|
2 |
-
import tkinter.filedialog
|
3 |
-
import tkinter.ttk as ttk
|
4 |
-
import tkinter as tk
|
5 |
-
from tkinter import ttk
|
6 |
-
import wave
|
7 |
from utils.hparams import hparams
|
8 |
from preprocessing.data_gen_utils import get_pitch_parselmouth,get_pitch_crepe
|
9 |
import numpy as np
|
|
|
10 |
import IPython.display as ipd
|
11 |
import utils
|
12 |
import librosa
|
@@ -14,103 +9,13 @@ import torchcrepe
|
|
14 |
from infer import *
|
15 |
import logging
|
16 |
from infer_tools.infer_tool import *
|
17 |
-
from tkinter import Label
|
18 |
-
from time import sleep
|
19 |
-
import os
|
20 |
-
# Create the main window
|
21 |
-
window = tk.Tk()
|
22 |
|
23 |
-
|
24 |
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
loading_animation_label = Label(window)
|
33 |
-
loading_animation_label.grid(row=5, column=0)
|
34 |
-
|
35 |
-
# Set the column and row to stretch to fill the available space
|
36 |
-
window.grid_columnconfigure(0, weight=1)
|
37 |
-
window.grid_rowconfigure(4, weight=1)
|
38 |
-
|
39 |
-
button1 = ttk.Button(window, text="Load Model")
|
40 |
-
button1.grid(row=0, column=0, padx=20, pady=20)
|
41 |
-
|
42 |
-
pb = ttk.Progressbar(
|
43 |
-
window,
|
44 |
-
orient='horizontal',
|
45 |
-
mode='indeterminate',
|
46 |
-
length=250
|
47 |
-
)
|
48 |
-
def start():
|
49 |
-
pb.grid(column=0, row=5, padx=0, pady=0)
|
50 |
-
pb.start(10)
|
51 |
-
|
52 |
-
def stop():
|
53 |
-
pb.stop()
|
54 |
-
pb.grid_remove()
|
55 |
-
def button1_clicked():
|
56 |
-
filepath1 = tkinter.filedialog.askopenfilename(title = "Select CKPT File", filetypes=[("Checkpoint files", "*.ckpt")])
|
57 |
-
if filepath1 == '':
|
58 |
-
tkinter.messagebox.showerror("Error", "No CKPT file selected")
|
59 |
-
return
|
60 |
-
filepath2 = tkinter.filedialog.askopenfilename(title = "Select YAML File",filetypes=[("Yaml files", "*.yaml")])
|
61 |
-
if filepath2 == '':
|
62 |
-
tkinter.messagebox.showerror("Error", "No YAML file selected")
|
63 |
-
return
|
64 |
-
model_path = filepath1
|
65 |
-
config_path = filepath2
|
66 |
-
logging.getLogger('numba').setLevel(logging.WARNING)
|
67 |
-
start()
|
68 |
-
# Show a dialog box to input text
|
69 |
-
global project_name
|
70 |
-
project_name = tkinter.simpledialog.askstring("Input", "Enter project name:", parent=window)
|
71 |
-
if project_name == '':
|
72 |
-
tkinter.messagebox.showerror("Error", "No Project Name")
|
73 |
-
return
|
74 |
-
# Use the input text and the value of hubert_gpu as arguments when creating an instance of the Svc class
|
75 |
-
global svc_model
|
76 |
-
hubert_gpu = False
|
77 |
-
svc_model = Svc(project_name, config_path, hubert_gpu, model_path)
|
78 |
-
textbox.insert('end', 'model loaded\n')
|
79 |
-
stop()
|
80 |
-
|
81 |
-
|
82 |
-
# Assign the callback function to the button's "command" attribute
|
83 |
-
button1["command"] = button1_clicked
|
84 |
-
|
85 |
-
button2 = ttk.Button(window, text="Start Rendering")
|
86 |
-
button2.grid(row=1, column=0, padx=20, pady=20)
|
87 |
-
|
88 |
-
# Define a callback function for the second button
|
89 |
-
def button2_clicked():
|
90 |
-
# Open a file selection dialog for WAV files
|
91 |
-
filepath = tkinter.filedialog.askopenfilename(filetypes=[("WAV files", "*.wav")])
|
92 |
-
|
93 |
-
# Show a dialog box to input the "key" value
|
94 |
-
key = tkinter.simpledialog.askinteger("Input", "Enter key value:", parent=window)
|
95 |
-
textbox.insert('end', 'Rendering Started, please wait...\n')
|
96 |
-
start()
|
97 |
-
wav_gen = tkinter.simpledialog.askstring("Input", "Enter the track name:", parent=window)
|
98 |
-
if not wav_gen.endswith('.wav'):
|
99 |
-
wav_gen += '.wav'
|
100 |
-
wav_fn = filepath
|
101 |
-
demoaudio, sr = librosa.load(wav_fn)
|
102 |
-
pndm_speedup = 20
|
103 |
-
f0_tst, f0_pred, audio = run_clip(svc_model,file_path=wav_fn, key=key, acc=pndm_speedup, use_crepe=True, use_pe=True, thre=0.05,
|
104 |
-
use_gt_mel=False, add_noise_step=500,project_name=project_name,out_path=wav_gen)
|
105 |
-
time.sleep(2)
|
106 |
-
textbox.insert('end', 'Rendering process done!\nPlaying Audio now...')
|
107 |
-
os.startfile(wav_gen)
|
108 |
-
stop()
|
109 |
-
button2["command"] = button2_clicked
|
110 |
-
#Checkbox
|
111 |
-
hubert_gpu = tk.BooleanVar()
|
112 |
-
checkbox = tk.Checkbutton(window, text="Use GPU", variable=hubert_gpu)
|
113 |
-
checkbox.grid(row=3, column=0)
|
114 |
-
|
115 |
-
# Start the event loop
|
116 |
-
window.mainloop()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
from utils.hparams import hparams
|
2 |
from preprocessing.data_gen_utils import get_pitch_parselmouth,get_pitch_crepe
|
3 |
import numpy as np
|
4 |
+
import matplotlib.pyplot as plt
|
5 |
import IPython.display as ipd
|
6 |
import utils
|
7 |
import librosa
|
|
|
9 |
from infer import *
|
10 |
import logging
|
11 |
from infer_tools.infer_tool import *
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
+
logging.getLogger('numba').setLevel(logging.WARNING)
|
14 |
|
15 |
+
# 工程文件夹名,训练时用的那个
|
16 |
+
project_name = "Unnamed"
|
17 |
+
model_path = f'./checkpoints/Unnamed/model_ckpt_steps_192000.ckpt'
|
18 |
+
config_path=f'./checkpoints/Unnamed/config.yaml'
|
19 |
+
hubert_gpu=False
|
20 |
+
svc_model = Svc(project_name,config_path,hubert_gpu, model_path)
|
21 |
+
print('model loaded')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|