diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3258cef
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+/介绍/
+*.srt
+*.wav
+.idea
\ No newline at end of file
diff --git a/PyAudio-0.2.11-cp39-cp39-win_amd64.whl b/PyAudio-0.2.11-cp39-cp39-win_amd64.whl
new file mode 100644
index 0000000..d1986b0
Binary files /dev/null and b/PyAudio-0.2.11-cp39-cp39-win_amd64.whl differ
diff --git a/db/data.db b/db/data.db
new file mode 100644
index 0000000..c082758
Binary files /dev/null and b/db/data.db differ
diff --git a/main.py b/main.py
new file mode 100644
index 0000000..805abc8
--- /dev/null
+++ b/main.py
@@ -0,0 +1,11 @@
+import sys
+
+from PySide6.QtWidgets import QApplication
+
+
+def main():
+ pass
+
+
+if __name__ == '__main__':
+ main()
\ No newline at end of file
diff --git a/test.py b/test.py
new file mode 100644
index 0000000..60a9037
--- /dev/null
+++ b/test.py
@@ -0,0 +1,18 @@
+from pydub.playback import play
+
+from utils import AllSound, MySound
+
+jr1_allsound = AllSound("./filepath/jr1.wav")
+info_dict ={
+ "text":"你好",
+ "start":10500,
+ "end":13700,
+ "checked":0,
+ "can_use":0,
+ "file_name":"jr1.wav",
+ "all_sound":jr1_allsound.sound
+}
+
+short_sound = MySound(info_dict)
+print(len(short_sound.sound))
+play(short_sound.sound)
diff --git a/ui/gui.ui b/ui/gui.ui
new file mode 100644
index 0000000..6ad0944
--- /dev/null
+++ b/ui/gui.ui
@@ -0,0 +1,487 @@
+
+
+ Mainwindow
+
+
+
+ 0
+ 0
+ 668
+ 799
+
+
+
+ 语音标记
+
+
+
+ QLayout::SetMinAndMaxSize
+
+ -
+
+
+
+ 16
+
+
+
+ 音频信息
+
+
+
-
+
+
-
+
+
+
-
+
+
+
+ 6
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
-
+
+
+ 开始时间
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
-
+
+
+ 结束时间
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+ 10
+
+
+
+ 如果你觉得时间切的不好,
+请修改这里的起止时间(单位:毫秒)
+
+
+
+ -
+
+
+ 刷新音频和列表
+(请记得在最后点击标记)
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 3
+ 0
+
+
+
+
+ 16
+
+
+
+ 播放音频
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 16
+
+
+
+ 标注信息
+
+
+
-
+
+
+ -
+
+
+
-
+
+
+ 是否可用
+
+
+
-
+
+
+ 不可用
+
+
+
+ -
+
+
+ 可用
+
+
+
+ -
+
+
+
+ 10
+
+
+
+ 如果你觉得这条效果太差了
+请选择不可用
+
+
+
+
+
+
+ -
+
+
+ 数据列表
+
+
+
-
+
+
+
+ 10
+
+
+
+
+ 新建行
+
+
+
+
+ 新建行
+
+
+
+
+ 新建行
+
+
+
+
+ 编号
+
+
+
+
+ 文本
+
+
+
+
+ 检查状态
+
+
+
+
+ 可用
+
+
+ -
+
+ 1
+
+
+ -
+
+ 2
+
+
+ -
+
+ 3
+
+
+ -
+
+ 4
+
+
+ -
+
+ 5
+
+
+ -
+
+ 6
+
+
+ -
+
+ 7
+
+
+ -
+
+ 9
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 6
+
+
+ QLayout::SetDefaultConstraint
+
+
+ 9
+
+
+ 9
+
+
-
+
+
+
+ 2
+ 0
+
+
+
+
+ 16
+
+
+
+ 上一条
+
+
+
+ -
+
+
+
+ 3
+ 0
+
+
+
+
+ 16
+
+
+
+ 确定标注
+
+
+
+ -
+
+
+
+ 2
+ 0
+
+
+
+
+ 16
+
+
+
+ 下一条
+
+
+
+
+
+
+
+
+
+
+
+ pushButton_4
+ clicked()
+ Mainwindow
+ click_refreshBTN()
+
+
+ 477
+ 151
+
+
+ 289
+ 217
+
+
+
+
+ pushButton_5
+ clicked()
+ Mainwindow
+ click_play_soundBTN()
+
+
+ 647
+ 250
+
+
+ 667
+ 207
+
+
+
+
+ pushButton
+ clicked()
+ Mainwindow
+ click_backBTN()
+
+
+ 170
+ 750
+
+
+ 181
+ 535
+
+
+
+
+ pushButton_2
+ clicked()
+ Mainwindow
+ click_nextBTN()
+
+
+ 561
+ 760
+
+
+ 667
+ 534
+
+
+
+
+ pushButton_3
+ clicked()
+ Mainwindow
+ click_checkBTN()
+
+
+ 386
+ 755
+
+
+ 440
+ 534
+
+
+
+
+ tableWidget
+ itemDoubleClicked(QTableWidgetItem*)
+ Mainwindow
+ click_table()
+
+
+ 394
+ 463
+
+
+ 513
+ 387
+
+
+
+
+
+ click_refreshBTN()
+ click_play_soundBTN()
+ click_backBTN()
+ click_nextBTN()
+ click_checkBTN()
+ click_table()
+
+
diff --git a/ui/guiclass.py b/ui/guiclass.py
new file mode 100644
index 0000000..766755b
--- /dev/null
+++ b/ui/guiclass.py
@@ -0,0 +1,71 @@
+import sys
+
+from PySide6.QtWidgets import QApplication, QMainWindow, QFrame
+
+from ui import ui_main, ui_gui, ui_inputdata
+
+
+class WorkSpaceWindow(QFrame):
+ def __init__(self):
+ super(WorkSpaceWindow, self).__init__()
+ self.ui = ui_gui.Ui_Mainwindow()
+ self.ui.setupUi(self)
+
+ def click_refreshBTN(self):
+ print("刷新声音")
+
+ def click_play_soundBTN(self):
+ print("播放声音")
+
+ def click_backBTN(self):
+ print("返回上一个声音")
+
+ def click_nextBTN(self):
+ print("继续下一个声音")
+
+ def click_checkBTN(self):
+ print("确定本条声音")
+
+ def click_table(self, a):
+ print(f"表格单元格被双击 {a.text()}")
+
+
+class MainWindow(QMainWindow):
+ def __init__(self):
+ super(MainWindow, self).__init__()
+ self.ui = ui_main.Ui_MainWindow()
+ self.ui.setupUi(self)
+
+ def to_inputfile(self):
+ print("前往导入文件窗口")
+
+ def to_outputfile(self):
+ print("前往导出数据集窗口")
+
+ def to_workspace(self):
+ print("前往数据标注窗口")
+
+
+class InputDataWindow(QMainWindow):
+ def __init__(self):
+ super(InputDataWindow, self).__init__()
+ self.ui = ui_inputdata.Ui_MainWindow()
+ self.ui.setupUi(self)
+
+ def double_clicked_file(self, a, b):
+ print(f"导入文件 {a} {b}")
+
+ def back_to_main(self):
+ print(f"返回首页")
+
+
+if __name__ == '__main__':
+ app = QApplication([])
+ window1 = MainWindow()
+ window2 = WorkSpaceWindow()
+ window3 = InputDataWindow()
+ window1.show()
+ window2.show()
+ window3.show()
+
+ sys.exit(app.exec())
diff --git a/ui/inputdata.ui b/ui/inputdata.ui
new file mode 100644
index 0000000..8b69aab
--- /dev/null
+++ b/ui/inputdata.ui
@@ -0,0 +1,149 @@
+
+
+ MainWindow
+
+
+
+ 0
+ 0
+ 800
+ 600
+
+
+
+ 导入数据
+
+
+
+ -
+
+
+
-
+
+
+
+ 新建行
+
+
+
+
+ 新建行
+
+
+
+
+ 文件名
+
+
+ -
+
+ 1
+
+
+ -
+
+ 2
+
+
+
+
+ -
+
+
+
+ 文件名
+
+
+
+
+ 不可导入原因
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+ 请双击左上角的表格来导入对应的音频和字幕
+注意:音频只支持wav和mp3格式,且音频和字幕的文件名必须相同,后缀可以不同
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 返回入口
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ tableWidget
+ cellDoubleClicked(int,int)
+ MainWindow
+ double_clicked_file()
+
+
+ 174
+ 123
+
+
+ 4
+ 86
+
+
+
+
+ pushButton
+ clicked()
+ MainWindow
+ back_to_main()
+
+
+ 492
+ 303
+
+
+ 573
+ 271
+
+
+
+
+
+ double_clicked_file()
+ back_to_main()
+
+
diff --git a/ui/main.ui b/ui/main.ui
new file mode 100644
index 0000000..d945ae0
--- /dev/null
+++ b/ui/main.ui
@@ -0,0 +1,151 @@
+
+
+ MainWindow
+
+
+
+ 0
+ 0
+ 660
+ 421
+
+
+
+ 入口
+
+
+
+ -
+
+
+
-
+
+
+
+ 12
+
+
+
+ 导入字幕文件和音频文件
+
+
+
+ -
+
+
+ 请在此表中选中你要操作的数据集
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+ 12
+
+
+
+ 进入数据集编辑页面
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+ true
+
+
+
+ 12
+
+
+
+ 导出数据集
+
+
+
+
+
+
+
+
+
+
+
+
+ pushButton
+ clicked()
+ MainWindow
+ to_inputfile()
+
+
+ 420
+ 38
+
+
+ 345
+ 64
+
+
+
+
+ pushButton_3
+ clicked()
+ MainWindow
+ to_outputfile()
+
+
+ 434
+ 382
+
+
+ 305
+ 152
+
+
+
+
+ pushButton_2
+ clicked()
+ MainWindow
+ to_workspace()
+
+
+ 532
+ 304
+
+
+ 550
+ 258
+
+
+
+
+
+ to_inputfile()
+ to_workspace()
+ to_outputfile()
+
+
diff --git a/ui/ui_gui.py b/ui/ui_gui.py
new file mode 100644
index 0000000..e47a911
--- /dev/null
+++ b/ui/ui_gui.py
@@ -0,0 +1,321 @@
+# -*- coding: utf-8 -*-
+
+################################################################################
+## Form generated from reading UI file 'gui.ui'
+##
+## Created by: Qt User Interface Compiler version 6.3.0
+##
+## WARNING! All changes made in this file will be lost when recompiling UI file!
+################################################################################
+
+from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
+ QMetaObject, QObject, QPoint, QRect,
+ QSize, QTime, QUrl, Qt)
+from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
+ QFont, QFontDatabase, QGradient, QIcon,
+ QImage, QKeySequence, QLinearGradient, QPainter,
+ QPalette, QPixmap, QRadialGradient, QTransform)
+from PySide6.QtWidgets import (QApplication, QGridLayout, QGroupBox, QHBoxLayout,
+ QHeaderView, QLabel, QLayout, QLineEdit,
+ QPushButton, QRadioButton, QSizePolicy, QTableWidget,
+ QTableWidgetItem, QVBoxLayout, QWidget)
+
+class Ui_Mainwindow(object):
+ def setupUi(self, Mainwindow):
+ if not Mainwindow.objectName():
+ Mainwindow.setObjectName(u"Mainwindow")
+ Mainwindow.resize(668, 799)
+ self.verticalLayout = QVBoxLayout(Mainwindow)
+ self.verticalLayout.setObjectName(u"verticalLayout")
+ self.verticalLayout.setSizeConstraint(QLayout.SetMinAndMaxSize)
+ self.groupBox_6 = QGroupBox(Mainwindow)
+ self.groupBox_6.setObjectName(u"groupBox_6")
+ font = QFont()
+ font.setPointSize(16)
+ self.groupBox_6.setFont(font)
+ self.gridLayout = QGridLayout(self.groupBox_6)
+ self.gridLayout.setObjectName(u"gridLayout")
+ self.verticalLayout_2 = QVBoxLayout()
+ self.verticalLayout_2.setObjectName(u"verticalLayout_2")
+ self.widget_2 = QWidget(self.groupBox_6)
+ self.widget_2.setObjectName(u"widget_2")
+ self.verticalLayout_5 = QVBoxLayout(self.widget_2)
+ self.verticalLayout_5.setObjectName(u"verticalLayout_5")
+ self.widget_4 = QWidget(self.widget_2)
+ self.widget_4.setObjectName(u"widget_4")
+ self.horizontalLayout_3 = QHBoxLayout(self.widget_4)
+ self.horizontalLayout_3.setSpacing(6)
+ self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
+ self.horizontalLayout_3.setContentsMargins(2, 2, 2, 2)
+ self.label_2 = QLabel(self.widget_4)
+ self.label_2.setObjectName(u"label_2")
+
+ self.horizontalLayout_3.addWidget(self.label_2)
+
+ self.lineEdit_2 = QLineEdit(self.widget_4)
+ self.lineEdit_2.setObjectName(u"lineEdit_2")
+
+ self.horizontalLayout_3.addWidget(self.lineEdit_2)
+
+
+ self.verticalLayout_5.addWidget(self.widget_4)
+
+ self.widget_5 = QWidget(self.widget_2)
+ self.widget_5.setObjectName(u"widget_5")
+ self.horizontalLayout_4 = QHBoxLayout(self.widget_5)
+ self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
+ self.horizontalLayout_4.setContentsMargins(2, 2, 2, 2)
+ self.label_3 = QLabel(self.widget_5)
+ self.label_3.setObjectName(u"label_3")
+
+ self.horizontalLayout_4.addWidget(self.label_3)
+
+ self.lineEdit_3 = QLineEdit(self.widget_5)
+ self.lineEdit_3.setObjectName(u"lineEdit_3")
+
+ self.horizontalLayout_4.addWidget(self.lineEdit_3)
+
+
+ self.verticalLayout_5.addWidget(self.widget_5)
+
+ self.widget_6 = QWidget(self.widget_2)
+ self.widget_6.setObjectName(u"widget_6")
+ self.horizontalLayout_5 = QHBoxLayout(self.widget_6)
+ self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
+ self.label_4 = QLabel(self.widget_6)
+ self.label_4.setObjectName(u"label_4")
+ font1 = QFont()
+ font1.setPointSize(10)
+ self.label_4.setFont(font1)
+
+ self.horizontalLayout_5.addWidget(self.label_4)
+
+ self.pushButton_4 = QPushButton(self.widget_6)
+ self.pushButton_4.setObjectName(u"pushButton_4")
+
+ self.horizontalLayout_5.addWidget(self.pushButton_4)
+
+
+ self.verticalLayout_5.addWidget(self.widget_6)
+
+
+ self.verticalLayout_2.addWidget(self.widget_2)
+
+ self.pushButton_5 = QPushButton(self.groupBox_6)
+ self.pushButton_5.setObjectName(u"pushButton_5")
+ sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(3)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.pushButton_5.sizePolicy().hasHeightForWidth())
+ self.pushButton_5.setSizePolicy(sizePolicy)
+ self.pushButton_5.setFont(font)
+
+ self.verticalLayout_2.addWidget(self.pushButton_5)
+
+
+ self.gridLayout.addLayout(self.verticalLayout_2, 1, 0, 1, 1)
+
+
+ self.verticalLayout.addWidget(self.groupBox_6)
+
+ self.groupBox = QGroupBox(Mainwindow)
+ self.groupBox.setObjectName(u"groupBox")
+ self.groupBox.setFont(font)
+ self.gridLayout_2 = QGridLayout(self.groupBox)
+ self.gridLayout_2.setObjectName(u"gridLayout_2")
+ self.lineEdit = QLineEdit(self.groupBox)
+ self.lineEdit.setObjectName(u"lineEdit")
+
+ self.gridLayout_2.addWidget(self.lineEdit, 0, 0, 1, 1)
+
+ self.widget_3 = QWidget(self.groupBox)
+ self.widget_3.setObjectName(u"widget_3")
+ self.horizontalLayout = QHBoxLayout(self.widget_3)
+ self.horizontalLayout.setObjectName(u"horizontalLayout")
+ self.groupBox_2 = QGroupBox(self.widget_3)
+ self.groupBox_2.setObjectName(u"groupBox_2")
+ self.verticalLayout_3 = QVBoxLayout(self.groupBox_2)
+ self.verticalLayout_3.setObjectName(u"verticalLayout_3")
+ self.radioButton = QRadioButton(self.groupBox_2)
+ self.radioButton.setObjectName(u"radioButton")
+
+ self.verticalLayout_3.addWidget(self.radioButton)
+
+ self.radioButton_2 = QRadioButton(self.groupBox_2)
+ self.radioButton_2.setObjectName(u"radioButton_2")
+
+ self.verticalLayout_3.addWidget(self.radioButton_2)
+
+ self.label = QLabel(self.groupBox_2)
+ self.label.setObjectName(u"label")
+ self.label.setFont(font1)
+
+ self.verticalLayout_3.addWidget(self.label)
+
+
+ self.horizontalLayout.addWidget(self.groupBox_2)
+
+ self.groupBox_3 = QGroupBox(self.widget_3)
+ self.groupBox_3.setObjectName(u"groupBox_3")
+ self.verticalLayout_4 = QVBoxLayout(self.groupBox_3)
+ self.verticalLayout_4.setObjectName(u"verticalLayout_4")
+ self.tableWidget = QTableWidget(self.groupBox_3)
+ if (self.tableWidget.columnCount() < 4):
+ self.tableWidget.setColumnCount(4)
+ __qtablewidgetitem = QTableWidgetItem()
+ self.tableWidget.setHorizontalHeaderItem(0, __qtablewidgetitem)
+ __qtablewidgetitem1 = QTableWidgetItem()
+ self.tableWidget.setHorizontalHeaderItem(1, __qtablewidgetitem1)
+ __qtablewidgetitem2 = QTableWidgetItem()
+ self.tableWidget.setHorizontalHeaderItem(2, __qtablewidgetitem2)
+ __qtablewidgetitem3 = QTableWidgetItem()
+ self.tableWidget.setHorizontalHeaderItem(3, __qtablewidgetitem3)
+ if (self.tableWidget.rowCount() < 3):
+ self.tableWidget.setRowCount(3)
+ __qtablewidgetitem4 = QTableWidgetItem()
+ self.tableWidget.setVerticalHeaderItem(0, __qtablewidgetitem4)
+ __qtablewidgetitem5 = QTableWidgetItem()
+ self.tableWidget.setVerticalHeaderItem(1, __qtablewidgetitem5)
+ __qtablewidgetitem6 = QTableWidgetItem()
+ self.tableWidget.setVerticalHeaderItem(2, __qtablewidgetitem6)
+ __qtablewidgetitem7 = QTableWidgetItem()
+ self.tableWidget.setItem(0, 0, __qtablewidgetitem7)
+ __qtablewidgetitem8 = QTableWidgetItem()
+ self.tableWidget.setItem(0, 1, __qtablewidgetitem8)
+ __qtablewidgetitem9 = QTableWidgetItem()
+ self.tableWidget.setItem(0, 2, __qtablewidgetitem9)
+ __qtablewidgetitem10 = QTableWidgetItem()
+ self.tableWidget.setItem(0, 3, __qtablewidgetitem10)
+ __qtablewidgetitem11 = QTableWidgetItem()
+ self.tableWidget.setItem(1, 0, __qtablewidgetitem11)
+ __qtablewidgetitem12 = QTableWidgetItem()
+ self.tableWidget.setItem(1, 1, __qtablewidgetitem12)
+ __qtablewidgetitem13 = QTableWidgetItem()
+ self.tableWidget.setItem(1, 2, __qtablewidgetitem13)
+ __qtablewidgetitem14 = QTableWidgetItem()
+ self.tableWidget.setItem(1, 3, __qtablewidgetitem14)
+ self.tableWidget.setObjectName(u"tableWidget")
+ self.tableWidget.setFont(font1)
+
+ self.verticalLayout_4.addWidget(self.tableWidget)
+
+
+ self.horizontalLayout.addWidget(self.groupBox_3)
+
+
+ self.gridLayout_2.addWidget(self.widget_3, 1, 0, 1, 1)
+
+
+ self.verticalLayout.addWidget(self.groupBox)
+
+ self.widget = QWidget(Mainwindow)
+ self.widget.setObjectName(u"widget")
+ sizePolicy1 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed)
+ sizePolicy1.setHorizontalStretch(0)
+ sizePolicy1.setVerticalStretch(0)
+ sizePolicy1.setHeightForWidth(self.widget.sizePolicy().hasHeightForWidth())
+ self.widget.setSizePolicy(sizePolicy1)
+ self.horizontalLayout_2 = QHBoxLayout(self.widget)
+ self.horizontalLayout_2.setSpacing(6)
+ self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
+ self.horizontalLayout_2.setSizeConstraint(QLayout.SetDefaultConstraint)
+ self.horizontalLayout_2.setContentsMargins(9, -1, -1, 9)
+ self.pushButton = QPushButton(self.widget)
+ self.pushButton.setObjectName(u"pushButton")
+ sizePolicy2 = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
+ sizePolicy2.setHorizontalStretch(2)
+ sizePolicy2.setVerticalStretch(0)
+ sizePolicy2.setHeightForWidth(self.pushButton.sizePolicy().hasHeightForWidth())
+ self.pushButton.setSizePolicy(sizePolicy2)
+ self.pushButton.setFont(font)
+
+ self.horizontalLayout_2.addWidget(self.pushButton)
+
+ self.pushButton_3 = QPushButton(self.widget)
+ self.pushButton_3.setObjectName(u"pushButton_3")
+ sizePolicy.setHeightForWidth(self.pushButton_3.sizePolicy().hasHeightForWidth())
+ self.pushButton_3.setSizePolicy(sizePolicy)
+ self.pushButton_3.setFont(font)
+
+ self.horizontalLayout_2.addWidget(self.pushButton_3)
+
+ self.pushButton_2 = QPushButton(self.widget)
+ self.pushButton_2.setObjectName(u"pushButton_2")
+ sizePolicy2.setHeightForWidth(self.pushButton_2.sizePolicy().hasHeightForWidth())
+ self.pushButton_2.setSizePolicy(sizePolicy2)
+ self.pushButton_2.setFont(font)
+
+ self.horizontalLayout_2.addWidget(self.pushButton_2)
+
+
+ self.verticalLayout.addWidget(self.widget)
+
+
+ self.retranslateUi(Mainwindow)
+ self.pushButton_4.clicked.connect(Mainwindow.click_refreshBTN)
+ self.pushButton_5.clicked.connect(Mainwindow.click_play_soundBTN)
+ self.pushButton.clicked.connect(Mainwindow.click_backBTN)
+ self.pushButton_2.clicked.connect(Mainwindow.click_nextBTN)
+ self.pushButton_3.clicked.connect(Mainwindow.click_checkBTN)
+ self.tableWidget.itemDoubleClicked.connect(Mainwindow.click_table)
+
+ QMetaObject.connectSlotsByName(Mainwindow)
+ # setupUi
+
+ def retranslateUi(self, Mainwindow):
+ Mainwindow.setWindowTitle(QCoreApplication.translate("Mainwindow", u"\u8bed\u97f3\u6807\u8bb0", None))
+ self.groupBox_6.setTitle(QCoreApplication.translate("Mainwindow", u"\u97f3\u9891\u4fe1\u606f", None))
+ self.label_2.setText(QCoreApplication.translate("Mainwindow", u"\u5f00\u59cb\u65f6\u95f4", None))
+ self.label_3.setText(QCoreApplication.translate("Mainwindow", u"\u7ed3\u675f\u65f6\u95f4", None))
+ self.label_4.setText(QCoreApplication.translate("Mainwindow", u"\u5982\u679c\u4f60\u89c9\u5f97\u65f6\u95f4\u5207\u7684\u4e0d\u597d\uff0c\n"
+"\u8bf7\u4fee\u6539\u8fd9\u91cc\u7684\u8d77\u6b62\u65f6\u95f4\uff08\u5355\u4f4d\uff1a\u6beb\u79d2\uff09", None))
+ self.pushButton_4.setText(QCoreApplication.translate("Mainwindow", u"\u5237\u65b0\u97f3\u9891\u548c\u5217\u8868\n"
+"\uff08\u8bf7\u8bb0\u5f97\u5728\u6700\u540e\u70b9\u51fb\u6807\u8bb0\uff09", None))
+ self.pushButton_5.setText(QCoreApplication.translate("Mainwindow", u"\u64ad\u653e\u97f3\u9891", None))
+ self.groupBox.setTitle(QCoreApplication.translate("Mainwindow", u"\u6807\u6ce8\u4fe1\u606f", None))
+ self.groupBox_2.setTitle(QCoreApplication.translate("Mainwindow", u"\u662f\u5426\u53ef\u7528", None))
+ self.radioButton.setText(QCoreApplication.translate("Mainwindow", u"\u4e0d\u53ef\u7528", None))
+ self.radioButton_2.setText(QCoreApplication.translate("Mainwindow", u"\u53ef\u7528", None))
+ self.label.setText(QCoreApplication.translate("Mainwindow", u"\u5982\u679c\u4f60\u89c9\u5f97\u8fd9\u6761\u6548\u679c\u592a\u5dee\u4e86\n"
+"\u8bf7\u9009\u62e9\u4e0d\u53ef\u7528", None))
+ self.groupBox_3.setTitle(QCoreApplication.translate("Mainwindow", u"\u6570\u636e\u5217\u8868", None))
+ ___qtablewidgetitem = self.tableWidget.horizontalHeaderItem(0)
+ ___qtablewidgetitem.setText(QCoreApplication.translate("Mainwindow", u"\u7f16\u53f7", None));
+ ___qtablewidgetitem1 = self.tableWidget.horizontalHeaderItem(1)
+ ___qtablewidgetitem1.setText(QCoreApplication.translate("Mainwindow", u"\u6587\u672c", None));
+ ___qtablewidgetitem2 = self.tableWidget.horizontalHeaderItem(2)
+ ___qtablewidgetitem2.setText(QCoreApplication.translate("Mainwindow", u"\u68c0\u67e5\u72b6\u6001", None));
+ ___qtablewidgetitem3 = self.tableWidget.horizontalHeaderItem(3)
+ ___qtablewidgetitem3.setText(QCoreApplication.translate("Mainwindow", u"\u53ef\u7528", None));
+ ___qtablewidgetitem4 = self.tableWidget.verticalHeaderItem(0)
+ ___qtablewidgetitem4.setText(QCoreApplication.translate("Mainwindow", u"\u65b0\u5efa\u884c", None));
+ ___qtablewidgetitem5 = self.tableWidget.verticalHeaderItem(1)
+ ___qtablewidgetitem5.setText(QCoreApplication.translate("Mainwindow", u"\u65b0\u5efa\u884c", None));
+ ___qtablewidgetitem6 = self.tableWidget.verticalHeaderItem(2)
+ ___qtablewidgetitem6.setText(QCoreApplication.translate("Mainwindow", u"\u65b0\u5efa\u884c", None));
+
+ __sortingEnabled = self.tableWidget.isSortingEnabled()
+ self.tableWidget.setSortingEnabled(False)
+ ___qtablewidgetitem7 = self.tableWidget.item(0, 0)
+ ___qtablewidgetitem7.setText(QCoreApplication.translate("Mainwindow", u"1", None));
+ ___qtablewidgetitem8 = self.tableWidget.item(0, 1)
+ ___qtablewidgetitem8.setText(QCoreApplication.translate("Mainwindow", u"2", None));
+ ___qtablewidgetitem9 = self.tableWidget.item(0, 2)
+ ___qtablewidgetitem9.setText(QCoreApplication.translate("Mainwindow", u"3", None));
+ ___qtablewidgetitem10 = self.tableWidget.item(0, 3)
+ ___qtablewidgetitem10.setText(QCoreApplication.translate("Mainwindow", u"4", None));
+ ___qtablewidgetitem11 = self.tableWidget.item(1, 0)
+ ___qtablewidgetitem11.setText(QCoreApplication.translate("Mainwindow", u"5", None));
+ ___qtablewidgetitem12 = self.tableWidget.item(1, 1)
+ ___qtablewidgetitem12.setText(QCoreApplication.translate("Mainwindow", u"6", None));
+ ___qtablewidgetitem13 = self.tableWidget.item(1, 2)
+ ___qtablewidgetitem13.setText(QCoreApplication.translate("Mainwindow", u"7", None));
+ ___qtablewidgetitem14 = self.tableWidget.item(1, 3)
+ ___qtablewidgetitem14.setText(QCoreApplication.translate("Mainwindow", u"9", None));
+ self.tableWidget.setSortingEnabled(__sortingEnabled)
+
+ self.pushButton.setText(QCoreApplication.translate("Mainwindow", u"\u4e0a\u4e00\u6761", None))
+ self.pushButton_3.setText(QCoreApplication.translate("Mainwindow", u"\u786e\u5b9a\u6807\u6ce8", None))
+ self.pushButton_2.setText(QCoreApplication.translate("Mainwindow", u"\u4e0b\u4e00\u6761", None))
+ # retranslateUi
+
diff --git a/ui/ui_inputdata.py b/ui/ui_inputdata.py
new file mode 100644
index 0000000..55cfcca
--- /dev/null
+++ b/ui/ui_inputdata.py
@@ -0,0 +1,137 @@
+# -*- coding: utf-8 -*-
+
+################################################################################
+## Form generated from reading UI file 'inputdata.ui'
+##
+## Created by: Qt User Interface Compiler version 6.3.0
+##
+## WARNING! All changes made in this file will be lost when recompiling UI file!
+################################################################################
+
+from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
+ QMetaObject, QObject, QPoint, QRect,
+ QSize, QTime, QUrl, Qt)
+from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
+ QFont, QFontDatabase, QGradient, QIcon,
+ QImage, QKeySequence, QLinearGradient, QPainter,
+ QPalette, QPixmap, QRadialGradient, QTransform)
+from PySide6.QtWidgets import (QApplication, QHBoxLayout, QHeaderView, QLabel,
+ QMainWindow, QPushButton, QSizePolicy, QTableWidget,
+ QTableWidgetItem, QTextEdit, QVBoxLayout, QWidget)
+
+class Ui_MainWindow(object):
+ def setupUi(self, MainWindow):
+ if not MainWindow.objectName():
+ MainWindow.setObjectName(u"MainWindow")
+ MainWindow.resize(800, 600)
+ self.centralwidget = QWidget(MainWindow)
+ self.centralwidget.setObjectName(u"centralwidget")
+ self.verticalLayout = QVBoxLayout(self.centralwidget)
+ self.verticalLayout.setObjectName(u"verticalLayout")
+ self.widget = QWidget(self.centralwidget)
+ self.widget.setObjectName(u"widget")
+ self.horizontalLayout = QHBoxLayout(self.widget)
+ self.horizontalLayout.setObjectName(u"horizontalLayout")
+ self.tableWidget = QTableWidget(self.widget)
+ if (self.tableWidget.columnCount() < 1):
+ self.tableWidget.setColumnCount(1)
+ __qtablewidgetitem = QTableWidgetItem()
+ self.tableWidget.setHorizontalHeaderItem(0, __qtablewidgetitem)
+ if (self.tableWidget.rowCount() < 2):
+ self.tableWidget.setRowCount(2)
+ __qtablewidgetitem1 = QTableWidgetItem()
+ self.tableWidget.setVerticalHeaderItem(0, __qtablewidgetitem1)
+ __qtablewidgetitem2 = QTableWidgetItem()
+ self.tableWidget.setVerticalHeaderItem(1, __qtablewidgetitem2)
+ __qtablewidgetitem3 = QTableWidgetItem()
+ self.tableWidget.setItem(0, 0, __qtablewidgetitem3)
+ __qtablewidgetitem4 = QTableWidgetItem()
+ self.tableWidget.setItem(1, 0, __qtablewidgetitem4)
+ self.tableWidget.setObjectName(u"tableWidget")
+
+ self.horizontalLayout.addWidget(self.tableWidget)
+
+ self.tableWidget_2 = QTableWidget(self.widget)
+ if (self.tableWidget_2.columnCount() < 2):
+ self.tableWidget_2.setColumnCount(2)
+ __qtablewidgetitem5 = QTableWidgetItem()
+ self.tableWidget_2.setHorizontalHeaderItem(0, __qtablewidgetitem5)
+ __qtablewidgetitem6 = QTableWidgetItem()
+ self.tableWidget_2.setHorizontalHeaderItem(1, __qtablewidgetitem6)
+ self.tableWidget_2.setObjectName(u"tableWidget_2")
+
+ self.horizontalLayout.addWidget(self.tableWidget_2)
+
+
+ self.verticalLayout.addWidget(self.widget)
+
+ self.widget_2 = QWidget(self.centralwidget)
+ self.widget_2.setObjectName(u"widget_2")
+ self.horizontalLayout_2 = QHBoxLayout(self.widget_2)
+ self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
+ self.label = QLabel(self.widget_2)
+ self.label.setObjectName(u"label")
+
+ self.horizontalLayout_2.addWidget(self.label)
+
+ self.pushButton = QPushButton(self.widget_2)
+ self.pushButton.setObjectName(u"pushButton")
+ sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.pushButton.sizePolicy().hasHeightForWidth())
+ self.pushButton.setSizePolicy(sizePolicy)
+
+ self.horizontalLayout_2.addWidget(self.pushButton)
+
+
+ self.verticalLayout.addWidget(self.widget_2)
+
+ self.widget_3 = QWidget(self.centralwidget)
+ self.widget_3.setObjectName(u"widget_3")
+ self.horizontalLayout_3 = QHBoxLayout(self.widget_3)
+ self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
+ self.textEdit = QTextEdit(self.widget_3)
+ self.textEdit.setObjectName(u"textEdit")
+ self.textEdit.setReadOnly(True)
+
+ self.horizontalLayout_3.addWidget(self.textEdit)
+
+
+ self.verticalLayout.addWidget(self.widget_3)
+
+ MainWindow.setCentralWidget(self.centralwidget)
+
+ self.retranslateUi(MainWindow)
+ self.tableWidget.cellDoubleClicked.connect(MainWindow.double_clicked_file)
+ self.pushButton.clicked.connect(MainWindow.back_to_main)
+
+ QMetaObject.connectSlotsByName(MainWindow)
+ # setupUi
+
+ def retranslateUi(self, MainWindow):
+ MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"\u5bfc\u5165\u6570\u636e", None))
+ ___qtablewidgetitem = self.tableWidget.horizontalHeaderItem(0)
+ ___qtablewidgetitem.setText(QCoreApplication.translate("MainWindow", u"\u6587\u4ef6\u540d", None));
+ ___qtablewidgetitem1 = self.tableWidget.verticalHeaderItem(0)
+ ___qtablewidgetitem1.setText(QCoreApplication.translate("MainWindow", u"\u65b0\u5efa\u884c", None));
+ ___qtablewidgetitem2 = self.tableWidget.verticalHeaderItem(1)
+ ___qtablewidgetitem2.setText(QCoreApplication.translate("MainWindow", u"\u65b0\u5efa\u884c", None));
+
+ __sortingEnabled = self.tableWidget.isSortingEnabled()
+ self.tableWidget.setSortingEnabled(False)
+ ___qtablewidgetitem3 = self.tableWidget.item(0, 0)
+ ___qtablewidgetitem3.setText(QCoreApplication.translate("MainWindow", u"1", None));
+ ___qtablewidgetitem4 = self.tableWidget.item(1, 0)
+ ___qtablewidgetitem4.setText(QCoreApplication.translate("MainWindow", u"2", None));
+ self.tableWidget.setSortingEnabled(__sortingEnabled)
+
+ ___qtablewidgetitem5 = self.tableWidget_2.horizontalHeaderItem(0)
+ ___qtablewidgetitem5.setText(QCoreApplication.translate("MainWindow", u"\u6587\u4ef6\u540d", None));
+ ___qtablewidgetitem6 = self.tableWidget_2.horizontalHeaderItem(1)
+ ___qtablewidgetitem6.setText(QCoreApplication.translate("MainWindow", u"\u4e0d\u53ef\u5bfc\u5165\u539f\u56e0", None));
+ self.label.setText(QCoreApplication.translate("MainWindow", u"\u8bf7\u53cc\u51fb\u5de6\u4e0a\u89d2\u7684\u8868\u683c\u6765\u5bfc\u5165\u5bf9\u5e94\u7684\u97f3\u9891\u548c\u5b57\u5e55\n"
+"\u6ce8\u610f\uff1a\u97f3\u9891\u53ea\u652f\u6301wav\u548cmp3\u683c\u5f0f\uff0c\u4e14\u97f3\u9891\u548c\u5b57\u5e55\u7684\u6587\u4ef6\u540d\u5fc5\u987b\u76f8\u540c\uff0c\u540e\u7f00\u53ef\u4ee5\u4e0d\u540c", None))
+ self.pushButton.setText(QCoreApplication.translate("MainWindow", u"\u8fd4\u56de\u5165\u53e3", None))
+ # retranslateUi
+
diff --git a/ui/ui_main.py b/ui/ui_main.py
new file mode 100644
index 0000000..00ae76b
--- /dev/null
+++ b/ui/ui_main.py
@@ -0,0 +1,105 @@
+# -*- coding: utf-8 -*-
+
+################################################################################
+## Form generated from reading UI file 'main.ui'
+##
+## Created by: Qt User Interface Compiler version 6.3.0
+##
+## WARNING! All changes made in this file will be lost when recompiling UI file!
+################################################################################
+
+from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
+ QMetaObject, QObject, QPoint, QRect,
+ QSize, QTime, QUrl, Qt)
+from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
+ QFont, QFontDatabase, QGradient, QIcon,
+ QImage, QKeySequence, QLinearGradient, QPainter,
+ QPalette, QPixmap, QRadialGradient, QTransform)
+from PySide6.QtWidgets import (QApplication, QLabel, QListWidget, QListWidgetItem,
+ QMainWindow, QPushButton, QSizePolicy, QVBoxLayout,
+ QWidget)
+
+class Ui_MainWindow(object):
+ def setupUi(self, MainWindow):
+ if not MainWindow.objectName():
+ MainWindow.setObjectName(u"MainWindow")
+ MainWindow.resize(660, 421)
+ self.centralwidget = QWidget(MainWindow)
+ self.centralwidget.setObjectName(u"centralwidget")
+ self.verticalLayout_2 = QVBoxLayout(self.centralwidget)
+ self.verticalLayout_2.setObjectName(u"verticalLayout_2")
+ self.widget = QWidget(self.centralwidget)
+ self.widget.setObjectName(u"widget")
+ self.verticalLayout = QVBoxLayout(self.widget)
+ self.verticalLayout.setObjectName(u"verticalLayout")
+ self.pushButton = QPushButton(self.widget)
+ self.pushButton.setObjectName(u"pushButton")
+ font = QFont()
+ font.setPointSize(12)
+ self.pushButton.setFont(font)
+
+ self.verticalLayout.addWidget(self.pushButton)
+
+ self.label = QLabel(self.widget)
+ self.label.setObjectName(u"label")
+
+ self.verticalLayout.addWidget(self.label)
+
+ self.listWidget = QListWidget(self.widget)
+ self.listWidget.setObjectName(u"listWidget")
+ sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.listWidget.sizePolicy().hasHeightForWidth())
+ self.listWidget.setSizePolicy(sizePolicy)
+
+ self.verticalLayout.addWidget(self.listWidget)
+
+
+ self.verticalLayout_2.addWidget(self.widget)
+
+ self.widget_2 = QWidget(self.centralwidget)
+ self.widget_2.setObjectName(u"widget_2")
+ self.verticalLayout_3 = QVBoxLayout(self.widget_2)
+ self.verticalLayout_3.setObjectName(u"verticalLayout_3")
+ self.pushButton_2 = QPushButton(self.widget_2)
+ self.pushButton_2.setObjectName(u"pushButton_2")
+ self.pushButton_2.setFont(font)
+
+ self.verticalLayout_3.addWidget(self.pushButton_2)
+
+
+ self.verticalLayout_2.addWidget(self.widget_2)
+
+ self.widget_3 = QWidget(self.centralwidget)
+ self.widget_3.setObjectName(u"widget_3")
+ self.verticalLayout_4 = QVBoxLayout(self.widget_3)
+ self.verticalLayout_4.setObjectName(u"verticalLayout_4")
+ self.pushButton_3 = QPushButton(self.widget_3)
+ self.pushButton_3.setObjectName(u"pushButton_3")
+ self.pushButton_3.setEnabled(True)
+ self.pushButton_3.setFont(font)
+
+ self.verticalLayout_4.addWidget(self.pushButton_3)
+
+
+ self.verticalLayout_2.addWidget(self.widget_3)
+
+ MainWindow.setCentralWidget(self.centralwidget)
+
+ self.retranslateUi(MainWindow)
+ self.pushButton.clicked.connect(MainWindow.to_inputfile)
+ self.pushButton_3.clicked.connect(MainWindow.to_outputfile)
+ self.pushButton_2.clicked.connect(MainWindow.to_workspace)
+
+ QMetaObject.connectSlotsByName(MainWindow)
+ # setupUi
+
+ def retranslateUi(self, MainWindow):
+ MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"\u5165\u53e3", None))
+ self.pushButton.setText(QCoreApplication.translate("MainWindow", u"\u5bfc\u5165\u5b57\u5e55\u6587\u4ef6\u548c\u97f3\u9891\u6587\u4ef6", None))
+ self.label.setText(QCoreApplication.translate("MainWindow", u"\u8bf7\u5728\u6b64\u8868\u4e2d\u9009\u4e2d\u4f60\u8981\u64cd\u4f5c\u7684\u6570\u636e\u96c6", None))
+ self.pushButton_2.setText(QCoreApplication.translate("MainWindow", u"\u8fdb\u5165\u6570\u636e\u96c6\u7f16\u8f91\u9875\u9762", None))
+ self.pushButton_3.setText(QCoreApplication.translate("MainWindow", u"\u5bfc\u51fa\u6570\u636e\u96c6", None))
+ # retranslateUi
+
diff --git a/utils.py b/utils.py
new file mode 100644
index 0000000..a276914
--- /dev/null
+++ b/utils.py
@@ -0,0 +1,53 @@
+import sqlite3
+
+from pydub import AudioSegment
+
+db_path = "db/data.db"
+file_dict_path = "filepath/"
+
+
+class LiteDB:
+ def __init__(self):
+ self.conn = sqlite3.connect('db/data.db')
+ print("数据库打开成功")
+
+ def close(self):
+ self.conn.close()
+
+ def select_all(self):
+ c = self.conn.cursor()
+ result = c.execute("select * from sound")
+ return result
+
+ def select_unchecked(self):
+ c = self.conn.cursor()
+ result = c.execute("SELECT sound_text,sound_start,sound_end,checked,can_use FROM sound")
+ return result
+
+
+class MySound:
+ def __init__(self, info_dict):
+ self.text = info_dict["text"]
+ self.start = info_dict["start"]
+ self.end = info_dict["end"]
+ self.checked = info_dict["checked"]
+ self.can_use = info_dict["can_use"]
+ self.file_name = info_dict["file_name"]
+ self.sound = cut_sound(info_dict["all_sound"],self.start,self.end)
+
+
+class AllSound:
+ def __init__(self, file_path):
+ self.sound = get_sound(file_path)
+
+
+def get_sound(file_path):
+ file_type = file_path.split(".")[-1:][0]
+ if file_type == "mp3":
+ return AudioSegment.from_mp3(file_path)
+ elif file_type == "wav":
+ return AudioSegment.from_wav(file_path)
+
+
+def cut_sound(sound, start, end):
+ return sound[start:end]