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)——项目简介,小组分工相关推荐

  1. <2021SC@SDUSC>博客(1)山东大学软件工程应用与实践-038号JPress小组课题介绍

    2021SC@SDUSC Jpress项目介绍 JPress,一个使用Java开发,类似WordPress的产品.天生融合微信生态系统,简单易上手.致力于为企业打造自主自属的营销平台,用技术助力企业营 ...

  2. 软件工程应用与实践(15)——请求与响应

    2021SC@SDUSC 文章目录 一.概述 二.源码分析 2.1 响应 2.2 请求 三.总结 一.概述 在老年健康知识图谱系统中,后端与前端的交互是很重要的,在前端向后端发送请求的过程中,后端需要 ...

  3. 山东大学软件工程应用与实践——GMSSL开源库(四)——SM9数字签名算法及验证的源代码分析

    2021SC@SDUSC 目录 一.引言 二.密钥的生成数字签名与签名验证相关代码 1.判定函数 2.签名的初始化函数 3.签名执行函数 4.真正的签名函数 5.签名验证初始化函数 6.签名验证执行函 ...

  4. 软件工程应用与实践(1)——项目简介和小组分工

    2021SC@SDUSC 文章目录 一.项目简介 二.小组分工 三.后端技术 四.后端环境搭建 1,Maven配置 2,依赖的引入 3,连接云数据库 4,启动springboot项目 一.项目简介 本 ...

  5. 山东大学软件工程应用与实践——GMSSL开源库(一) ——WINDOWS下GMSSL的安装与编译的超详细保姆级攻略

    2021SC@SDUSC GMSSL简介 GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法.SM2国密数字证书及基于SM2证书的SSL/TLS安全 ...

  6. 软件工程应用于实践:AJ-Report项目 源码分析(8)

    2021SC@SDUSC 本次分析的是report-ui\src\views\report\excelreport\designer处的代码 data () {return {activeName: ...

  7. 软件工程应用于实践:AJ-Report项目 源码分析(7)

    2021SC@SDUSC 本次分析的是report-ui\src\views\report\bigscreen\designer\map中的代码 series: [{type: 'map',map: ...

  8. 软件工程应用与实践(2)——知识图谱树形结构获取

    2021SC@SDUSC 目录 一.知识图谱的结构 二.前端代码 2.1 对axios请求的封装 2.2 树形控件代码及其分析 三.后端代码 3.1 树形结构对应的实体类 3.2 填充知识树的过程 3 ...

  9. 软件工程应用与实践(8)——视频清晰度切换

    2021SC@SDUSC 文章目录 一.概述 二.代码分析 2.1 安装配置 2.2 播放器的创建 2.3 应用 三.总结 一.概述 在老年健康管理系统中,需要播放相应的视频,在播放视频的过程中,需要 ...

最新文章

  1. 现代NLP中的零样本学习
  2. python psycopg2_Ubuntu 安装 PostgreSQL 和 python-psycopg2基础教程(以及错误解决)
  3. 浏览器中的标签切换事件
  4. 第二章 数据类型和文件操作
  5. 无法访问本地ip_当金万维异速联无法访问金蝶软件怎么办?
  6. 基于matlab的pcb焊盘,EDA复习题
  7. Android入门篇二:使用意图在Activity之间传递数据
  8. 拖动内容,滚动条滚动,横向
  9. 百战程序员 全栈软件测试课程 2022 笔记
  10. 毕业设计 微信小程序 外卖点餐平台
  11. wedo2.0恐龙系列图纸roboriseits乐高机器人暑假班(课程安排,psd海报,宣传素材,课堂实拍照片视频,课后反思等所有内容)
  12. 树莓派C语言超声波传感器测距
  13. Github常用框架集合
  14. 一线互联网企业高级Android工程师面试题大全,含小米、腾讯、阿里
  15. win7总是显示计算机内存不足怎么办,win7系统电脑总是提示“计算机的内存不足”的解决方法...
  16. 聊天群怎么引流?微信群精准引流的方法
  17. 智慧社区运维可视化管理平台主要有哪些功能?
  18. 简单计算机基础知识,计算机基础知识讲义
  19. TestStand-序列步骤属性
  20. MySQL基础--函数

热门文章

  1. “SEO是什么意思?”Kyw的通俗回答
  2. flash在线视频播放器
  3. 1989-2015各国平均关税水平
  4. 深度学习在音频信号处理领域中的进展(截止至2019年5月)
  5. 汉诺塔(河内塔)问题(递归)
  6. android sqlite delete 返回值,SQLite 使用详解
  7. 谐振电路的品质因数(Q值)zz
  8. 利用AD和AUTO CAD制作PCB电路板车间生产工序卡
  9. 抖音直播带货数据复盘怎么做?如何复盘提高直播间转化率?
  10. java比较器原理理解