问题描述
语音识别问题首先可以通过深度学习方法,训练语言模型后进行音频识别,但该方法要求设备内存足够大,训练时间通常较久,后期有时间的话会再学习使用;
另外就是离线识别方法——使用python自带语音包,对于简单音频的识别率还可以;
联网识别方法——调用各大已经实现语音识别功能网站的接口,目前人家做得已经很成熟了,比较常见的有百度、讯飞,这里使用的标贝科技也不错,具体参数可以去官网查询使用。
查阅很多资料,有些代码是不能用的,这里就直接给出测试过的代码了,都是python语言,别的知识自己去查吧
SpeechRecognition
支持音频文件类型:
- WAV: 必须是 PCM/LPCM 格式
- AIFF
- AIFF-CFLAC: 必须是初始 FLAC 格式;OGG-FLAC 格式不可用
# 终端安装
pip3 install SpeechRecognition
pip3 install pocketsphinx
# 若要访问麦克风则必须安装 PyAudio 软件包
pip3 install PyAudio
# 以下识别中文需要添加中文语音包,可以去查询获取
# 离线识别
# -*- coding: utf-8 -*-
import speech_recognition as sr
from os import path
audio_file = path.join(path.dirname(path.realpath('C:/Users/263000/Desktop/')), 'C:/Users/263000/Desktop/test.mp3')
r = sr.Recognizer()
with sr.AudioFile(audio_file) as source:
audio = r.record(source)
r = sr.Recognizer()
try:
print(" 音频内容为: " + r.recognize_sphinx(audio, language='zh-CN'))
except sr.UnknownValueError:
print('Sphinx could not understand audio')
except sr.RequestError as e:
print('Sphinx error; {0}'.format(e))
# print('文本内容: ', r.recognize_sphinx(audio,language='zh-CN')) #汉语
# print('文本内容: ', r.recognize_sphinx(audio)) # 英语
# 在线识别
# -*- coding: u