前期知识储备
对语音识别是零基础,所以第一步语音特征提取也需要进行一些了解。本人有图像识别、深度学习基础,实习因为项目需要,需要对语音识别做一个整合梳理。
论语音识别三大技术
结构图
语音特征提取
语音 特征提取 将普通的wav语音信号通过分帧加窗等操作转换为神经网络需要的二维频谱图像信号,即语谱图。
有一份特别好的教程,很细节的说了一些基础相关知识。适合一样零基础的小白。
jupyter 教程地址
更多细节
加窗:指的是构造汉明窗
汉明窗
还有各种不是很明白的点可以自行查找。
各个模型的尝试
就不在赘述环境配置问题,以下模型的环境配置和安装大多都在网上有解决方案。
ASRT
基于深度学习的中文语音识别系统
本项目声学模型通过采用卷积神经网络(CNN)和连接性时序分类(CTC)方法,使用大量中文语音数据集进行训练,将声音转录为中文拼音,并通过语言模型,将拼音序列转换为中文文本。算法模型在测试集上已经获得了80%的正确率。基于该模型,在Windows平台上实现了一个基于ASRT的语音识别应用软件,取得了较好应用效果。这个应用软件包含Windows 10 UWP商店应用和Windows 版.Net平台桌面应用,也一起开源在GitHub上了。
DEMO 预览
模型原理
我使用这个模型中统计模型的声学模型效果很差,但是语言模型使用拼音转文本的效果还可以。我打算单独把单独的语言模型拿出来用,Language Model
DeepSpeechRecognition
基于深度学习的中文语音识别系统
同样是使用CNN+DNN+CNN
模型原理
论文
通过这个框架模型的教程,我一步步大概了解了语音识别的结构。我使用了该模型的声学模型,使用清华大学THCHS30中文语音数据集
有各种详细数据集介绍
这个开源小模型反而效果很好,在环境和发音都较为清楚的情况下,效果比一些复杂的大框架还要有用。ps:可能是我配置或者哪里不对,如果有大佬,可以留言一起讨论。
Wenet
wenet 工业开源落地做的比较成熟的 部署和demo都很齐全,很大程度上降低了asrt的门槛!也由此了解到了西北工业大学,可以关注一下对应的公众号。很多科普和入门的知识点
whisper
openai的whisper 看到openai就不用过多的赘述了吧
语音纠错
pycorrector
介绍的很明白了,就不再多赘述了。
TTS 文本转语音
pyttsx3
离线非API SDK 的文本转语音Python库