语音识别技术随着神经网络的兴起和发展,准确率得到了很大的改善,在很多场景下都可以逐步商用落地了,很多公司也组建了语音团队。其实在github上,语音识别相关的项目也是层出不穷,其中的一些项目的质量很高,如果好好借鉴学习的话可以避免从头造轮子,毕竟造轮子也不是那么容易的 = =!。在这里,对一些比较流行的项目做一些汇总和简单介绍。
-
ASR
1.1 kaldihttps://github.com/kaldi-asr/kaldi
最流行的语音识别工具包,不过比较古老了,在神经网络时代有些落后,目前作者Daniel Povey 在小米在major update,期待下一代kaldi
1.2 espnet
https://github.com/espnet/espnet
espnet是基于pytorch的端到端语音工具包,不仅包括ASR还包括了TTS。espnet使用kaldi进行特征提取等,espnet2不再依赖kaldi,不过espnet2下的recipe还不是很多。espnet和kaldi一样有很多egs,并且包括了各种主流的端到端方法,比如CTC,RNN-T, Transformer等。是学习试验端到端方法很好的工具。
1.3 其他
1.3.1 wenet
https://github.com/mobvoi/wenet
出门问问开源的ASR toolkit,实现了 Unified Two Pass (U2) 流式和非流式端到端模型,基于pytorch,可以同时部署在服务器和端上。有aishell-1的例子,中文语音识别可以学习借鉴
1.3.2 wav2letter
https://github.com/facebookresearch/wav2letter
C++实现的语音识别框架,运行效率高
1.3.3 pytorch-kaldi
https://github.com/mravanelli/pytorch-kaldi
用pytorch代替了kaldi中的神经网络部分,特征提取和解码等还是使用kaldi,没在维护了
1.3.4 tf-seq2seq
https://github.com/google/seq2seq
tensorflow实现的一些端到端模型,没在维护了
1.3.5 speech-transformer
https://github.com/kaituoxu/Speech-Transformer
pytorch实现的transformer中文语音识别(aishell)
- KWS
2.1 ARM-KWS
https://github.com/ARM-software/ML-KWS-for-MCU
arm开源的在他们mcu上的kws,英文识别,输出的单元整个英文WORD
2.2 kws(你好小瓜)
https://github.com/robin1001/kws_on_android
西工大张彬彬开源的中文唤醒(你好小瓜),中文语音唤醒可以借鉴,采用fbank + dnn + fst的方案。