• Stars
    star
    108
  • Rank 321,259 (Top 7 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Mandarin ASR system based on tensorflow

基于tensorflow的语音识别系统

简介

基于 tensorflow 的中文语音识别框架, 模型结构参考 百度Deepspeech2 的论文,训练语料采用Aishell 170 小时数据. 模型结构如下图所示:


百度Deepspeech2 语音识别模型结构

目前模型训练存在不收敛情况,正在调参研究中

安装

Prerequisites

  • 本程序基于 Python2.7
  • Tensorflow 版本应大于1.3,否则tf.nn.softmax等函数可能报错

Setup

  • 安装以下依赖库 pkg-config, flac, ogg, vorbis, boost and swig,在Ubuntu 环境下可以通过apt-get 进行安装 ''' sudo apt-get install -y pkg-config libflac-dev libogg-dev libvorbis-dev libboost-dev swig '''

运行

  • 进入conf文件夹,修改 hyparam.py 中的模型参数
  • 进入example/aishell 修改 run_data.sh 内相关存储路径后,运行该脚本生成 manfest.{train,dev,test} 文件、vocab.txt以及 mean_std.npz
  • 运行 train.py 训练模型
  • 运行test.py 进行测试

server/client 运行

  • 打开 ./demo_client.sh or ./demo_server.sh 文件配置 IP、端口等信息
  • 执行 ./demo_server.sh 启动服务器
  • 执行 ./demo_client.sh 启动客户端
  • 在客户端内,持续按空格进行录音,松开空格后发送音频到服务器端进行语音识别

语言模型

语言模型采用的是百度提供的中文语言模型,由KenLM工具生成并剪枝得到。详情请查看Mandarin LM

语言模型参数

语言模型用于测试和使用阶段的解码。因此当声学模型训练时,语言模型的参数也需要进行改变。hyparam里的参数只是随手写的...

TODO

  • 对模型进行调参或结构调整使其能够使用。

Ref

xxbb1234021/speech_recognitionPaddlePaddle/Deepspeech2为基础进行修改