最近開始自己搭建中文語音識別系統,因為也是初級階段,所以比較難,直到在GitHub上找到壹個已經在做的開源項目,找到了做下去的動力。附上原作者項目的GitHub地址:基於深度學習的中文語音識別系統。
這個作者很善良,給了我很多啟發。然後我在這裏附上自己項目的地址:ASR。
現在該項目仍處於起步階段。雖然取得了壹些成果,但不是很好。我們還在做壹些調整。當有好的結果時,我們會更新GitHub。現在,我們就用這篇文章來梳理壹下建設思路。
首先,我先介紹壹下我使用的數據集。
我使用的數據集是清華大學THCHS30漢語拼音數據集。
Data_thchs30.tgz OpenSLR國內圖片OpenSLR國外圖片
關於這個數據集的介紹,請參考THCHS-30:免費中文語料庫。
在這個數據集中,訓練集、驗證集和測試集已經被劃分(分別在train、dev和test的文件夾中),其中訓練集有10000個樣本,驗證集有893個樣本,測試集有2495個樣本,每個樣本大約是10秒的語音段。
文件夾thchs30包含索引文件(cv和dev好像是壹樣的)。
Wav.txt是音頻文件的相對路徑。
壹般來說,語音識別的共同特征是MFCC、Fbank和聲譜圖。
本項目臨時使用80維Fbank特征,使用python_speech_features庫提取特征,提取特征保存為npy文件。
在前壹篇文章中詳細介紹了特征提取:使用python_speech_features提取音頻文件特征。
將標簽中的拼音轉換成數字,例如:a1為0,a2為1,以此類推。
以第壹個數據為例:
楊春65438+楊65438+張65438+李65438+張
轉換成相應的號碼列表是:
597 910 1126 159 1121 451 191 505 1051 1209 208 215 874 939 1 168 208 570 599 325 910 597 208 1072 420 1099 634 907 1140 14 829
類似地,標簽也被保存到npy文件中。
我們在這個系統中使用的深度學習模型被稱為科大訊飛提出的深度卷積神經網絡。
神經網絡(DFCNN)模型,論文地址:語音識別技術的研究進展與展望。
他的結構圖如下:
對於損失函數,此處選擇CTCLoss。
待更新....