软件工程应用与实践(1)——项目简介,小组分工
2021SC@SDUSC
目录
- 一、项目简介
- 二、使用技术
- 三、小组分工
- 四、数据预处理
- 4.1 概述
- 4.2 相关配置
- 4.3 具体代码
一、项目简介
老年照护健康知识图谱平台系统是一个面向老年人,展示老年人常见疾病信息及健康护理的系统,该项目提供了文字,图片,视频,音频展示。图表展示等功能
二、使用技术
前端:vue+element ui
后端:springboot+mybatis-plus
语言:Java
使用Maven作为项目构建工具,使用git作为项目管理工具,使用Docker容器化技术将项目部署到山东大学的云服务器上
由于后端使用的是微服务的技术,因此Spring Boot主要用在Spring Cloud的子项目中,利用Spring Boot快速构建微服务项目。此外,还是用了一些中间件技术,比如RabbitMQ,搜索技术Elastic Search等。
三、小组分工
经过小组讨论,确定项目核心代码后,我们决定在本次的小组分工中,我主要负责前后端交互以及部分前后端核心代码的阅读
四、数据预处理
4.1 概述
在项目中,由于涉及大量关于疾病描述的word文档,需要在界面上使用语音的方式读出。因此需要对word文件进行预处理,将一个目录中所有word文件中的文字内容批量转换为.wav文件。本项目使用python语言+百度语音api,并设置简易操作界面,实现.docx文件转语音的功能
4.2 相关配置
下载python-docx模块
pip install python-docx
便于读取docx文件
安装百度语音API:AipSpeech
pip install baidu_aip
4.3 具体代码
from aip import AipSpeech
import os
import docx
from tkinter import *
from tkinter import filedialog
import tkinter as tk
import sys
import threading""" 你的 APPID AK SK """
APP_ID = '你的APPID'
API_KEY = '你的API_KEY'
SECRET_KEY = '你的secret_key'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)# 内容转语音的方法
def change_to_mp3(content='', turn=1, wav_name='17k',filePath="",fileName=""):result = client.synthesis(content, 'zh', 1, {'vol': 5, 'per': 0, 'spd':4})# 识别正确返回语音二进制 错误则返回dict 参照下面错误码if not isinstance(result, dict):with open(filePath+'\\'+ fileName +'.wav', 'wb') as f:f.write(result)# doc转wav
def changeDocToWav(filepath=""):# 获取所有文件名(含后缀)filenames = os.listdir(filepath)# 获取所有文件名(不含后缀)file = []for i in range(len(filenames)):index = filenames[i].rfind(".")file.append(filenames[i][:index])# 循环读取所有docx文件for i in range(len(filenames)):f = docx.Document(filepath + "/" + filenames[i])# 文件内容content = ""for para in f.paragraphs:content += para.text + "。"# 存储为mp3文件change_to_Wav(content=content, fileName=file[i],filePath=filepath)if i == len(filenames) - 1:tk.messagebox.showinfo('提示信息', '音频文件已转换完成!')#按下选择文件夹按钮时的操作
def select_file():filePathVariable.set("")root = Tk()root.withdraw()# 告诉系统使用全局filepathglobal filepathfilepath = filedialog.askdirectory();filePathVariable.set(filepath)# 确定按钮按下时,转化为wav文件
def confirmToChange():# 创建线程t = threading.Thread(target=changeDocToWav, args=[filepath])# 守护t.setDaemon(True)t.start()# 结束进程
def stopProcess():sys.exit(0)framesT = Tk()
framesT.title("请选择文件夹")
screenWidth = framesT.winfo_screenwidth()
screenHeight = framesT.winfo_screenheight()
framesT.geometry("%dx%d+%d+%d" % (600, 150, (screenWidth-600)/2, (screenHeight-150)/2))
frame = Frame(framesT)
frame.pack(padx=10, pady=10)
frame1 = Frame(framesT)
frame1.pack(padx=10,pady=10)
filePathVariable=StringVar()global filepathEntry(frame,width=40,textvariable=filePathVariable).pack(fill=X,side=LEFT)
Button(frame, width=20, text="选择文件夹",command=select_file).pack(fill=X,padx=10)
Button(frame1, width=10, text="确定",command=confirmToChange).pack(fill=X,side=LEFT)framesT.protocol("WM_DELETE_WINDOW",stopProcess)
frame.mainloop()
软件工程应用与实践(1)——项目简介,小组分工相关推荐
- <2021SC@SDUSC>博客(1)山东大学软件工程应用与实践-038号JPress小组课题介绍
2021SC@SDUSC Jpress项目介绍 JPress,一个使用Java开发,类似WordPress的产品.天生融合微信生态系统,简单易上手.致力于为企业打造自主自属的营销平台,用技术助力企业营 ...
- 软件工程应用与实践(15)——请求与响应
2021SC@SDUSC 文章目录 一.概述 二.源码分析 2.1 响应 2.2 请求 三.总结 一.概述 在老年健康知识图谱系统中,后端与前端的交互是很重要的,在前端向后端发送请求的过程中,后端需要 ...
- 山东大学软件工程应用与实践——GMSSL开源库(四)——SM9数字签名算法及验证的源代码分析
2021SC@SDUSC 目录 一.引言 二.密钥的生成数字签名与签名验证相关代码 1.判定函数 2.签名的初始化函数 3.签名执行函数 4.真正的签名函数 5.签名验证初始化函数 6.签名验证执行函 ...
- 软件工程应用与实践(1)——项目简介和小组分工
2021SC@SDUSC 文章目录 一.项目简介 二.小组分工 三.后端技术 四.后端环境搭建 1,Maven配置 2,依赖的引入 3,连接云数据库 4,启动springboot项目 一.项目简介 本 ...
- 山东大学软件工程应用与实践——GMSSL开源库(一) ——WINDOWS下GMSSL的安装与编译的超详细保姆级攻略
2021SC@SDUSC GMSSL简介 GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法.SM2国密数字证书及基于SM2证书的SSL/TLS安全 ...
- 软件工程应用于实践:AJ-Report项目 源码分析(8)
2021SC@SDUSC 本次分析的是report-ui\src\views\report\excelreport\designer处的代码 data () {return {activeName: ...
- 软件工程应用于实践:AJ-Report项目 源码分析(7)
2021SC@SDUSC 本次分析的是report-ui\src\views\report\bigscreen\designer\map中的代码 series: [{type: 'map',map: ...
- 软件工程应用与实践(2)——知识图谱树形结构获取
2021SC@SDUSC 目录 一.知识图谱的结构 二.前端代码 2.1 对axios请求的封装 2.2 树形控件代码及其分析 三.后端代码 3.1 树形结构对应的实体类 3.2 填充知识树的过程 3 ...
- 软件工程应用与实践(8)——视频清晰度切换
2021SC@SDUSC 文章目录 一.概述 二.代码分析 2.1 安装配置 2.2 播放器的创建 2.3 应用 三.总结 一.概述 在老年健康管理系统中,需要播放相应的视频,在播放视频的过程中,需要 ...
最新文章
- 现代NLP中的零样本学习
- python psycopg2_Ubuntu 安装 PostgreSQL 和 python-psycopg2基础教程(以及错误解决)
- 浏览器中的标签切换事件
- 第二章 数据类型和文件操作
- 无法访问本地ip_当金万维异速联无法访问金蝶软件怎么办?
- 基于matlab的pcb焊盘,EDA复习题
- Android入门篇二:使用意图在Activity之间传递数据
- 拖动内容,滚动条滚动,横向
- 百战程序员 全栈软件测试课程 2022 笔记
- 毕业设计 微信小程序 外卖点餐平台
- wedo2.0恐龙系列图纸roboriseits乐高机器人暑假班(课程安排,psd海报,宣传素材,课堂实拍照片视频,课后反思等所有内容)
- 树莓派C语言超声波传感器测距
- Github常用框架集合
- 一线互联网企业高级Android工程师面试题大全,含小米、腾讯、阿里
- win7总是显示计算机内存不足怎么办,win7系统电脑总是提示“计算机的内存不足”的解决方法...
- 聊天群怎么引流?微信群精准引流的方法
- 智慧社区运维可视化管理平台主要有哪些功能?
- 简单计算机基础知识,计算机基础知识讲义
- TestStand-序列步骤属性
- MySQL基础--函数