基於深度學習的中文語音識別系統


最近看到一個開源項目,特地學習了下,實測后,語音識別系統的正確率大概75%左右,作為學習入門的資料還是不錯的,項目已上傳到github上,不過數據集和生成的模型由於文件太大,上傳失敗,隨后存在百度網盤,自行下載哈,普通電腦真傷,跑了三天,還是gpu快點。

查看本項目的Wiki文檔

如果程序運行期間或使用中有什么問題,可以及時在issue中提出來,我將盡快做出答復。本項目作者交流QQ群:867888133

提問前可以先 查看常見問題 避免重復提問

ASRT的原理請查看本文:

關於經常被問到的統計語言模型原理的問題,請看:

Introduction 簡介

本項目使用Keras、TensorFlow基於深度卷積神經網絡和長短時記憶神經網絡、注意力機制以及CTC實現。

This project uses Keras, TensorFlow based on deep convolutional neural network and long-short memory neural network, attention mechanism and CTC to implement.

  • 操作步驟

首先通過Git將本項目克隆到您的計算機上,然后下載本項目訓練所需要的數據集,下載鏈接詳見文檔末尾部分

$ git clone https://github.com/nl8590687/ASRT_SpeechRecognition.git

或者您也可以通過 "Fork" 按鈕,將本項目Copy一份副本,然后通過您自己的SSH密鑰克隆到本地。

通過git克隆倉庫以后,進入項目根目錄;並創建子目錄 dataset/ (可使用軟鏈接代替),然后將下載好的數據集直接解壓進去

注意,當前版本中,Thchs30和ST-CMDS兩個數據集都必須下載使用,缺一不可,並且使用其他數據集需要修改代碼。

$ cd ASRT_SpeechRecognition

$ mkdir dataset

$ tar zxf <數據集壓縮文件名> -C dataset/ 

然后需要將datalist目錄下的文件全部拷貝到 dataset/ 目錄下,也就是將其跟數據集放在一起。

$ cp -rf datalist/* dataset/

目前可用的模型有24、25和251

運行本項目之前,請安裝必要的Python3版依賴庫

本項目開始訓練請執行:

$ python3 train_mspeech.py

本項目開始測試請執行:

$ python3 test_mspeech.py

測試之前,請確保代碼中填寫的模型文件路徑存在。

ASRT API服務器啟動請執行:

$ python3 asrserver.py

請注意,開啟API服務器之后,需要使用本ASRT項目對應的客戶端軟件來進行語音識別,詳見Wiki文檔ASRT客戶端Demo

如果要訓練和使用模型251,請在代碼中 import SpeechModel 的相應位置做修改。

Model 模型

Speech Model 語音模型

CNN + LSTM/GRU + CTC

其中,輸入的音頻的最大時間長度為16秒,輸出為對應的漢語拼音序列

  • 關於下載已經訓練好的模型的問題

可以在Github本倉庫下releases里面的查看發布的各個版本軟件的壓縮包里獲得包含已經訓練好模型參數的完整源程序。

Language Model 語言模型

基於概率圖的最大熵隱馬爾可夫模型

輸入為漢語拼音序列,輸出為對應的漢字文本

About Accuracy 關於准確率

當前,最好的模型在測試集上基本能達到80%的漢語拼音正確率

不過由於目前國際和國內的部分團隊能做到98%,所以正確率仍有待於進一步提高

Python Import

Python的依賴庫

  • python_speech_features
  • TensorFlow
  • Keras
  • Numpy
  • wave
  • matplotlib
  • math
  • Scipy
  • h5py
  • http
  • urllib

Data Sets 數據集

特別鳴謝!感謝前輩們的公開語音數據集

如果提供的數據集鏈接無法打開和下載,請點擊該鏈接 OpenSLR

測試了一段語音:“我們群里兄弟姐妹都在說”,整體還行,實際應用還存在差距!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM