From 26638cd9666982613ea9bc8e70fc0179822b14db Mon Sep 17 00:00:00 2001 From: lizi <49679880@qq.com> Date: Sun, 17 Apr 2022 16:06:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=AC=A1=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 + PyAudio-0.2.11-cp39-cp39-win_amd64.whl | Bin 0 -> 113702 bytes db/data.db | Bin 0 -> 12288 bytes main.py | 11 + test.py | 18 + ui/gui.ui | 487 +++++++++++++++++++++++++ ui/guiclass.py | 71 ++++ ui/inputdata.ui | 149 ++++++++ ui/main.ui | 151 ++++++++ ui/ui_gui.py | 321 ++++++++++++++++ ui/ui_inputdata.py | 137 +++++++ ui/ui_main.py | 105 ++++++ utils.py | 53 +++ 13 files changed, 1507 insertions(+) create mode 100644 .gitignore create mode 100644 PyAudio-0.2.11-cp39-cp39-win_amd64.whl create mode 100644 db/data.db create mode 100644 main.py create mode 100644 test.py create mode 100644 ui/gui.ui create mode 100644 ui/guiclass.py create mode 100644 ui/inputdata.ui create mode 100644 ui/main.ui create mode 100644 ui/ui_gui.py create mode 100644 ui/ui_inputdata.py create mode 100644 ui/ui_main.py create mode 100644 utils.py 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 0000000000000000000000000000000000000000..d1986b0a0ba73aa74f2eb97122ab889068fc66ad GIT binary patch literal 113702 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%0D+4; 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 C@=ovo literal 0 HcmV?d00001 diff --git a/db/data.db b/db/data.db new file mode 100644 index 0000000000000000000000000000000000000000..c082758be0fedad4b50012f65603433f5f17f98b GIT binary patch literal 12288 zcmeI#-%7$z90%}oW?%@*x>^y$k6kH5Obxtk)uL!w*@V0r%biNn2|A%`@ez7}ZhC|+ zz3)NlvUligiYQGVK)#3V{QDiw+3&Nfb9ZYuLqU(7Zrcl~#5Nh{?1+dlmYTe>iAywI zoAjfG&-52{Q|w^-OO;VYePbJ+vO<9X1Rwwb2tWV=5P$##AOL}>z+g{FYnsM~yP@~c z61`48@Z&0VQngISBF8+oEz;vTopNf1CIh$W>(mTF@g%xbxpt^hv+ezvcqm>&ogC|4 zh7!WP(CfUQ@QB8JtuwP`J7kPMq~Qf_zbF2mGF@1R7v5AauFPtk zF0DG{#<@o6<<(4naL&_Osl00Izz00bZa0SG_<0uX?}DhO=xG~3}ycKv(w{_`>NGdTnI|5f<0$N>Tn ZfB*y_009U<00Izz00bZ~Bam?a{{s-v$-@8u literal 0 HcmV?d00001 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]