手语识别(二)----语音识别(百度)转手语视频

最近两天新加了一个功能,因为要实现语音到手语视频的功能,所以细分的话,大致流程就是:
录入语音并保存到本地----本地语音转文字(语音识别)----文字转分词-----分词转图片-----图片转视频保存到本地----输出本地视频
准备工作
1.安装pyaudio

我用的是python3.7,所以在安装的时候并不能直接用命令pip install pyaudio,会显示错误,最后通过下载.whl文件,然后运行以下命令安装成功。
PyAudio-0.2.11-cp37-cp37m-win_amd64.whl(python3.7 64位)文件下载:
链接:https://pan.baidu.com/s/1TOBq8hXr2HDbTex1emhUZQ
提取码:xq2g

   pip install Twisted-18.7.0-cp36-cp36m-win_amd64.whl
   pip install pyaudio

2.安装jieba
python中专门用来分词的工具,直接用pip命令安装即可

以下是几个部分的一些说明:
录入语音:
1.注意保存的文件后缀名,最好为.wav,当然根据各人需求决定,但在我的这个项目中必须得是.wav,方便后面其他部分的调用
2.保存语音的取样频率需和语音识别一致,且设置为单声道
代码比较简单,此处就不列举了。
语音识别:

此处我使用的是百度云API进行的语音转换,步骤如下:
1.在百度云https://cloud.baidu.com/上注册账号,或者有百度账号的直接登录即可
2.进入控制台------人工智能--------语音技术------创建一个应用
3.管理应用即可看到在这里插入图片描述
记下你的中间这三部分字符
4.安装依赖包

 pip install baidu-aip

将第三部分的字符分别对号入座,主要代码部分下面已经列出:
注意:此处保存为.wav文件,若是.mp3或者其他文件,需修改相关代码,16000表示的是文件采样率,1536说明支持的是普通话和简单英文,参数都可根据自己需求去改

from aip import AipSpeech
import cv2
#从百度AI开放平台创建应用处获取
APP_ID = '此处放入你创建应用的APP_ID '#需修改
API_KEY = '此处放入你创建应用的API_KEY '#需修改
SECRET_KEY = '此处放入你创建应用的SECRET_KEY '#需修改
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
# 读取文件
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()
# 识别本地文件
def get_text():
    result = client.asr(get_file_content('保存文件路径'), 'wav', 16000, {
    'dev_pid': 1536,})
    text = result['result'][0]

我这边的运行结果为在这里插入图片描述
说明语音识别成功。
文字转分词
此处使用jieba分词即可,功能挺强大的,具体如何应用自行百度即可。
分词转图片
这个是项目内部要求,代码中直接通过比对即可识别到此分词是哪张手语图片,进而输出即可。
图片转视频并输出
图片转视频存储到本地:
关键代码

fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', '2')
out = cv2.VideoWriter("视频存储路径", fourcc, 帧率, (640, 480))
des = cv2.imread("图片路径")
des = cv2.resize(des, (640, 480))
out.write(des)                        

输出本地视频代码:

capture = cv2.VideoCapture("本地视频路径")
while (capture.isOpened()):
    ret, frame = capture.read()
    if not ret:
        break
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    cv2.imshow('ly', gray)
    if cv2.waitKey(30) == ord('q'):
        break
capture.release()
cv2.destroyAllWindows()

效果展示:
录入语音:石头剪刀布你(因为数据集不够所以只能录入库里面仅有的几个,若是有手语图片数据集的朋友,还望不吝分享,谢谢)
手语识别(二)----语音识别(百度)转手语视频_第1张图片
语音录入后,视频文字结果显示:
手语识别(二)----语音识别(百度)转手语视频_第2张图片
这一小部分相关内容就这些了,欢迎指正错误,下篇博客见

参考文档:
https://www.cnblogs.com/nightcatcher/p/11195068.html
https://blog.csdn.net/weixin_43038622/article/details/84304620

你可能感兴趣的:(手语识别(二)----语音识别(百度)转手语视频)