基于百度语音识别api的语音识别服务(3)
时间:2023-03-19 17:16 来源:毕业论文 作者:毕业论文 点击:次
1。2 国内外研究现状与水平 1。2。1 国外发展 1。2。2 国内发展 1。2。3 识别模式 1。2。4 数据库 1。3 发展趋势 1。4 本课题的基本内容、重点、难点 1。4。1 本课题的基本内容 本系统分为语音识别、音频切割、音频转码三个功能模块。语音识别:由操作者上传音频文件或者音频流地址,通过ffmpeg切流转码交给百度语音识别api加以识别。音频切割:操作者上传音频文件或者音频流地址以及相关参数,通过ptyhon调用ffmpeg进行音频的切割。音频转码:可以将常见的音频格式相互转化,例如:MP3、WMA、WAV等。 1。4。2 本课题的重点 使用python编程,实现数据特征提取,在此基础上实现通过api的语音识别;将语音识别功能编写成可供其他模块调用的函数,为进一步实现语音识别系统提供基础;并且从中培养、提高查阅文献和综合运用知识的编程开发能力。 学习并使用celery进行任务的调度 Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,并且提供维护这样一个系统的必需工具。 Celery支持使用任务队列的方式在分布的机器、进程、线程上执行任务调度。 任务队列是一种在线程或机器间分发任务的机制。 消息队列的输入是工作的一个单元,称为任务,独立的职程(Worker)进程持续监视队列中是否有需要处理的新任务。 Celery 用消息通信,通常使用中间人(Broker)在客户端和职程间斡旋。这个过程从客户端向队列添加消息开始,之后中间人把消息派送给职程,职程对消息进行处理。 Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成。 1。4。3 本课题的难点 将百度语音识别api不支持的音频格式和采样率转换为可被识别的:pcm(不压缩)、wav、opus、speex、amr、x-flac。原始 PCM 的录音参数必须符合 8k/16k 采样率、16bit 位深、单声道。 通过设置对应的语音识别垂类:在代码中填写识别的垂类领域,识别结果将优先指向已设置的垂类,可以使得识别结果更准确,有效地提高准确率。 1。5 开发所选择的工具 1。5。1 硬件部分 为了完成语音的采集和数字化,硬件一般包括三个部分:传感器及信号调理电路,A/D转换电路,PC机接口电路。但是由于声卡已经成为计算机的标准配置,而且拥有对声卡进行操作的函数,所以在本系统中直接采用话筒和声卡实现这部分功能。From~优Y尔R论^文W网wWw.YoUeRw.com 加QQ7520.18766 1。5。2 软件部分 程序整体使用python编写,使用flask框架编写页面和网络服务,使用celery进行任务的调度,实现具体任务的异步发布执行,ffmpeg进行音频处理。 (1) Python编程语言简介 Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。 (责任编辑:qin) |