Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mrywhh
Real-Time-Voice-Cloning
提交
5e400d47
R
Real-Time-Voice-Cloning
项目概览
mrywhh
/
Real-Time-Voice-Cloning
落后 Fork 源项目 12 个版本
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Real-Time-Voice-Cloning
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
5e400d47
编写于
7月 12, 2020
作者:
B
blue-fish
提交者:
GitHub
7月 12, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Toolbox UI update (#422)
上级
9553eaa1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
35 addition
and
51 deletion
+35
-51
toolbox/ui.py
toolbox/ui.py
+35
-51
未找到文件。
toolbox/ui.py
浏览文件 @
5e400d47
...
...
@@ -174,12 +174,9 @@ class UI(QDialog):
if
len
(
input_devices
)
==
0
:
self
.
log
(
"No audio input device detected. Recording may not work."
)
self
.
audio_in_devices_cb
.
addItems
([
"None"
])
self
.
audio_in_devices_cb
.
setDisabled
(
True
)
self
.
audio_in_device
=
None
else
:
self
.
audio_in_devices_cb
.
clear
()
self
.
audio_in_devices_cb
.
addItems
(
input_devices
)
self
.
audio_in_devices_cb
.
currentTextChanged
.
connect
(
self
.
set_audio_device
)
self
.
audio_in_device
=
input_devices
[
0
]
if
len
(
output_devices
)
==
0
:
self
.
log
(
"No supported output audio devices were found! Audio output may not work."
)
...
...
@@ -193,16 +190,13 @@ class UI(QDialog):
self
.
set_audio_device
()
def
set_audio_device
(
self
):
input_device
=
self
.
audio_in_devices_cb
.
currentText
()
if
input_device
==
"None"
:
input_device
=
None
output_device
=
self
.
audio_out_devices_cb
.
currentText
()
if
output_device
==
"None"
:
output_device
=
None
# If None, sounddevice queries portaudio
sd
.
default
.
device
=
(
input
_device
,
output_device
)
sd
.
default
.
device
=
(
self
.
audio_in
_device
,
output_device
)
def
play
(
self
,
wav
,
sample_rate
):
sd
.
stop
()
...
...
@@ -298,6 +292,7 @@ class UI(QDialog):
self
.
speaker_box
.
setDisabled
(
True
)
self
.
dataset_box
.
setDisabled
(
True
)
self
.
browser_load_button
.
setDisabled
(
True
)
self
.
auto_next_checkbox
.
setDisabled
(
True
)
return
self
.
repopulate_box
(
self
.
dataset_box
,
datasets
,
random
)
...
...
@@ -423,24 +418,24 @@ class UI(QDialog):
# Browser
browser_layout
=
QGridLayout
()
root_layout
.
addLayout
(
browser_layout
,
0
,
1
)
# Visualizations
vis_layout
=
QVBoxLayout
()
root_layout
.
addLayout
(
vis_layout
,
1
,
1
,
2
,
3
)
root_layout
.
addLayout
(
browser_layout
,
0
,
0
,
1
,
2
)
# Generation
gen_layout
=
QVBoxLayout
()
root_layout
.
addLayout
(
gen_layout
,
0
,
2
)
root_layout
.
addLayout
(
gen_layout
,
0
,
2
,
1
,
2
)
# Projections
self
.
projections_layout
=
QVBoxLayout
()
root_layout
.
addLayout
(
self
.
projections_layout
,
1
,
0
)
root_layout
.
addLayout
(
self
.
projections_layout
,
1
,
0
,
1
,
1
)
# Visualizations
vis_layout
=
QVBoxLayout
()
root_layout
.
addLayout
(
vis_layout
,
1
,
1
,
1
,
3
)
## Projections
# UMap
fig
,
self
.
umap_ax
=
plt
.
subplots
(
figsize
=
(
4
,
4
),
facecolor
=
"#F0F0F0"
)
fig
,
self
.
umap_ax
=
plt
.
subplots
(
figsize
=
(
3
,
3
),
facecolor
=
"#F0F0F0"
)
fig
.
subplots_adjust
(
left
=
0.02
,
bottom
=
0.02
,
right
=
0.98
,
top
=
0.98
)
self
.
projections_layout
.
addWidget
(
FigureCanvas
(
fig
))
self
.
umap_hot
=
False
...
...
@@ -460,8 +455,6 @@ class UI(QDialog):
self
.
utterance_box
=
QComboBox
()
browser_layout
.
addWidget
(
QLabel
(
"<b>Utterance</b>"
),
i
,
2
)
browser_layout
.
addWidget
(
self
.
utterance_box
,
i
+
1
,
2
)
self
.
browser_browse_button
=
QPushButton
(
"Browse"
)
browser_layout
.
addWidget
(
self
.
browser_browse_button
,
i
,
3
)
self
.
browser_load_button
=
QPushButton
(
"Load"
)
browser_layout
.
addWidget
(
self
.
browser_load_button
,
i
+
1
,
3
)
i
+=
2
...
...
@@ -480,16 +473,13 @@ class UI(QDialog):
# Utterance box
browser_layout
.
addWidget
(
QLabel
(
"<b>Use embedding from:</b>"
),
i
,
0
)
i
+=
1
# Random & next utterance buttons
self
.
utterance_history
=
QComboBox
()
browser_layout
.
addWidget
(
self
.
utterance_history
,
i
,
0
,
1
,
3
)
browser_layout
.
addWidget
(
self
.
utterance_history
,
i
,
1
,
1
,
3
)
i
+=
1
# Random & next utterance buttons
self
.
take_generated_button
=
QPushButton
(
"Take generated
"
)
browser_layout
.
addWidget
(
self
.
take_generated
_button
,
i
,
0
)
self
.
browser_browse_button
=
QPushButton
(
"Browse
"
)
browser_layout
.
addWidget
(
self
.
browser_browse
_button
,
i
,
0
)
self
.
record_button
=
QPushButton
(
"Record"
)
browser_layout
.
addWidget
(
self
.
record_button
,
i
,
1
)
self
.
play_button
=
QPushButton
(
"Play"
)
...
...
@@ -498,17 +488,8 @@ class UI(QDialog):
browser_layout
.
addWidget
(
self
.
stop_button
,
i
,
3
)
i
+=
1
#Audio devices
browser_layout
.
addWidget
(
QLabel
(
"<b>Audio Input</b>"
),
i
,
0
)
self
.
audio_in_devices_cb
=
QComboBox
()
browser_layout
.
addWidget
(
self
.
audio_in_devices_cb
,
i
+
1
,
0
)
browser_layout
.
addWidget
(
QLabel
(
"<b>Audio Output</b>"
),
i
,
1
)
self
.
audio_out_devices_cb
=
QComboBox
()
browser_layout
.
addWidget
(
self
.
audio_out_devices_cb
,
i
+
1
,
1
)
i
+=
3
# Model selection
# Model
and audio output
selection
self
.
encoder_box
=
QComboBox
()
browser_layout
.
addWidget
(
QLabel
(
"<b>Encoder</b>"
),
i
,
0
)
browser_layout
.
addWidget
(
self
.
encoder_box
,
i
+
1
,
0
)
...
...
@@ -518,8 +499,27 @@ class UI(QDialog):
self
.
vocoder_box
=
QComboBox
()
browser_layout
.
addWidget
(
QLabel
(
"<b>Vocoder</b>"
),
i
,
2
)
browser_layout
.
addWidget
(
self
.
vocoder_box
,
i
+
1
,
2
)
self
.
audio_out_devices_cb
=
QComboBox
()
browser_layout
.
addWidget
(
QLabel
(
"<b>Audio Output</b>"
),
i
,
3
)
browser_layout
.
addWidget
(
self
.
audio_out_devices_cb
,
i
+
1
,
3
)
i
+=
2
#Replay & Save Audio
browser_layout
.
addWidget
(
QLabel
(
"<b>Toolbox Output:</b>"
),
i
,
0
)
self
.
waves_cb
=
QComboBox
()
self
.
waves_cb_model
=
QStringListModel
()
self
.
waves_cb
.
setModel
(
self
.
waves_cb_model
)
self
.
waves_cb
.
setToolTip
(
"Select one of the last generated waves in this section for replaying or exporting"
)
browser_layout
.
addWidget
(
self
.
waves_cb
,
i
,
1
)
self
.
replay_wav_button
=
QPushButton
(
"Replay"
)
self
.
replay_wav_button
.
setToolTip
(
"Replay last generated vocoder"
)
browser_layout
.
addWidget
(
self
.
replay_wav_button
,
i
,
2
)
self
.
export_wav_button
=
QPushButton
(
"Export"
)
self
.
export_wav_button
.
setToolTip
(
"Save last generated vocoder audio in filesystem as a wav file"
)
browser_layout
.
addWidget
(
self
.
export_wav_button
,
i
,
3
)
i
+=
1
## Embed & spectrograms
vis_layout
.
addStretch
()
...
...
@@ -555,22 +555,6 @@ class UI(QDialog):
layout
.
addWidget
(
self
.
vocode_button
)
gen_layout
.
addLayout
(
layout
)
#Replay & Save Audio
layout2
=
QHBoxLayout
()
self
.
replay_wav_button
=
QPushButton
(
"Replay"
)
self
.
replay_wav_button
.
setToolTip
(
"Replay last generated vocoder"
)
layout2
.
addWidget
(
self
.
replay_wav_button
)
self
.
export_wav_button
=
QPushButton
(
"Export"
)
self
.
export_wav_button
.
setToolTip
(
"Save last generated vocoder audio in filesystem as a wav file"
)
layout2
.
addWidget
(
self
.
export_wav_button
)
self
.
waves_cb_model
=
QStringListModel
()
self
.
waves_cb
=
QComboBox
()
self
.
waves_cb
.
setModel
(
self
.
waves_cb_model
)
self
.
waves_cb
.
setToolTip
(
"Select one of the last generated waves in this section for replaying or exporting"
)
layout2
.
addWidget
(
self
.
waves_cb
)
gen_layout
.
addLayout
(
layout2
)
self
.
loading_bar
=
QProgressBar
()
gen_layout
.
addWidget
(
self
.
loading_bar
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录