基于语音识别的翻译系统
【基于语音识别的翻译系统】
文章图片
文章图片
从这个页面来看,使用到的前端框架是Bootstrap;从设计的题目来看有两个基础的功能:识别和翻译,使用Python调用接口实现。再通过Web框架——Flask将前后端结合。项目部署在文章中“三丰云”提供的免费虚拟主机和免费云服务器中,使用Nginx和uWSGI作服务器。
首先,花1分钟讲述使用接口的条件和返回的结果,再根据条件和结果配合流程和界面。调用接口都是需要一把钥匙,表示可以调用和调用的是什么类型。语音识别返回的结果可以设定一些参数来筛选,比如,是否根据语义断句。假设总共有二十句话,这个结果对象Result对应二十条数据,每一条数据包括开始时间、结束时间和文本内容。再通过遍历将每一条数据的文本内容使用翻译接口得到翻译文本,最后存储在MongoDB数据库中。登录注册进入用户首页,点击新建,根据是视频还是音频,是否进行翻译选择项目类型。所以首页左上角“全部”“视频”“音频”是三个页面,对应项目类型。这个三个页面在导航栏是这样区分的,比如“视频”标签id为index0,使用JavaScript将页面继承的base模板(模板base.html)中id为index0的class赋值为激活,表现为选中的状态。新建一个项目进行识别和翻译。可以看到提示是缺少对应的引擎,点击进入引擎信息填写并提交。提交成功后自动返回首页,也可以在用户中心进行信息添加和删除。新建项目可以填写项目名,在下拉框从已添加的引擎中选择,在本地文件中选择视频文件最后提交,页面将跳转回首页显示已提交的项目。这时程序使用“FFmpeg”将视频转换为符合接口使用的16K采样率的wav音频,得到视频的第一帧作为的封面,获取视频时长,如果上传音频则采用默认图片作为封面。这些信息和信息的路径称为Projects文档被存储在MongoDB数据库中供后续访问,还存储了其他信息,使用到的时候再介绍。
推荐阅读
- redis | 一NoSql演进史
- 动态路由
- 带你认识网络世界,什么是网络协议分层有什么好处
- Dokcer进阶-初识DockerFile
- rsyslog.conf配置文件
- jenkins调优——实战
- HTTP学习笔记(二) 相识篇
- java项目|史上最完整基于Springboot实现进销存管理系统
- Java毕业设计专栏|基于SpringBoot的社区空巢老人健康管理系统的设计与实现
- Java毕业设计专栏|基于SSM实现考研信息管理平台系统