-
Notifications
You must be signed in to change notification settings - Fork 0
/
Demucs_GUI.py
282 lines (231 loc) · 71.2 KB
/
Demucs_GUI.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
import tkinter as tk
from PIL import ImageTk, Image
from tkinter import messagebox
from tkinter.filedialog import (askopenfilename,
askopenfilenames,
askdirectory,
asksaveasfilename)
import os
import base64
def ico():
# return "b'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'"
return "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"
def rico(img_str):
# img_str = "这里编码太长了,我没写进来"
img_data = base64.b64decode(img_str)
with open('DemucsICO.ico', 'wb') as f:
f.write(img_data)
def Install():
# print("-请您确认您的Python版本!\n-至少3.7以上,推荐3.8.10\n\n")
# cont = input("-请问您的版本是否满足要求?(Y/N)\n")
cont = messagebox.askquestion(title = '还有一件事需要您确认',
message = '您需要最后确认您的Python版本,至少3.7以上,推荐3.8.10。') # return 'yes', 'no'
if cont == 'yes':
os.system("cls")
print("\n首先安装wheel\n")
os.system("pip install wheel -i https://pypi.douban.com/simple")
os.system("cls")
print("\n-已成功安装wheel\n-接下来将会安装SoundFile,用来打开wav格式。")
os.system("pip install SoundFile -i https://pypi.douban.com/simple")
os.system("cls")
print("\n-已成功安装wheel\n-已成功安装SoundFile\n-接下来将会安装Ffmpeg,用来打开mp3格式。")
os.system("pip install Ffmpeg -i https://pypi.douban.com/simple")
os.system("cls")
print("\n-已成功安装wheel\n-已成功安装SoundFile\n-已成功安装Ffmpeg\n-接下来将会安装Demucs本体。")
os.system("pip install demucs -i https://pypi.douban.com/simple")
print("\n-运行结束。")
print(
"\n-值得一提的是,为了得到更好的消音效果,首次运行Demucs将会额外下载一个模型,大约是4个160M左右的压缩包。\n-建议挂梯子。")
messagebox.showinfo(title = '安装完成', message = '恭喜您!Demucs已经被成功安装到您的计算机上!')
else:
os.system("cls")
os.system("start https://www.python.org/downloads/release/python-3810/")
# print("-在此处下载:\nhttps://www.python.org/downloads/release/python-3810/\n\n")
messagebox.showinfo(title = '需要您提前准备Python',
message = '很抱歉,您的环境目前无法使用此服务。\n别担心,您可以在https://www.python.org/downloads/release/python-3810/下载推荐的版本!\n安装过程中请务必勾选【将pip添加到环境变量】!')
def CreateWindow():
# 设置主窗口
global window
if not os.path.exists('DemucsICO.ico'):
rico(ico())
window = tk.Tk() # 建立窗口
window.title("Demucs") # 窗口的名字
window.iconbitmap('DemucsICO.ico')
window.geometry("450x300") # 窗口大小,宽x长,字符串
def MakeSureInstall():
ret = messagebox.askyesno(title = '遇到问题了吗?',
message = '您可能是第一次使用Demucs,您可以点击“是”按钮来完成安装。\n好消息!您一定会为最终效果感到惊艳!') # return True, False
if ret == True:
Install()
def CreateInstall():
tk.Button(window, text = "第一次使用Demucs?现在安装!", command = MakeSureInstall).pack(side = 'top', pady = 0)
def CreateInputFileComponent():
global fileentry
global fileAdrStr
# tk.Label(window, text = '选择一个您想处理的声音,现已支持MP3或wav等多种格式!').place(x = 10, y = 0)
# fileentry = tk.Text(window, width = 40, height = 1)
# fileentry.place(x = 10, y = 27)
# tk.Button(window, text = '寻找…', command = Choosefile, height = 1).place(x = 303, y = 20)
Frame_CreateInputFileComponent = tk.Frame(window)
Frame_CreateInputFileComponent.pack(pady = 5, padx = 5)
tk.Label(Frame_CreateInputFileComponent, text = '选择一个您想处理的声音,现已支持MP3或wav等多种格式!').pack(
anchor = 'w')
Frame_box = tk.Frame(Frame_CreateInputFileComponent)
Frame_box.pack()
fileentry = tk.Text(Frame_box, width = 50, height = 1)
fileentry.pack(side = 'left')
tk.Button(Frame_box, text = '寻找…', command = Choosefile, height = 1).pack(side = 'left', padx = 5)
def Choosefile():
global fileAdrStr
global fileentry
global fileentry
fileentry.delete("1.0", "end")
# fileAdrStr = askopenfilename()
fileentry.insert('insert', askopenfilename())
def CreateSelectionModelComponent():
global model
model = tk.StringVar()
model.set('htdemucs')
# tk.Label(window, text = '选择模型:').place(x = 10, y = 47)
# modelOptions1 = tk.Radiobutton(window, text = "htdemucs [New!]", variable = model, value = 'htdemucs')
# modelOptions2 = tk.Radiobutton(window, text = "mdx_extra", variable = model, value = 'mdx_extra')
# modelOptions1.place(x = 10, y = 67)
# modelOptions2.place(x = 10, y = 87)
Frame_CreateSelectionModelComponent = tk.Frame(window)
Frame_CreateSelectionModelComponent.pack(padx = 5, anchor = 'n')
Frame_CreateSelectionModelComponent_Left = tk.Frame(Frame_CreateSelectionModelComponent)
Frame_CreateSelectionModelComponent_Left.pack(side = 'left')
global Frame_CreateSelectionModelComponent_Right
Frame_CreateSelectionModelComponent_Right = tk.Frame(Frame_CreateSelectionModelComponent)
Frame_CreateSelectionModelComponent_Right.pack(side = 'right', padx = 40, anchor = 'n')
tk.Label(Frame_CreateSelectionModelComponent_Left, text = '选择模型:').pack(anchor = 'w')
modelOptions1 = tk.Radiobutton(Frame_CreateSelectionModelComponent_Left, text = "htdemucs [New!]", variable = model,
value = 'htdemucs')
modelOptions2 = tk.Radiobutton(Frame_CreateSelectionModelComponent_Left, text = "mdx_extra", variable = model,
value = 'mdx_extra')
modelOptions3 = tk.Radiobutton(Frame_CreateSelectionModelComponent_Left, text = "htdemucs_ft [4x slower]",
variable = model,
value = 'htdemucs_ft')
modelOptions4 = tk.Radiobutton(Frame_CreateSelectionModelComponent_Left, text = "htdemucs_6s [piano guitar]",
variable = model,
value = 'htdemucs_6s')
modelOptions5 = tk.Radiobutton(Frame_CreateSelectionModelComponent_Left, text = "hdemucs_mmi [Hybrid Demucs v3]",
variable = model,
value = 'hdemucs_mmi')
modelOptions1.pack(anchor = 'w')
modelOptions2.pack(anchor = 'w')
modelOptions3.pack(anchor = 'w')
modelOptions4.pack(anchor = 'w')
modelOptions5.pack(anchor = 'w')
def CreateExecutionModeOptions():
global executionOption
executionOption = tk.IntVar()
executionOption.set(1)
# tk.Label(window, text = '选择分离模式:').place(x = 160, y = 47)
# executionOption1 = tk.Radiobutton(window, text = "卡拉OK模式", variable = executionOption, value = 1)
# executionOption2 = tk.Radiobutton(window, text = "专业音频模式", variable = executionOption, value = 2)
# executionOption1.place(x = 160, y = 67)
# executionOption2.place(x = 160, y = 87)
tk.Label(Frame_CreateSelectionModelComponent_Right, text = '选择分离模式:').pack(anchor = 'w')
executionOption1 = tk.Radiobutton(Frame_CreateSelectionModelComponent_Right, text = "卡拉OK模式",
variable = executionOption, value = 1)
executionOption2 = tk.Radiobutton(Frame_CreateSelectionModelComponent_Right, text = "专业音频模式",
variable = executionOption, value = 2)
executionOption1.pack(anchor = 'w')
executionOption2.pack(anchor = 'w')
def StartExecutingControlButtons():
tk.Button(window, text = "开始计算", command = SelectTakenBranch).pack(side = 'top', pady = 10)
def WinUpLoc(loc): # 以Windows格式返还文件所在的原本目录
if loc[0] == '''"''': # 去掉双引号、最后一个反斜杠
loc = loc[1:-1]
lis = loc.replace("\\", "/").split('/')
lis.pop()
loc = ''
for ji in range(len(lis)):
loc = loc + str(lis[ji]) + '/'
return loc[0:-1].replace("/", "\\")
def Function1():
# fileAdrStr = input("用Demucs分离音频,指定卡拉OK模式。\n输入文件地址,或拖进CMD。\n")
global fileAdrStr
fileAdrStr = fileentry.get("1.0", "end").replace("\n", "")
if fileAdrStr[0] != '''"''':
fileAdrStr = '''"''' + fileAdrStr + '''"'''
adrStr = WinUpLoc(fileAdrStr)
# print("接下来转入CMD执行。\n-------------------------------")
# os.system("pip show demucs")
more = '--two-stems=vocals'
print(executionOption.get())
if executionOption.get() == 2:
more = ''
cmd = r'''demucs {} -o "{}" -n {} {}'''.format(fileAdrStr, adrStr, model.get().replace("\n", ""), more)
print(cmd)
os.system(cmd)
messagebox.showinfo(title = '大成功!', message = '恭喜您!很成功!')
# input("-------------------------------\n执行完毕。")
def Function2():
# fileAdrStr = input("用Demucs分离音频,指定专业音频模式。\n输入文件地址,或拖进CMD。\n")
global fileAdrStr
fileAdrStr = fileentry.get("1.0", "end").replace("\n", "")
if fileAdrStr[0] != '''"''':
fileAdrStr = '''"''' + fileAdrStr + '''"'''
adrStr = WinUpLoc(fileAdrStr)
# print("接下来转入CMD执行。\n-------------------------------")
os.system("pip show demucs")
cmd = r'''demucs {} -o "{}" -n mdx_extra'''.format(fileAdrStr, adrStr)
print(cmd)
os.system(cmd)
# input("-------------------------------\n执行完毕。")
def Function3():
# fileAdrStr = input("用Demucs分离音频,指定高性能专业音频模式。\n输入文件地址,或拖进CMD。\n")
global fileAdrStr
fileAdrStr = fileentry.get("1.0", "end").replace("\n", "")
if fileAdrStr[0] != '''"''':
fileAdrStr = '''"''' + fileAdrStr + '''"'''
adrStr = WinUpLoc(fileAdrStr)
# print("接下来转入CMD执行。\n-------------------------------")
os.system("pip show demucs")
cmd = r'''demucs {} -o "{}" -n htdemucs --two-stems=vocals'''.format(fileAdrStr, adrStr)
print(cmd)
os.system(cmd)
# input("-------------------------------\n执行完毕。")
def Function4():
# fileAdrStr = input("用Demucs分离音频,指定高性能专业音频模式。\n输入文件地址,或拖进CMD。\n")
global fileAdrStr
fileAdrStr = fileentry.get("1.0", "end").replace("\n", "")
if fileAdrStr[0] != '''"''':
fileAdrStr = '''"''' + fileAdrStr + '''"'''
adrStr = WinUpLoc(fileAdrStr)
# print("接下来转入CMD执行。\n-------------------------------")
os.system("pip show demucs")
cmd = r'''demucs {} -o "{}" -n htdemucs'''.format(fileAdrStr, adrStr)
print(cmd)
os.system(cmd)
# input("-------------------------------\n执行完毕。")
def SelectTakenBranch():
global model
global executionOption
global fileAdrStr
Function1()
# if model.get() == 'mdx_extra' and executionOption.get() == 1:
# Function1()
# messagebox.showinfo(title = '大成功!', message = '恭喜您!很成功!')
# elif model.get() == 'mdx_extra' and executionOption.get() == 2:
# Function2()
# messagebox.showinfo(title = '大成功!', message = '恭喜您!很成功!')
# elif model.get() == 'htdemucs' and executionOption.get() == 1:
# Function3()
# messagebox.showinfo(title = '大成功!', message = '恭喜您!很成功!')
# elif model.get() == 'htdemucs' and executionOption.get() == 2:
# Function4()
# messagebox.showinfo(title = '大成功!', message = '恭喜您!很成功!')
# else:
# messagebox.showinfo(title = '输入信息有误!', message = '输入信息有误!\n请检查文件地址、模型选择和分离模式!')
if __name__ == '__main__':
fileAdrStr = ''
CreateWindow()
CreateInputFileComponent()
CreateSelectionModelComponent()
CreateExecutionModeOptions()
CreateInstall()
StartExecutingControlButtons()
window.mainloop()