一、简介
使用接口转换需要输入的语音为文字。
给大家带来一款语音识别软件,想做智能识别语音设备或者想给项目增加功能的同学可以看下 这款软件是使用python写的,其实开发语言无所谓用其他语言也可以写 代码还是挺简单的。
这款软件主要使用接口完成识别功能。
随着互联网的发展,语音文件成为了人们接触得越来越多文件。如何高效的从一段录音中提取出关键信息,提取出其中人们感兴趣的内容,直观的呈现给人门。本文以百度语音识别通过API的方式给开发者提供一个通用的接口。通过python语言,使用此接口来实现语音识别。
现实生活中,语音是人们交流沟通的重要方式,将语音转换成文字,可以适用于不方便接听语音,将语音转成文字更方便使用,还有在一些会议等场所,需要将语音以文字的形式记录下来,以及大数据时代对语音数据关键词的提取。将语音识别转化为翻译任务展开深入研究,具有一定的理论意义和研究价值。
使用Python程序实现简单的语音识别程序,程序可以识别任意时间长度的语音,在语音输入完成后,点击回车就可以结束录音,可进行任意时间段的语音识别。
该语音识别程序借助百度智能云提供的云应用进行语音识别,使用百度智能云的语音识别模块识别语音之后返回文本,将文本以文本文件保存在磁盘中。
二、项目截图
三、开发环境
3.1环境
window 10、python 3.9.10
3.2架包
time库,顾名思义,跟时间有关。在这个程序中,用到了如下指令:time.time():用来读取当前时间
threading库 ,用来生成多线程的数据库。在这个程序中,用到了如下指令:threading._start_new_thread(self.__recording,()):开启一个新的线程,运行Recorder中的__recording方法。
Wave库:是WAV音频文件操作库,如读写
PyAudio库:PyAudio对象只负责播放音频,不负责从文件中读取二进制数据,所以读取要在外面进行,给到它的是二进制数据,一般会结合wave库一起使用,wave库负责读数据以及获取音频的一些基本信息
3.3第三方接口baidu-aip
版本:4.16.8:AipSpeech是百度语音识别的接口,为使用语音识别的开发人员提供了一系列的交互方法。
3.3.1 Baidu-aip接口说明
百度短语音识别可以将 60 秒以下的音频识别为文字。适用于语音对话、语音控制、语音输入等场景。
- 接口类型:通过 REST API 的方式提供的通用的 HTTP 接口。适用于任意操作系统,任意编程语言
- 接口限制:需要上传完整的录音文件,录音文件时长不超过 60 秒。浏览器由于无法跨域请求百度语音服务器的域名,因此无法直接调用API接口。
- 支持音频格式:pcm、wav、amr、m4a
- 音频编码要求:采样率 16000、8000(仅支持普通话模型),16 bit 位深,单声道(音频格式查看及转换)
3.3.2请求说明:
语音数据上传 POST 方式有 2 种:
JSON 格式 POST 上传本地音频文件。
RAW 格式 POST 上传本地音频文件。
JSON 方式
音频文件,读取二进制内容后,进行 base64 编码后放在 speech 参数内。
音频文件的原始大小, 即二进制内容的字节数,填写 “len” 字段
由于使用 json 格式, header 为: Content-Type:application/json注意 由于 base64 编码后,数据会增大 1/3。
四、源码下载地址
最快速度完成一款语音识别软件,给项目增加功能-桌面系统文档类资源-CSDN下载