最近看到一個開源項目,特地學習了下,實測后,語音識別系統的正確率大概75%左右,作為學習入門的資料還是不錯的,項目已上傳到github上,不過數據集和生成的模型由於文件太大,上傳失敗,隨后存在百度網盤,自行下載哈,普通電腦真傷,跑了三天,還是gpu快點。
如果程序運行期間或使用中有什么問題,可以及時在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 數據集
-
清華大學THCHS30中文語音數據集
data_thchs30.tgz OpenSLR國內鏡像 OpenSLR國外鏡像
test-noise.tgz OpenSLR國內鏡像 OpenSLR國外鏡像
resource.tgz OpenSLR國內鏡像 OpenSLR國外鏡像
-
Free ST Chinese Mandarin Corpus
ST-CMDS-20170001_1-OS.tar.gz OpenSLR國內鏡像 OpenSLR國外鏡像
-
AIShell-1 開源版數據集
data_aishell.tgz OpenSLR國內鏡像 OpenSLR國外鏡像
注:數據集解壓方法
$ tar xzf data_aishell.tgz $ cd data_aishell/wav $ for tar in *.tar.gz; do tar xvf $tar; done
-
Primewords Chinese Corpus Set 1
primewords_md_2018_set1.tar.gz OpenSLR國內鏡像 OpenSLR國外鏡像
-
aidatatang_200zh
aidatatang_200zh.tgz OpenSLR國內鏡像 OpenSLR國外鏡像
-
MagicData
train_set.tar.gz OpenSLR國內鏡像 OpenSLR國外鏡像
dev_set.tar.gz OpenSLR國內鏡像 OpenSLR國外鏡像
test_set.tar.gz OpenSLR國內鏡像 OpenSLR國外鏡像
metadata.tar.gz OpenSLR國內鏡像 OpenSLR國外鏡像
特別鳴謝!感謝前輩們的公開語音數據集
如果提供的數據集鏈接無法打開和下載,請點擊該鏈接 OpenSLR
測試了一段語音:“我們群里兄弟姐妹都在說”,整體還行,實際應用還存在差距!!!